From 43f618fedd2745bb72400ff810786d435c974a17 Mon Sep 17 00:00:00 2001 From: Phenom Date: Sat, 18 Jun 2016 23:10:12 +0200 Subject: [PATCH 001/158] Fix UnitTest Compilation --- .../gxs/gen_exchange/rsdummyservices.h | 2 +- .../gxs/security/gxssecurity_test.cc | 6 +++--- .../libretroshare/serialiser/support.cc | 18 +++++++++--------- .../libretroshare/serialiser/support.h | 4 ++-- .../libretroshare/serialiser/tlvrandom_test.cc | 6 +++--- 5 files changed, 18 insertions(+), 18 deletions(-) diff --git a/tests/unittests/libretroshare/gxs/gen_exchange/rsdummyservices.h b/tests/unittests/libretroshare/gxs/gen_exchange/rsdummyservices.h index d1ce8f0a9..4235f0ac8 100644 --- a/tests/unittests/libretroshare/gxs/gen_exchange/rsdummyservices.h +++ b/tests/unittests/libretroshare/gxs/gen_exchange/rsdummyservices.h @@ -155,7 +155,7 @@ public: * @return a pointer to a valid profile if successful, otherwise NULL * */ - bool getKey(const RsGxsId &id, RsTlvPrublicRSAKey& key){ return false; } + bool getKey(const RsGxsId &id, RsTlvPublicRSAKey& key){ return false; } bool getPrivateKey(const RsGxsId &id, RsTlvPrivateRSAKey& key){ return false; } // For signing outgoing messages. private: diff --git a/tests/unittests/libretroshare/gxs/security/gxssecurity_test.cc b/tests/unittests/libretroshare/gxs/security/gxssecurity_test.cc index 238f2dc50..35a800e38 100644 --- a/tests/unittests/libretroshare/gxs/security/gxssecurity_test.cc +++ b/tests/unittests/libretroshare/gxs/security/gxssecurity_test.cc @@ -35,8 +35,8 @@ TEST(libretroshare_gxs, GxsSecurity) { - RsTlvSecurityKey_deprecated pub_key ; - RsTlvSecurityKey_deprecated priv_key ; + RsTlvPublicRSAKey pub_key ; + RsTlvPrivateRSAKey priv_key ; EXPECT_TRUE(GxsSecurity::generateKeyPair(pub_key,priv_key)) ; @@ -45,7 +45,7 @@ TEST(libretroshare_gxs, GxsSecurity) EXPECT_TRUE( pub_key.keyId == priv_key.keyId ); EXPECT_TRUE( pub_key.startTS == priv_key.startTS ); - RsTlvSecurityKey_deprecated pub_key2 ; + RsTlvPublicRSAKey pub_key2 ; EXPECT_TRUE(GxsSecurity::extractPublicKey(priv_key,pub_key2)) ; EXPECT_TRUE( pub_key.keyId == pub_key2.keyId ); diff --git a/tests/unittests/libretroshare/serialiser/support.cc b/tests/unittests/libretroshare/serialiser/support.cc index a46689255..da20ec41e 100644 --- a/tests/unittests/libretroshare/serialiser/support.cc +++ b/tests/unittests/libretroshare/serialiser/support.cc @@ -67,10 +67,10 @@ void init_item(RsTlvSecurityKeySet& ks) randString(SHORT_STR, ks.groupId); for(int i=1; i::const_iterator l_cit = l.keys.begin(), - r_cit = r.keys.begin(); + std::map::const_iterator l_cit = l.public_keys.begin(), + r_cit = r.public_keys.begin(); - for(; l_cit != l.keys.end(); l_cit++, r_cit++){ + for(; l_cit != l.public_keys.end(); l_cit++, r_cit++){ if(l_cit->first != r_cit->first) return false; if(!(l_cit->second == r_cit->second)) return false; } @@ -94,7 +94,7 @@ bool operator==(const RsTlvSecurityKeySet& l, const RsTlvSecurityKeySet& r) -bool operator==(const RsTlvSecurityKey_deprecated& sk1, const RsTlvSecurityKey_deprecated& sk2) +bool operator==(const RsTlvPublicRSAKey& sk1, const RsTlvPublicRSAKey& sk2) { if(sk1.startTS != sk2.startTS) return false; @@ -183,14 +183,14 @@ bool operator==(const RsTlvBinaryData& bd1, const RsTlvBinaryData& bd2) } -void init_item(RsTlvSecurityKey_deprecated& sk) +void init_item(RsTlvPublicRSAKey& sk) { int randnum = rand()%313131; sk.endTS = randnum; sk.keyFlags = randnum; sk.startTS = randnum; - sk.keyId = RsGxsId::random(); + sk.keyId = RsGxsId::random(); std::string randomStr; randString(LARGE_STR, randomStr); diff --git a/tests/unittests/libretroshare/serialiser/support.h b/tests/unittests/libretroshare/serialiser/support.h index 0af3a3ebf..ea886246a 100644 --- a/tests/unittests/libretroshare/serialiser/support.h +++ b/tests/unittests/libretroshare/serialiser/support.h @@ -58,7 +58,7 @@ void randString(const uint32_t, std::wstring&); /* for testing compound tlv items */ -void init_item(RsTlvSecurityKey_deprecated&); +void init_item(RsTlvPublicRSAKey&); void init_item(RsTlvSecurityKeySet&); void init_item(RsTlvKeySignature&); void init_item(RsTlvKeySignatureSet&); @@ -70,7 +70,7 @@ void init_item(RsTlvPeerIdSet&); void init_item(RsTlvImage&); void init_item(RsTlvPeerIdSet&); -bool operator==(const RsTlvSecurityKey_deprecated&, const RsTlvSecurityKey_deprecated& ); +bool operator==(const RsTlvPublicRSAKey&, const RsTlvPublicRSAKey& ); bool operator==(const RsTlvSecurityKeySet&, const RsTlvSecurityKeySet& ); bool operator==(const RsTlvKeySignature&, const RsTlvKeySignature& ); bool operator==(const RsTlvBinaryData&, const RsTlvBinaryData&); diff --git a/tests/unittests/libretroshare/serialiser/tlvrandom_test.cc b/tests/unittests/libretroshare/serialiser/tlvrandom_test.cc index 60483e5e3..c861516e7 100644 --- a/tests/unittests/libretroshare/serialiser/tlvrandom_test.cc +++ b/tests/unittests/libretroshare/serialiser/tlvrandom_test.cc @@ -65,10 +65,10 @@ bool test_SetTlvItem(RsTlvItem *item, uint16_t type, void *data, uint32_t size, int test_TlvRandom(void *data, uint32_t len, uint32_t offset) { - uint32_t tmpoffset = 0; + //uint32_t tmpoffset = 0; /* List of all the TLV types it could be! */ - RsTlvSecurityKey_deprecated skey; + RsTlvPublicRSAKey skey; RsTlvSecurityKeySet skeyset; RsTlvKeySignature keysign; @@ -114,7 +114,7 @@ int test_TlvRandom(void *data, uint32_t len, uint32_t offset) EXPECT_TRUE(test_SetTlvItem(&kv, TLV_TYPE_KEYVALUE, data, len, offset)); EXPECT_TRUE(test_SetTlvItem(&kvset, TLV_TYPE_KEYVALUESET, data, len, offset)); std::cerr << "test_TlvRandom:: Testing Keys (TYPESET)" << std::endl; - EXPECT_TRUE(test_SetTlvItem(&skey, TLV_TYPE_SECURITYKEY_deprecated, data, len, offset)); + EXPECT_TRUE(test_SetTlvItem(&skey, TLV_TYPE_SECURITY_KEY, data, len, offset)); EXPECT_TRUE(test_SetTlvItem(&skeyset, TLV_TYPE_SECURITYKEYSET, data, len, offset)); EXPECT_TRUE(test_SetTlvItem(&keysign, TLV_TYPE_KEYSIGNATURE, data, len, offset)); From 0388162fd178810466d52a8e88e487487da1f27b Mon Sep 17 00:00:00 2001 From: Phenom Date: Sun, 19 Jun 2016 01:37:50 +0200 Subject: [PATCH 002/158] Change Build AppVeyor State to RetroShare/RetroShare. --- README.md | 2 +- appveyor.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index dfbc37137..4394180f0 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Build Status | Platform | Build Status | | :------------- | :------------- | | GNU/Linux, MacOS, (via travis-ci) | [![Build Status](https://travis-ci.org/RetroShare/RetroShare.svg?branch=master)](https://travis-ci.org/RetroShare/RetroShare) | -| Windows, `MSys2` (via appveyor) | [![Build status](https://ci.appveyor.com/api/projects/status/axkopdqj9fc48kwe?svg=true)](https://ci.appveyor.com/project/PhenomRetroShare/retroshare) | +| Windows, `MSys2` (via appveyor) | [![Build status](https://ci.appveyor.com/api/projects/status/fu7q0ye6pge53579?svg=true)](https://ci.appveyor.com/project/PhenomRetroShare/retroshare-59qxh) | Compilation on Windows ---------------------------- diff --git a/appveyor.yml b/appveyor.yml index 9ae64694e..6a4a4111f 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -12,7 +12,7 @@ #---------------------------------# # version format -version: RetroShare 6.0.{build}-{branch} +version: RetroShare 0.6.0.{build}-{branch} # you can use {branch} name in version format too # version: 1.0.{build}-{branch} From 24eb88aa0a1d848932d99debac5896ffd2c93101 Mon Sep 17 00:00:00 2001 From: csoler Date: Sat, 18 Jun 2016 20:38:48 -0400 Subject: [PATCH 003/158] added explicit comparisons for tests on RsGxsGrpMetaData and RsGxsMsgMetaData --- .../gxs/data_service/rsgxsdata_test.cc | 43 ++++++++++++++++++- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/tests/unittests/libretroshare/gxs/data_service/rsgxsdata_test.cc b/tests/unittests/libretroshare/gxs/data_service/rsgxsdata_test.cc index f2f75bb38..a6a822ed6 100644 --- a/tests/unittests/libretroshare/gxs/data_service/rsgxsdata_test.cc +++ b/tests/unittests/libretroshare/gxs/data_service/rsgxsdata_test.cc @@ -5,6 +5,45 @@ #include "libretroshare/gxs/common/data_support.h" #include "gxs/rsgxsdata.h" +bool testEqual(const RsGxsGrpMetaData& d1,const RsGxsGrpMetaData& d2) +{ + if(d1.mGroupId != d2.mGroupId ) return false ; + if(d1.mOrigGrpId != d2.mOrigGrpId ) return false ; + if(d1.mGroupName != d2.mGroupName ) return false ; + if(d1.mGroupFlags != d2.mGroupFlags ) return false ; + if(d1.mPublishTs != d2.mPublishTs ) return false ; + if(d1.mSignFlags != d2.mSignFlags ) return false ; + if(d1.mAuthorId != d2.mAuthorId ) return false ; + if(d1.mCircleId != d2.mCircleId ) return false ; + if(d1.mCircleType != d2.mCircleType ) return false ; + if(d1.mServiceString!= d2.mServiceString ) return false ; + if(d1.mAuthenFlags != d2.mAuthenFlags ) return false ; + if(d1.mParentGrpId != d2.mParentGrpId ) return false ; + + // if(d1.signSet != d2.signSet ) return false ; + // if(d1.keys != d2.keys ) return false ; + + return true ; +} +bool testEqual(const RsGxsMsgMetaData& d1,const RsGxsMsgMetaData& d2) +{ + if(d1.mGroupId != d2.mGroupId ) return false ; + if(d1.mMsgId != d2.mMsgId ) return false ; + if(d1.refcount != d2.refcount ) return false ; + if(d1.mThreadId != d2.mThreadId ) return false ; + if(d1.mPublishTs != d2.mPublishTs ) return false ; + if(d1.mParentId != d2.mParentId ) return false ; + if(d1.mOrigMsgId != d2.mOrigMsgId ) return false ; + if(d1.mAuthorId != d2.mAuthorId ) return false ; + if(d1.mServiceString!= d2.mServiceString ) return false ; + if(d1.mMsgName != d2.mMsgName ) return false ; + if(d1.mPublishTs != d2.mPublishTs ) return false ; + if(d1.mMsgFlags != d2.mMsgFlags ) return false ; + + // if(d1.signSet != d2.signSet ) return false ; + + return true ; +} TEST(libretroshare_gxs, RsGxsData) { @@ -26,7 +65,7 @@ TEST(libretroshare_gxs, RsGxsData) grpMeta2.clear(); ok &= grpMeta2.deserialise(grp_data, pktsize); - EXPECT_TRUE(grpMeta1 == grpMeta2); + EXPECT_TRUE(testEqual(grpMeta1 , grpMeta2)); pktsize = msgMeta1.serial_size(); char msg_data[pktsize]; @@ -35,7 +74,7 @@ TEST(libretroshare_gxs, RsGxsData) msgMeta2.clear(); ok &= msgMeta2.deserialise(msg_data, &pktsize); - EXPECT_TRUE(msgMeta1 == msgMeta2); + EXPECT_TRUE(testEqual(msgMeta1 , msgMeta2)); } From a05282ced995c58b56e7aff347d4072e3f2494a2 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 20 Jun 2016 14:17:11 -0400 Subject: [PATCH 004/158] updated ubuntu changelog --- build_scripts/Debian+Ubuntu/changelog | 113 ++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) diff --git a/build_scripts/Debian+Ubuntu/changelog b/build_scripts/Debian+Ubuntu/changelog index a58c88a97..0ba52a5ff 100644 --- a/build_scripts/Debian+Ubuntu/changelog +++ b/build_scripts/Debian+Ubuntu/changelog @@ -1,5 +1,118 @@ retroshare06 (0.6.0-1.XXXXXX~YYYYYY) YYYYYY; urgency=low + ddce43b csoler Sat, 18 Jun 2016 20:43:42 -0400 Merge pull request #422 from PhenomRetroShare/Fix_ReadMe.md + 24eb88a csoler Sat, 18 Jun 2016 20:38:48 -0400 added explicit comparisons for tests on RsGxsGrpMetaData and RsGxsMsgMetaData + 0388162 Phenom Sun, 19 Jun 2016 01:37:50 +0200 Change Build AppVeyor State to RetroShare/RetroShare. + bc04f3c csoler Sat, 18 Jun 2016 17:43:50 -0400 Merge pull request #421 from PhenomRetroShare/Fix_UnitTestCompilation + 43f618f Phenom Sat, 18 Jun 2016 23:10:12 +0200 Fix UnitTest Compilation + 07bda26 csoler Sat, 18 Jun 2016 16:27:15 -0400 fixed permission matrix widget crash + 35da9cb csoler Sat, 18 Jun 2016 15:36:03 -0400 Merge pull request #419 from PhenomRetroShare/Fix_ChannelNewsFeedWhenComment + 90a27f4 csoler Sat, 18 Jun 2016 15:33:10 -0400 Merge pull request #418 from sehraf/pr-improve-debug + d84fdff Phenom Sat, 18 Jun 2016 20:03:55 +0200 Fix GxsChannelPostItem when received comment. + 3cf1968 sehraf Sat, 18 Jun 2016 18:04:18 +0200 fixed p3msgservice.cc + d8235c6 sehraf Sat, 18 Jun 2016 13:08:14 +0200 removed dead code and cleanup + 09afbbe sehraf Sat, 18 Jun 2016 13:00:15 +0200 switched to new rslog method + 7627bd9 csoler Fri, 17 Jun 2016 22:53:05 -0400 Merge pull request #417 from csoler/v0.6-SecurityKeys + f57f620 csoler Fri, 17 Jun 2016 22:27:00 -0400 reduced database testing/cleaning frequency to 31/59 mins. + eb05922 csoler Fri, 17 Jun 2016 22:21:06 -0400 added a tooltip and read color for unsecure GXS identities. These are still supported for a few weeks at most. So get rid of them + 4df4bb6 csoler Fri, 17 Jun 2016 20:46:58 -0400 fixed removal of messages in unsubscribed groups + 886d896 csoler Fri, 17 Jun 2016 20:46:24 -0400 fixed warning about old fingerprint for own keys. + f6c5a05 sehraf Fri, 17 Jun 2016 11:09:59 +0200 switched to caller providing all needed information instead of saving those on callee side + cc6ae74 csoler Thu, 16 Jun 2016 23:17:40 -0400 fixed color of admin circles (we cannot use a bullet, since bullets are kept for Membership property) + 4d452bf csoler Thu, 16 Jun 2016 18:34:33 -0400 removed annoying warning in avatar widget + c25b650 csoler Thu, 16 Jun 2016 23:10:13 -0400 removed check key debug info + 25c0c9d csoler Thu, 16 Jun 2016 23:06:07 -0400 added systematic consistency checking of public/private RSA keys at deserialisation time + b9ba51f csoler Thu, 16 Jun 2016 22:23:27 -0400 improved naming of publish/admin rights in GroupTreeWidget + 8d54603 csoler Thu, 16 Jun 2016 21:27:28 -0400 fixed bug in private key extraction + dbd78d2 csoler Thu, 16 Jun 2016 20:19:03 -0400 merged with upstream/master + e28e972 sehraf Thu, 16 Jun 2016 21:26:02 +0200 removed dead code + 70662cf defnax Thu, 16 Jun 2016 18:41:56 +0200 Fixed some layout spacing + 656e7eb csoler Wed, 15 Jun 2016 23:27:30 -0400 Merge pull request #415 from PhenomRetroShare/Add_BuildStatusInReadme.md + c7da734 csoler Wed, 15 Jun 2016 21:38:14 -0400 Merge pull request #416 from csoler/v0.6-ContactList + e63f936 csoler Wed, 15 Jun 2016 21:33:27 -0400 improved strategy for removal of unused GXS ids with proper constants for unknown/signed/known ids. Forbid the stamping of banned keys. + da11995 defnax Wed, 15 Jun 2016 23:32:01 +0200 Clean up the Chat Toolbar Buttons Fixed display of Info Text on PGg details + 631a29c Phenom Wed, 15 Jun 2016 20:53:56 +0200 Add Build Status in ReadMe.md file. And add AppVeyor File. + 6b74a8a csoler Tue, 14 Jun 2016 21:54:09 -0400 added missing call to ssl_pendign in pqissludp. + c3eba4a csoler Tue, 14 Jun 2016 21:53:48 -0400 added missing serialisation call for peer bandwidth limits + 8c44e69 csoler Tue, 14 Jun 2016 21:53:06 -0400 added output of items which doesnot serialise correctly in pqisslstore + ceecdb2 csoler Tue, 14 Jun 2016 20:31:38 -0400 Merge pull request #414 from PhenomRetroShare/Add_MessageWhenSendingArgToOtherInstance + cedce2e csoler Tue, 14 Jun 2016 20:30:06 -0400 Merge pull request #260 from PhenomRetroShare/Add_SendAsPlainText_And_NoEmoteIcon_Button + 69e98b8 defnax Wed, 15 Jun 2016 00:08:45 +0200 Added count Invited Members to Create Circles Dialog. Changed some context menu icons for People list and Circles tree. Added icon when im Cir + ddbcd21 Phenom Wed, 27 Jan 2016 20:27:44 +0100 Add buttons to send message in plain text and without EmoteIcon. + 9b09187 Phenom Tue, 14 Jun 2016 15:10:15 +0200 Add message, when sending arguments to other instance, to disable this option. + 56e0797 csoler Mon, 13 Jun 2016 23:06:10 -0400 Merge pull request #413 from csoler/v0.6-Circles + e03c5df csoler Mon, 13 Jun 2016 22:38:51 -0400 improved GUI layout in circle creation box. Added tooltips + 600607d csoler Mon, 13 Jun 2016 22:14:09 -0400 added warning for old peers in circles + 8b954a2 csoler Mon, 13 Jun 2016 18:08:05 -0400 added names to upnp redirects to avoid router confusion (patch from ET) + fa29dd7 csoler Sun, 12 Jun 2016 21:41:09 -0400 changed the way RsGxsSyncMsgReqItem are sent for circle-restricted groups, using a hash of the group ID instead of encrypting the whole item, + 972de42 csoler Sat, 11 Jun 2016 18:07:57 -0400 converted static variable to class member in pqihandler + 34f49d4 csoler Sat, 11 Jun 2016 18:07:07 -0400 removed compilation warning + 248d0c4 csoler Sat, 11 Jun 2016 17:58:08 -0400 Merge pull request #412 from csoler/v0.6-MaxUpRate + ef4455a csoler Sat, 11 Jun 2016 17:54:11 -0400 cleaned the MaxUpRate branch from unused code + 8e75185 csoler Sat, 11 Jun 2016 17:21:04 -0400 made avgReadCount and avgSendCound to be uint32_t instead of floats, since they count bytes. Changes kb to 1024 instead of 1000 + eb9025d csoler Sat, 11 Jun 2016 17:20:22 -0400 removed annoying warning when a circle is empty + 373d41b csoler Sat, 11 Jun 2016 14:11:21 -0400 added missing variable def after previous commit + 23e8e93 csoler Sat, 11 Jun 2016 09:50:22 -0400 added mutex proteciton around mAvgLastUpdate to avoid it being changed by the constructor + 0d1d31a csoler Sat, 11 Jun 2016 09:33:11 -0400 added mutex protection around pqistreamer::getRates, since float r/w are not necessarily atomic + eba90a8 csoler Sat, 11 Jun 2016 09:24:33 -0400 Merge pull request #411 from PhenomRetroShare/Add_SIGFPE_Debug_DEFINES + afe23e7 csoler Sat, 11 Jun 2016 09:22:53 -0400 Merge pull request #410 from PhenomRetroShare/Fix_SIGFPE_InQProgressBar_PrintEvent + d649659 Phenom Sat, 11 Jun 2016 14:38:31 +0200 Add SIGFPE debug DEFINES. + 08258ca Phenom Sat, 11 Jun 2016 14:23:26 +0200 Fix SIGFPE in QProgressBar::paintEvent + d1be3f3 defnax Fri, 10 Jun 2016 13:40:24 +0200 Set a minimum column width + 83a1434 csoler Thu, 9 Jun 2016 23:23:51 -0400 fixed bug in setting MaxRate values + f5ad8b4 csoler Thu, 9 Jun 2016 23:13:07 -0400 moved node-wide options to node details + a4931ed csoler Thu, 9 Jun 2016 20:51:09 -0400 fixed setting/getting maxrates using pgp id + a07805b csoler Thu, 9 Jun 2016 20:41:27 -0400 moved bandwidth limits to the pgp level + 38b86c3 csoler Thu, 9 Jun 2016 18:12:04 -0400 improved debug output for early address rejection + 6b78275 csoler Wed, 8 Jun 2016 22:54:40 -0400 fixed bug in loading config file to set max rates + 5a0fa66 csoler Wed, 8 Jun 2016 22:44:28 -0400 added proper talking between pqihandler and GUI for maxrates fixing + 226e85c csoler Wed, 8 Jun 2016 21:00:26 -0400 added dropmenu entry in circles to allow admin to grant/deny membership + 509266a csoler Tue, 7 Jun 2016 22:38:24 -0400 removed some dead code + a1bbcd8 csoler Tue, 7 Jun 2016 22:06:32 -0400 fixed a few small issues in new peer rates + 20b6745 csoler Tue, 7 Jun 2016 21:48:22 -0400 added GUI and storage for max up/dn rates per peer + 0e85709 csoler Tue, 7 Jun 2016 11:00:34 -0400 Merge pull request #409 from sehraf/pr-upnp-version + 2d5883c sehraf Tue, 7 Jun 2016 16:30:39 +0200 add UPnP lib version + 1c1b7ac csoler Mon, 6 Jun 2016 22:55:23 -0400 attempt at fixing the crash when quitting RS (due to operator new not being able to allocate memory from deleted allocator + 54a0ca4 csoler Sun, 5 Jun 2016 15:49:33 -0400 added line in circle tooltip for visibility. Re-worked tooltip text a little bit + ee25596 csoler Sun, 5 Jun 2016 15:20:48 -0400 updated tooltip and names for self-restricted circles to "private" + 195ad4e csoler Sun, 5 Jun 2016 15:15:40 -0400 use grey bullet as a placeholder for circles without pending operations + 456b57b csoler Sun, 5 Jun 2016 13:17:30 -0400 Merge pull request #205 from pztrn/master + 9f2d6bd csoler Sun, 5 Jun 2016 13:02:13 -0400 Merge pull request #259 from heini/rhel_fedora_qt5 + e2e9ede csoler Sun, 5 Jun 2016 11:51:47 -0400 fixed initialization of memebrs in peerDetails + f1d69ad csoler Sun, 5 Jun 2016 11:26:29 -0400 Merge pull request #351 from PhenomRetroShare/Add_WebUI_ClearButtonOnBradCast + f55b283 csoler Sun, 5 Jun 2016 11:05:52 -0400 second pass over compilation warnings + 927f782 csoler Sun, 5 Jun 2016 10:43:57 -0400 pass over compiler warnings + c2ae4fc csoler Sun, 5 Jun 2016 10:06:11 -0400 merged upstream/master + 2567feb csoler Sun, 5 Jun 2016 09:54:26 -0400 fixed compilation broken by using deprecated Qt method + a2ca038 csoler Sat, 4 Jun 2016 21:39:40 -0400 fixed compilation and several problems following separation of public/private keys + 0eb4e9e defnax Sat, 4 Jun 2016 21:27:20 +0200 - renamed label "restricted to group" to "restricted to circle" - changed icon + b2497cc csoler Sat, 4 Jun 2016 09:45:17 -0400 Merge pull request #406 from sehraf/pr-fixes-#2 + 24f619d csoler Sat, 4 Jun 2016 03:20:45 +0200 added missing include for debian squeeze + d8189d0 csoler Fri, 3 Jun 2016 21:11:12 -0400 moved placeholder text from .ui to .cpp to allow compilation with old Qt + 99f54a2 defnax Fri, 3 Jun 2016 19:16:59 +0200 Merge branch 'master' of https://github.com/RetroShare/RetroShare + 4300d87 defnax Fri, 3 Jun 2016 19:15:24 +0200 Set default Header Stylesheet for Circles + 814db7e csoler Fri, 3 Jun 2016 19:15:16 +0200 fixed possible uninitialised memory read + 4c986cd csoler Fri, 3 Jun 2016 19:03:10 +0200 attempt to fix the pthread_setname_np symbol issue. To be tested + 0d10603 sehraf Fri, 3 Jun 2016 09:02:19 +0200 fix build errors (return typ is a pointer and not boolean) + 590be09 csoler Thu, 2 Jun 2016 23:47:57 -0400 separated RsTlvSecurityKey into two incompatible classes to enforce the correct usage of private vs. public keys + 53eb4df csoler Thu, 2 Jun 2016 21:21:18 -0400 fixed compilation errors due to last merge operation + e2b5785 csoler Thu, 2 Jun 2016 21:15:51 -0400 merged PR403 with trunk + 10e0254 csoler Thu, 2 Jun 2016 20:23:22 -0400 fixed a few things to correct PR403 + 699b3cf csoler Thu, 2 Jun 2016 20:38:28 -0400 Merge pull request #402 from PhenomRetroShare/Fix_WindowsCompilationWithMksTemp + 5362fd3 csoler Thu, 2 Jun 2016 20:36:51 -0400 Merge pull request #401 from PhenomRetroShare/Fix_WindowsCompilationWithThreadName + 6f5693d csoler Thu, 2 Jun 2016 18:26:43 -0400 Merge pull request #405 from PhenomRetroShare/Fix_UnitTestsCompilation + 2c8d047 Phenom Thu, 2 Jun 2016 19:34:58 +0200 Fix UnitTests Compilation + 2f4f44e csoler Thu, 2 Jun 2016 09:36:50 -0400 added early discarding of incoming connection attempt (before SSL handshake) for blacklisted IPs + 6e38554 sehraf Thu, 2 Jun 2016 13:22:24 +0200 rename define UBUNTU to HAS_GNOME_KEYRING The name UBUNTU is misleading since it is only used to select the keyring backend (which is gnome key + 4f60c8c sehraf Thu, 2 Jun 2016 14:53:15 +0200 libretroshare: fix comparison between signed and unsigned integer + 8b788b2 sehraf Thu, 2 Jun 2016 14:44:33 +0200 libretroshare: fix member initialisation order + cfc0e70 sehraf Thu, 2 Jun 2016 14:42:32 +0200 libretroshare: remove unused variables + 005af47 Phenom Wed, 1 Jun 2016 22:37:05 +0200 Fix Compilation when mkstemp is not defined. + + -- Cyril Soler Mon, 20 Jun 2016 14:00:00 -0500 + +retroshare06 (0.6.0-1.20160601.1f8a6ee2~trusty) trusty; urgency=low + cbef014 csoler Sun, 29 May 2016 16:09:56 -0400 added regular test of circle auto-subscribe from cache, and auto-subscribe w 2bde81f csoler Sat, 28 May 2016 21:09:44 -0400 removed more debug info, improved tooltips ccd72cb csoler Sat, 28 May 2016 20:58:28 -0400 removed some debug info. Added information tooltips on circles and ids in ci From 3bb03ff89d91a0464e2a1ecb38186dc5c8f76c74 Mon Sep 17 00:00:00 2001 From: sehraf Date: Mon, 20 Jun 2016 22:30:51 +0200 Subject: [PATCH 005/158] Added new (optional) callback to libbitdht to ask upper layer if an IP is banned. In case this callback is implemented it will be used in favour of the built-in ban list. --- libbitdht/src/bitdht/bdfilter.cc | 28 +++++++++++++++++++++------- libbitdht/src/bitdht/bdfilter.h | 13 +++++++++---- libbitdht/src/bitdht/bdiface.h | 25 +++++++++++++++---------- libbitdht/src/bitdht/bdmanager.cc | 30 +++++++++++++++++++++++++----- libbitdht/src/bitdht/bdmanager.h | 3 +++ libbitdht/src/bitdht/bdnode.cc | 6 +++--- libbitdht/src/bitdht/bdnode.h | 5 +++-- libretroshare/src/dht/p3bitdht.cc | 23 +++++++++++++++++++++++ 8 files changed, 102 insertions(+), 31 deletions(-) diff --git a/libbitdht/src/bitdht/bdfilter.cc b/libbitdht/src/bitdht/bdfilter.cc index f536e74d8..5be9e1178 100644 --- a/libbitdht/src/bitdht/bdfilter.cc +++ b/libbitdht/src/bitdht/bdfilter.cc @@ -26,6 +26,7 @@ #include "bitdht/bdfilter.h" +#include "bitdht/bdmanager.h" #include "util/bdfile.h" #include @@ -39,7 +40,7 @@ **/ #define BDFILTER_ENTRY_DROP_PERIOD (7 * 24 * 3600) -bdFilter::bdFilter(const std::string &fname, const bdNodeId *ownid, uint32_t filterFlags, bdDhtFunctions *fns) +bdFilter::bdFilter(const std::string &fname, const bdNodeId *ownid, uint32_t filterFlags, bdDhtFunctions *fns, bdNodeManager *manager) { /* */ mOwnId = *ownid; @@ -49,6 +50,7 @@ bdFilter::bdFilter(const std::string &fname, const bdNodeId *ownid, uint32_t fi loadBannedIpFile() ; mFilterFlags = filterFlags; + mNodeManager = manager; } void bdFilter::writeBannedIpFile() @@ -220,16 +222,28 @@ void bdFilter::getFilteredPeers(std::list& peers) /* fast check if the addr is in the structure */ int bdFilter::addrOkay(struct sockaddr_in *addr) { - std::map::const_iterator it = mFiltered.find(addr->sin_addr.s_addr); + // first check upper layer + bool isAvailable, isBanned; + mNodeManager->doIsBannedCallback(addr, &isAvailable, &isBanned); - if (it == mFiltered.end()) - return 1; // Address is Okay! + if(isAvailable) { +#ifdef DEBUG_FILTER + std::cerr << "bdFilter::addrOkay addr: " << inet_ntoa(addr->sin_addr) << " result from upper layer: " << (isBanned ? "banned" : "ok") << std::endl; +#endif + return !isBanned; + } else { + // fallback to own ban list + + std::map::const_iterator it = mFiltered.find(addr->sin_addr.s_addr); + if (it == mFiltered.end()) + return 1; // Address is Okay + } #ifdef DEBUG_FILTER - std::cerr << "Detected Packet From Banned Ip Address: " << inet_ntoa(addr->sin_addr); - std::cerr << std::endl; + std::cerr << "Detected Packet From Banned Ip Address: " << inet_ntoa(addr->sin_addr); + std::cerr << std::endl; #endif - return 0; + return 0; } diff --git a/libbitdht/src/bitdht/bdfilter.h b/libbitdht/src/bitdht/bdfilter.h index b67127050..7c1d940d3 100644 --- a/libbitdht/src/bitdht/bdfilter.h +++ b/libbitdht/src/bitdht/bdfilter.h @@ -47,10 +47,12 @@ class bdFilteredPeer time_t mLastSeen; }; +class bdNodeManager; + class bdFilter { public: - bdFilter(const std::string& fname,const bdNodeId *ownid, uint32_t filterFlags, bdDhtFunctions *fns); + bdFilter(const std::string& fname, const bdNodeId *ownid, uint32_t filterFlags, bdDhtFunctions *fns, bdNodeManager *manager); // get the answer. //bool filtered(std::list &answer); @@ -77,9 +79,12 @@ bool isOwnIdWithoutBitDhtFlags(const bdId *id, uint32_t peerFlags); bdNodeId mOwnId; uint32_t mFilterFlags; - std::map mFiltered; - bdDhtFunctions *mFns; - std::string mFilename ; + std::map mFiltered; + bdDhtFunctions *mFns; + std::string mFilename ; + + // have access to the manager for isBanned callback + bdNodeManager* mNodeManager; }; diff --git a/libbitdht/src/bitdht/bdiface.h b/libbitdht/src/bitdht/bdiface.h index 08582629e..f6f47126c 100644 --- a/libbitdht/src/bitdht/bdiface.h +++ b/libbitdht/src/bitdht/bdiface.h @@ -337,20 +337,25 @@ class BitDhtCallback public: // ~BitDhtCallback(); - // dummy cos not needed for standard dht behaviour; -virtual int dhtNodeCallback(const bdId * /*id*/, uint32_t /*peerflags*/) { return 0; } + // dummy cos not needed for standard dht behaviour; + virtual int dhtNodeCallback(const bdId * /*id*/, uint32_t /*peerflags*/) { return 0; } - // must be implemented. -virtual int dhtPeerCallback(const bdId *id, uint32_t status) = 0; -virtual int dhtValueCallback(const bdNodeId *id, std::string key, uint32_t status) = 0; + // must be implemented. + virtual int dhtPeerCallback(const bdId *id, uint32_t status) = 0; + virtual int dhtValueCallback(const bdNodeId *id, std::string key, uint32_t status) = 0; - // connection callback. Not required for basic behaviour, but forced for initial development. -virtual int dhtConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId *destId, - uint32_t mode, uint32_t point, uint32_t param, uint32_t cbtype, uint32_t errcode) = 0; /* { return 0; } */ + // connection callback. Not required for basic behaviour, but forced for initial development. + virtual int dhtConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId *destId, + uint32_t mode, uint32_t point, uint32_t param, uint32_t cbtype, uint32_t errcode) = 0; /* { return 0; } */ - // Generic Info callback - initially will be used to provide bad peers. -virtual int dhtInfoCallback(const bdId *id, uint32_t type, uint32_t flags, std::string info) = 0; + // Generic Info callback - initially will be used to provide bad peers. + virtual int dhtInfoCallback(const bdId *id, uint32_t type, uint32_t flags, std::string info) = 0; + // ask upper layer whether an IP is banned or not + // must not be implemented + // when set it will be used instead of the own ban list + // return code is used to express availability/absence + virtual int dhtIsBannedCallback(const sockaddr_in */*addr*/, bool */*isBanned*/) { return 0;} }; diff --git a/libbitdht/src/bitdht/bdmanager.cc b/libbitdht/src/bitdht/bdmanager.cc index c40c3ef0d..4fb1e4709 100644 --- a/libbitdht/src/bitdht/bdmanager.cc +++ b/libbitdht/src/bitdht/bdmanager.cc @@ -69,7 +69,7 @@ bdNodeManager::bdNodeManager(bdNodeId *id, std::string dhtVersion, std::string bootfile, const std::string& filterfile,bdDhtFunctions *fns) - :bdNode(id, dhtVersion, bootfile, filterfile, fns) + :bdNode(id, dhtVersion, bootfile, filterfile, fns, this) { mMode = BITDHT_MGR_STATE_OFF; mFns = fns; @@ -1179,10 +1179,9 @@ void bdNodeManager::doPeerCallback(const bdId *id, uint32_t status) void bdNodeManager::doValueCallback(const bdNodeId *id, std::string key, uint32_t status) { +#ifdef DEBUG_MGR std::cerr << "bdNodeManager::doValueCallback()"; std::cerr << std::endl; - -#ifdef DEBUG_MGR #endif /* search list */ std::list::iterator it; @@ -1196,10 +1195,9 @@ void bdNodeManager::doValueCallback(const bdNodeId *id, std::string key, uint32_ void bdNodeManager::doInfoCallback(const bdId *id, uint32_t type, uint32_t flags, std::string info) { +#ifdef DEBUG_MGR std::cerr << "bdNodeManager::doInfoCallback()"; std::cerr << std::endl; - -#ifdef DEBUG_MGR #endif /* search list */ std::list::iterator it; @@ -1210,6 +1208,28 @@ void bdNodeManager::doInfoCallback(const bdId *id, uint32_t type, uint32_t flags return; } +void bdNodeManager::doIsBannedCallback(const sockaddr_in *addr, bool *isAvailable, bool *isBanned) +{ +#ifdef DEBUG_MGR + std::cerr << "bdNodeManager::doIsBannedCallback()"; + std::cerr << std::endl; +#endif + /* search list */ + std::list::iterator it; + *isBanned = false; + *isAvailable = false; + for(it = mCallbacks.begin(); it != mCallbacks.end(); it++) + { + // set isBanned to true as soon as one callback answers with true + bool banned; + if((*it)->dhtIsBannedCallback(addr, &banned)) + { + *isBanned = *isBanned || banned; + *isAvailable = true; + } + } +} + #define BITDHT_IDENTITY_STRING_V1 "d1:" #define BITDHT_IDENTITY_SIZE_V1 3 diff --git a/libbitdht/src/bitdht/bdmanager.h b/libbitdht/src/bitdht/bdmanager.h index 68a6d4d64..d3ddb587f 100644 --- a/libbitdht/src/bitdht/bdmanager.h +++ b/libbitdht/src/bitdht/bdmanager.h @@ -153,6 +153,9 @@ virtual void callbackConnect(bdId *srcId, bdId *proxyId, bdId *destId, int isBitDhtPacket(char *data, int size, struct sockaddr_in &from); + // this function is used by bdFilter (must be public!) +void doIsBannedCallback(const sockaddr_in *addr, bool *isAvailable, bool* isBanned); + private: diff --git a/libbitdht/src/bitdht/bdnode.cc b/libbitdht/src/bitdht/bdnode.cc index fb6f35fb2..f7ae5e220 100644 --- a/libbitdht/src/bitdht/bdnode.cc +++ b/libbitdht/src/bitdht/bdnode.cc @@ -70,10 +70,10 @@ #define HISTORY_PERIOD 60 -bdNode::bdNode(bdNodeId *ownId, std::string dhtVersion, const std::string& bootfile, const std::string& filterfile, bdDhtFunctions *fns) +bdNode::bdNode(bdNodeId *ownId, std::string dhtVersion, const std::string& bootfile, const std::string& filterfile, bdDhtFunctions *fns, bdNodeManager *manager) :mNodeSpace(ownId, fns), - mFilterPeers(filterfile,ownId, BITDHT_FILTER_REASON_OWNID, fns), - mQueryMgr(NULL), + mFilterPeers(filterfile,ownId, BITDHT_FILTER_REASON_OWNID, fns, manager), + mQueryMgr(NULL), mConnMgr(NULL), mOwnId(*ownId), mDhtVersion(dhtVersion), mStore(bootfile, fns), mFns(fns), mFriendList(ownId), mHistory(HISTORY_PERIOD) diff --git a/libbitdht/src/bitdht/bdnode.h b/libbitdht/src/bitdht/bdnode.h index 77ee0d9ae..5acb1255b 100644 --- a/libbitdht/src/bitdht/bdnode.h +++ b/libbitdht/src/bitdht/bdnode.h @@ -85,6 +85,7 @@ output -> call back to Udp(). *********/ class bdFilteredPeer ; +class bdNodeManager; class bdNodeNetMsg { @@ -122,7 +123,7 @@ class bdNode: public bdNodePublisher public: bdNode(bdNodeId *id, std::string dhtVersion, const std::string& bootfile, const std::string& filterfile, - bdDhtFunctions *fns); + bdDhtFunctions *fns, bdNodeManager* manager); void init(); /* sets up the self referential classes (mQueryMgr & mConnMgr) */ @@ -243,7 +244,7 @@ void recvPkt(char *msg, int len, struct sockaddr_in addr); protected: bdSpace mNodeSpace; - bdFilter mFilterPeers; + bdFilter mFilterPeers; bdQueryManager *mQueryMgr; bdConnectManager *mConnMgr; diff --git a/libretroshare/src/dht/p3bitdht.cc b/libretroshare/src/dht/p3bitdht.cc index bbbeb9ad4..02bdae308 100644 --- a/libretroshare/src/dht/p3bitdht.cc +++ b/libretroshare/src/dht/p3bitdht.cc @@ -32,6 +32,8 @@ #include "tcponudp/udprelay.h" #include "tcponudp/udpstunner.h" +#include "retroshare/rsbanlist.h" + #include @@ -76,6 +78,27 @@ virtual int dhtInfoCallback(const bdId *id, uint32_t type, uint32_t flags, std:: return mParent->InfoCallback(id, type, flags, info); } + virtual int dhtIsBannedCallback(const sockaddr_in *addr, bool *isBanned) + { + // check whether ip filtering is enabled + // if not return 0 to signal that no filter is available + if(!rsBanList->ipFilteringEnabled()) + return 0; + + // now check the filter + if(rsBanList->isAddressAccepted(*(const sockaddr_storage*)addr, RSBANLIST_CHECKING_FLAGS_BLACKLIST, NULL)) { + *isBanned = false; + } else { +#ifdef DEBUG_BITDHT + std::cerr << "p3BitDht dhtIsBannedCallback: peer is banned " << sockaddr_storage_tostring(*(const sockaddr_storage*)addr) << std::endl; +#endif + *isBanned = true; + } + + // return 1 to signal that a filter is available + return 1; + } + private: p3BitDht *mParent; From 4d2d825d5b4bba31f66c822207a87bee6b648350 Mon Sep 17 00:00:00 2001 From: sehraf Date: Tue, 21 Jun 2016 13:55:23 +0200 Subject: [PATCH 006/158] add new option to qmake to enable dht stunner removed dht stunner code when option is not set --- libretroshare/src/dht/p3bitdht.cc | 12 +++++++++++- libretroshare/src/dht/p3bitdht.h | 9 ++++++++- libretroshare/src/dht/p3bitdht_interface.cc | 7 +++++-- libretroshare/src/dht/p3bitdht_peernet.cc | 18 +++++++++++++++++- libretroshare/src/dht/p3bitdht_peers.cc | 4 ++-- libretroshare/src/libretroshare.pro | 18 ++++++++++++++---- libretroshare/src/pqi/p3netmgr.cc | 18 ++++++++++-------- libretroshare/src/pqi/p3netmgr.h | 4 ++++ libretroshare/src/pqi/pqiassist.h | 3 ++- libretroshare/src/rsserver/rsinit.cc | 17 ++++++++++++++++- 10 files changed, 89 insertions(+), 21 deletions(-) diff --git a/libretroshare/src/dht/p3bitdht.cc b/libretroshare/src/dht/p3bitdht.cc index bbbeb9ad4..3868ec497 100644 --- a/libretroshare/src/dht/p3bitdht.cc +++ b/libretroshare/src/dht/p3bitdht.cc @@ -30,7 +30,9 @@ #include "bitdht/bdstddht.h" #include "tcponudp/udprelay.h" +#ifdef RS_USE_DHT_STUNNER #include "tcponudp/udpstunner.h" +#endif // RS_USE_DHT_STUNNER #include @@ -86,8 +88,10 @@ p3BitDht::p3BitDht(const RsPeerId& id, pqiConnectCb *cb, p3NetMgr *nm, UdpStack *udpstack, std::string bootstrapfile,const std::string& filteredipfile) :p3Config(), pqiNetAssistConnect(id, cb), mNetMgr(nm), dhtMtx("p3BitDht") { +#ifdef RS_USE_DHT_STUNNER mDhtStunner = NULL; mProxyStunner = NULL; +#endif mRelay = NULL; mPeerSharer = NULL; @@ -168,13 +172,19 @@ bool p3BitDht::getOwnDhtId(std::string &ownDhtId) return true; } - +#ifdef RS_USE_DHT_STUNNER void p3BitDht::setupConnectBits(UdpStunner *dhtStunner, UdpStunner *proxyStunner, UdpRelayReceiver *relay) { mDhtStunner = dhtStunner; mProxyStunner = proxyStunner; mRelay = relay; } +#else // RS_USE_DHT_STUNNER +void p3BitDht::setupConnectBits(UdpRelayReceiver *relay) +{ + mRelay = relay; +} +#endif //RS_USE_DHT_STUNNER void p3BitDht::setupPeerSharer(pqiNetAssistPeerShare *sharer) { diff --git a/libretroshare/src/dht/p3bitdht.h b/libretroshare/src/dht/p3bitdht.h index fdc832449..92c2e626d 100644 --- a/libretroshare/src/dht/p3bitdht.h +++ b/libretroshare/src/dht/p3bitdht.h @@ -136,7 +136,9 @@ class p3BitDhtRelayHandler class UdpRelayReceiver; +#ifdef RS_USE_DHT_STUNNER class UdpStunner; +#endif // RS_USE_DHT_STUNNER class p3NetMgr; class p3BitDht: public p3Config, public pqiNetAssistConnect, public RsDht @@ -174,8 +176,11 @@ public: ********** External RsDHT Interface (defined in libretroshare/src/retroshare/rsdht.h) ********* ************************************************************************************************/ - +#ifdef RS_USE_DHT_STUNNER void setupConnectBits(UdpStunner *dhtStunner, UdpStunner *proxyStunner, UdpRelayReceiver *relay); +#else // RS_USE_DHT_STUNNER + void setupConnectBits(UdpRelayReceiver *relay); +#endif // RS_USE_DHT_STUNNER void setupPeerSharer(pqiNetAssistPeerShare *sharer); void modifyNodesPerBucket(uint16_t count); @@ -359,8 +364,10 @@ private: int removeTranslation_locked(const RsPeerId& pid); UdpBitDht *mUdpBitDht; /* has own mutex, is static except for creation/destruction */ +#ifdef RS_USE_DHT_STUNNER UdpStunner *mDhtStunner; UdpStunner *mProxyStunner; +#endif // RS_USE_DHT_STUNNER UdpRelayReceiver *mRelay; p3NetMgr *mNetMgr; diff --git a/libretroshare/src/dht/p3bitdht_interface.cc b/libretroshare/src/dht/p3bitdht_interface.cc index 7eaff764e..fb8f00318 100644 --- a/libretroshare/src/dht/p3bitdht_interface.cc +++ b/libretroshare/src/dht/p3bitdht_interface.cc @@ -152,7 +152,7 @@ std::string p3BitDht::getUdpAddressString() struct sockaddr_in extAddr; uint8_t extStable; - +#ifdef RS_USE_DHT_STUNNER if (mDhtStunner->externalAddr(extAddr, extStable)) { rs_sprintf_append(out, " DhtExtAddr: %s:%u", rs_inet_ntoa(extAddr.sin_addr).c_str(), ntohs(extAddr.sin_port)); @@ -187,7 +187,10 @@ std::string p3BitDht::getUdpAddressString() { out += " ProxyExtAddr: Unknown "; } - +#else // RS_USE_DHT_STUNNER + // whitespaces taken from above + out = " DhtExtAddr: Unknown ProxyExtAddr: Unknown "; +#endif // RS_USE_DHT_STUNNER return out; } diff --git a/libretroshare/src/dht/p3bitdht_peernet.cc b/libretroshare/src/dht/p3bitdht_peernet.cc index 97f116b7d..c0cafff7a 100644 --- a/libretroshare/src/dht/p3bitdht_peernet.cc +++ b/libretroshare/src/dht/p3bitdht_peernet.cc @@ -81,6 +81,7 @@ int p3BitDht::InfoCallback(const bdId *id, uint32_t /*type*/, uint32_t /*flags*/ mPeerSharer->updatePeer(rsid, tmpaddr, outtype, outreason, outage); } +#ifdef RS_USE_DHT_STUNNER /* call to the Stunners to drop the address as well */ /* IDEALLY these addresses should all be filtered at UdpLayer level instead! */ if (mDhtStunner) @@ -91,6 +92,7 @@ int p3BitDht::InfoCallback(const bdId *id, uint32_t /*type*/, uint32_t /*flags*/ { mProxyStunner->dropStunPeer(addr); } +#endif // RS_USE_DHT_STUNNER return 1; } @@ -135,7 +137,7 @@ int p3BitDht::NodeCallback(const bdId *id, uint32_t peerflags) } } - +#ifdef RS_USE_DHT_STUNNER if ((mProxyStunner) && (mProxyStunner->needStunPeers())) { #ifdef DEBUG_BITDHT_COMMON @@ -156,6 +158,7 @@ int p3BitDht::NodeCallback(const bdId *id, uint32_t peerflags) #endif mDhtStunner->addStunPeer(id->addr, NULL); } +#endif // RS_USE_DHT_STUNNER } return 1; } @@ -731,6 +734,7 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId std::cerr << std::endl; } +#ifdef RS_USE_DHT_STUNNER UdpStunner *stunner = mProxyStunner; if (!proxyPort) { @@ -849,6 +853,9 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId std::cerr << std::endl; #endif } +#else // RS_USE_DHT_STUNNER + connectionAllowed = BITDHT_CONNECT_ERROR_TEMPUNAVAIL; +#endif // RS_USE_DHT_STUNNER } ca.mMode = mode; @@ -1234,6 +1241,7 @@ int p3BitDht::doActions() std::cerr << std::endl; } } +#ifdef RS_USE_DHT_STUNNER UdpStunner *stunner = mProxyStunner; if (!proxyPort) { @@ -1333,6 +1341,10 @@ int p3BitDht::doActions() connectionReqFailed = true; failReason = CSB_UPDATE_RETRY_ATTEMPT; } +#else // RS_USE_DHT_STUNNER + connectionReqFailed = true; + failReason = CSB_UPDATE_RETRY_ATTEMPT; +#endif //RS_USE_DHT_STUNNER } if (doConnectionRequest) @@ -1416,7 +1428,9 @@ int p3BitDht::doActions() { std::cerr << "PeerAction: ERROR ERROR, we grabd Exclusive Port to do this, trying emergency release"; std::cerr << std::endl; +#ifdef RS_USE_DHT_STUNNER mProxyStunner->releaseExclusiveMode(pid,false); +#endif // RS_USE_DHT_STUNNER } } } @@ -2378,6 +2392,7 @@ void p3BitDht::ReleaseProxyExclusiveMode_locked(DhtPeerDetails *dpd, bool addrCh if (dpd->mExclusiveProxyLock) { +#ifdef RS_USE_DHT_STUNNER if (mProxyStunner->releaseExclusiveMode(pid, addrChgLikely)) { dpd->mExclusiveProxyLock = false; @@ -2389,6 +2404,7 @@ void p3BitDht::ReleaseProxyExclusiveMode_locked(DhtPeerDetails *dpd, bool addrCh #endif } else +#endif // RS_USE_DHT_STUNNER { dpd->mExclusiveProxyLock = false; diff --git a/libretroshare/src/dht/p3bitdht_peers.cc b/libretroshare/src/dht/p3bitdht_peers.cc index 742361dab..0543b91b2 100644 --- a/libretroshare/src/dht/p3bitdht_peers.cc +++ b/libretroshare/src/dht/p3bitdht_peers.cc @@ -202,7 +202,7 @@ int p3BitDht::addBadPeer(const struct sockaddr_storage &addr, uint32_t /*reason* addrv4.sin_addr = ap->sin_addr; addrv4.sin_port = ap->sin_port; - +#ifdef RS_USE_DHT_STUNNER if (mDhtStunner) { mDhtStunner->dropStunPeer(addrv4); @@ -211,7 +211,7 @@ int p3BitDht::addBadPeer(const struct sockaddr_storage &addr, uint32_t /*reason* { mProxyStunner->dropStunPeer(addrv4); } - +#endif // RS_USE_DHT_STUNNER return 1; } diff --git a/libretroshare/src/libretroshare.pro b/libretroshare/src/libretroshare.pro index 127da6bd5..6499243b8 100644 --- a/libretroshare/src/libretroshare.pro +++ b/libretroshare/src/libretroshare.pro @@ -10,6 +10,10 @@ DESTDIR = lib #CONFIG += dsdv +# the dht stunner is used to obtain RS' external ip addr. when it is natted +# this system is unreliable and rs supports a newer and better one (asking connected peers) +# CONFIG += useDhtStunner + profiling { QMAKE_CXXFLAGS -= -fomit-frame-pointer QMAKE_CXXFLAGS *= -pg -g -fno-omit-frame-pointer @@ -47,8 +51,7 @@ SOURCES *= serialiser/rstlvdsdv.cc \ bitdht { HEADERS += dht/p3bitdht.h \ - dht/connectstatebox.h \ - dht/stunaddrassist.h + dht/connectstatebox.h SOURCES += dht/p3bitdht.cc \ dht/p3bitdht_interface.cc \ @@ -62,7 +65,6 @@ HEADERS += tcponudp/udppeer.h \ tcponudp/tcppacket.h \ tcponudp/tcpstream.h \ tcponudp/tou.h \ - tcponudp/udpstunner.h \ tcponudp/udprelay.h \ SOURCES += tcponudp/udppeer.cc \ @@ -70,9 +72,17 @@ SOURCES += tcponudp/udppeer.cc \ tcponudp/tcpstream.cc \ tcponudp/tou.cc \ tcponudp/bss_tou.c \ - tcponudp/udpstunner.cc \ tcponudp/udprelay.cc \ + useDhtStunner { + HEADERS += dht/stunaddrassist.h \ + tcponudp/udpstunner.h + + SOURCES += tcponudp/udpstunner.cc + + DEFINES += RS_USE_DHT_STUNNER + } + DEFINES *= RS_USE_BITDHT BITDHT_DIR = ../../libbitdht/src diff --git a/libretroshare/src/pqi/p3netmgr.cc b/libretroshare/src/pqi/p3netmgr.cc index 620175c25..cf18267fe 100644 --- a/libretroshare/src/pqi/p3netmgr.cc +++ b/libretroshare/src/pqi/p3netmgr.cc @@ -169,12 +169,13 @@ void p3NetMgrIMPL::setManagers(p3PeerMgr *peerMgr, p3LinkMgr *linkMgr) // mDhtMgr = dhtMgr; //} +#ifdef RS_USE_DHT_STUNNER void p3NetMgrIMPL::setAddrAssist(pqiAddrAssist *dhtStun, pqiAddrAssist *proxyStun) { mDhtStunner = dhtStun; mProxyStunner = proxyStun; } - +#endif // RS_USE_DHT_STUNNER /***** Framework / initial implementation for a connection manager. @@ -445,6 +446,7 @@ void p3NetMgrIMPL::slowTick() netAssistTick(); updateNetStateBox_temporal(); +#ifdef RS_USE_DHT_STUNNER if (mDhtStunner) { mDhtStunner->tick(); @@ -454,7 +456,7 @@ void p3NetMgrIMPL::slowTick() { mProxyStunner->tick(); } - +#endif // RS_USE_DHT_STUNNER } #define STARTUP_DELAY 5 @@ -1739,6 +1741,7 @@ void p3NetMgrIMPL::updateNetStateBox_temporal() struct sockaddr_storage tmpaddr; sockaddr_storage_clear(tmpaddr); +#ifdef RS_USE_DHT_STUNNER if (mDhtStunner) { @@ -1776,6 +1779,7 @@ void p3NetMgrIMPL::updateNetStateBox_temporal() } } +#endif // RS_USE_DHT_STUNNER { @@ -1789,7 +1793,7 @@ void p3NetMgrIMPL::updateNetStateBox_temporal() /* now we check if a WebIP address is required? */ - +#ifdef NETMGR_DEBUG_STATEBOX { RsStackMutex stack(mNetMtx); /****** STACK LOCK MUTEX *******/ @@ -1805,7 +1809,6 @@ void p3NetMgrIMPL::updateNetStateBox_temporal() std::string nattypestr = NetStateNatTypeString(natType); std::string netmodestr = NetStateNetworkModeString(netMode); -#ifdef NETMGR_DEBUG_STATEBOX std::cerr << "p3NetMgrIMPL::updateNetStateBox_temporal() NetStateBox Thinking"; std::cerr << std::endl; std::cerr << "\tNetState: " << netstatestr; @@ -1818,10 +1821,9 @@ void p3NetMgrIMPL::updateNetStateBox_temporal() std::cerr << std::endl; std::cerr << "\tNatType: " << nattypestr; std::cerr << std::endl; -#endif } - +#endif updateNatSetting(); @@ -1869,7 +1871,7 @@ void p3NetMgrIMPL::updateNatSetting() std::cerr << std::endl; #endif - +#ifdef RS_USE_DHT_STUNNER switch(natType) { case RSNET_NATTYPE_RESTRICTED_CONE: @@ -1894,7 +1896,7 @@ void p3NetMgrIMPL::updateNatSetting() mProxyStunner->setRefreshPeriod(NET_STUNNER_PERIOD_SLOW); break; } - +#endif // RS_USE_DHT_STUNNER /* This controls the Attach mode of the DHT... * which effectively makes the DHT "attach" to Open Nodes. diff --git a/libretroshare/src/pqi/p3netmgr.h b/libretroshare/src/pqi/p3netmgr.h index afc1bda1a..1b379afec 100644 --- a/libretroshare/src/pqi/p3netmgr.h +++ b/libretroshare/src/pqi/p3netmgr.h @@ -209,7 +209,9 @@ virtual bool getDHTEnabled(); /************************************************************************************************/ void setManagers(p3PeerMgr *peerMgr, p3LinkMgr *linkMgr); +#ifdef RS_USE_DHT_STUNNER void setAddrAssist(pqiAddrAssist *dhtStun, pqiAddrAssist *proxyStun); +#endif // RS_USE_DHT_STUNNER void tick(); @@ -319,8 +321,10 @@ private: p3LinkMgr *mLinkMgr; //p3BitDht *mBitDht; +#ifdef RS_USE_DHT_STUNNER pqiAddrAssist *mDhtStunner; pqiAddrAssist *mProxyStunner; +#endif // RS_USE_DHT_STUNNER RsMutex mNetMtx; /* protects below */ diff --git a/libretroshare/src/pqi/pqiassist.h b/libretroshare/src/pqi/pqiassist.h index d5c7da4cb..9f93b07df 100644 --- a/libretroshare/src/pqi/pqiassist.h +++ b/libretroshare/src/pqi/pqiassist.h @@ -115,6 +115,7 @@ virtual void updatePeer(const RsPeerId& id, const struct sockaddr_storage &addr }; +#ifdef RS_USE_DHT_STUNNER /* this is for the Stunners * * @@ -132,7 +133,7 @@ virtual void setRefreshPeriod(int32_t period) = 0; virtual int tick() = 0; /* for internal accounting */ }; - +#endif // RS_USE_DHT_STUNNER #define NETASSIST_KNOWN_PEER_OFFLINE 0x0001 #define NETASSIST_KNOWN_PEER_ONLINE 0x0002 diff --git a/libretroshare/src/rsserver/rsinit.cc b/libretroshare/src/rsserver/rsinit.cc index 733009932..1ccafd3c5 100644 --- a/libretroshare/src/rsserver/rsinit.cc +++ b/libretroshare/src/rsserver/rsinit.cc @@ -77,7 +77,9 @@ #include "grouter/p3grouter.h" #endif +#ifdef RS_USE_DHT_STUNNER #include "tcponudp/udpstunner.h" +#endif // RS_USE_DHT_STUNNER // #define GPG_DEBUG // #define AUTHSSL_DEBUG @@ -901,7 +903,9 @@ RsGRouter *rsGRouter = NULL ; #ifdef RS_USE_BITDHT #include "dht/p3bitdht.h" +#ifdef RS_USE_DHT_STUNNER #include "dht/stunaddrassist.h" +#endif // RS_USE_DHT_STUNNER #include "udp/udpstack.h" #include "tcponudp/udppeer.h" @@ -1137,6 +1141,7 @@ int RsServer::StartupRetroShare() UdpSubReceiver *udpReceivers[RSUDP_NUM_TOU_RECVERS]; int udpTypes[RSUDP_NUM_TOU_RECVERS]; +#ifdef RS_USE_DHT_STUNNER // FIRST DHT STUNNER. UdpStunner *mDhtStunner = new UdpStunner(mDhtStack); mDhtStunner->setTargetStunPeriod(300); /* slow (5mins) */ @@ -1145,9 +1150,11 @@ int RsServer::StartupRetroShare() #ifdef LOCALNET_TESTING mDhtStunner->SetAcceptLocalNet(); #endif +#endif // RS_USE_DHT_STUNNER + // NEXT BITDHT. - p3BitDht *mBitDht = new p3BitDht(ownId, mLinkMgr, mNetMgr, mDhtStack, bootstrapfile, filteredipfile); + p3BitDht *mBitDht = new p3BitDht(ownId, mLinkMgr, mNetMgr, mDhtStack, bootstrapfile, filteredipfile); /* install external Pointer for Interface */ rsDht = mBitDht; @@ -1188,6 +1195,7 @@ int RsServer::StartupRetroShare() rsFixedUdpStack *mProxyStack = new rsFixedUdpStack(sndladdr); #endif +#ifdef RS_USE_DHT_STUNNER // FIRSTLY THE PROXY STUNNER. UdpStunner *mProxyStunner = new UdpStunner(mProxyStack); mProxyStunner->setTargetStunPeriod(300); /* slow (5mins) */ @@ -1196,6 +1204,7 @@ int RsServer::StartupRetroShare() #ifdef LOCALNET_TESTING mProxyStunner->SetAcceptLocalNet(); #endif +#endif // RS_USE_DHT_STUNNER // FINALLY THE PROXY UDP CONNECTIONS @@ -1206,9 +1215,15 @@ int RsServer::StartupRetroShare() // REAL INITIALISATION - WITH THREE MODES tou_init((void **) udpReceivers, udpTypes, RSUDP_NUM_TOU_RECVERS); +#ifdef RS_USE_DHT_STUNNER mBitDht->setupConnectBits(mDhtStunner, mProxyStunner, mRelay); +#else // RS_USE_DHT_STUNNER + mBitDht->setupConnectBits(mRelay); +#endif // RS_USE_DHT_STUNNER +#ifdef RS_USE_DHT_STUNNER mNetMgr->setAddrAssist(new stunAddrAssist(mDhtStunner), new stunAddrAssist(mProxyStunner)); +#endif // RS_USE_DHT_STUNNER #else /* install NULL Pointer for rsDht Interface */ rsDht = NULL; From 5d962682e17d5334e8cc69d5ddc165d1c89d53da Mon Sep 17 00:00:00 2001 From: sehraf Date: Tue, 21 Jun 2016 14:02:52 +0200 Subject: [PATCH 007/158] removed unused variable warnings --- libretroshare/src/dht/p3bitdht_interface.cc | 4 ++-- libretroshare/src/dht/p3bitdht_peernet.cc | 11 +++++++++-- libretroshare/src/pqi/p3netmgr.cc | 4 ++-- libretroshare/src/services/p3idservice.cc | 3 --- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/libretroshare/src/dht/p3bitdht_interface.cc b/libretroshare/src/dht/p3bitdht_interface.cc index fb8f00318..e82758964 100644 --- a/libretroshare/src/dht/p3bitdht_interface.cc +++ b/libretroshare/src/dht/p3bitdht_interface.cc @@ -149,10 +149,10 @@ int p3BitDht::getNetFailedPeer(std::string peerId, PeerStatus &status) std::string p3BitDht::getUdpAddressString() { std::string out; - +#ifdef RS_USE_DHT_STUNNER struct sockaddr_in extAddr; uint8_t extStable; -#ifdef RS_USE_DHT_STUNNER + if (mDhtStunner->externalAddr(extAddr, extStable)) { rs_sprintf_append(out, " DhtExtAddr: %s:%u", rs_inet_ntoa(extAddr.sin_addr).c_str(), ntohs(extAddr.sin_port)); diff --git a/libretroshare/src/dht/p3bitdht_peernet.cc b/libretroshare/src/dht/p3bitdht_peernet.cc index c0cafff7a..3f37f8793 100644 --- a/libretroshare/src/dht/p3bitdht_peernet.cc +++ b/libretroshare/src/dht/p3bitdht_peernet.cc @@ -686,7 +686,6 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId #endif struct sockaddr_in extaddr; - uint8_t extStable = 0; sockaddr_clear(&extaddr); bool connectOk = false; @@ -735,6 +734,8 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId } #ifdef RS_USE_DHT_STUNNER + uint8_t extStable = 0; + UdpStunner *stunner = mProxyStunner; if (!proxyPort) { @@ -855,6 +856,8 @@ int p3BitDht::ConnectCallback(const bdId *srcId, const bdId *proxyId, const bdId } #else // RS_USE_DHT_STUNNER connectionAllowed = BITDHT_CONNECT_ERROR_TEMPUNAVAIL; + (void) connectOk; + (void) exclusivePort; #endif // RS_USE_DHT_STUNNER } @@ -1195,7 +1198,6 @@ int p3BitDht::doActions() else if (action.mMode == BITDHT_CONNECT_MODE_PROXY) { struct sockaddr_in extaddr; - uint8_t extStable = 0; sockaddr_clear(&extaddr); bool proxyPort = true; bool exclusivePort = false; @@ -1242,6 +1244,8 @@ int p3BitDht::doActions() } } #ifdef RS_USE_DHT_STUNNER + uint8_t extStable = 0; + UdpStunner *stunner = mProxyStunner; if (!proxyPort) { @@ -1344,6 +1348,7 @@ int p3BitDht::doActions() #else // RS_USE_DHT_STUNNER connectionReqFailed = true; failReason = CSB_UPDATE_RETRY_ATTEMPT; + (void) connectOk; #endif //RS_USE_DHT_STUNNER } @@ -2404,6 +2409,8 @@ void p3BitDht::ReleaseProxyExclusiveMode_locked(DhtPeerDetails *dpd, bool addrCh #endif } else +#else // RS_USE_DHT_STUNNER + (void)addrChgLikely; #endif // RS_USE_DHT_STUNNER { dpd->mExclusiveProxyLock = false; diff --git a/libretroshare/src/pqi/p3netmgr.cc b/libretroshare/src/pqi/p3netmgr.cc index cf18267fe..bc5a6f12b 100644 --- a/libretroshare/src/pqi/p3netmgr.cc +++ b/libretroshare/src/pqi/p3netmgr.cc @@ -1736,12 +1736,12 @@ void p3NetMgrIMPL::updateNetStateBox_temporal() std::cerr << "p3NetMgrIMPL::updateNetStateBox_temporal() "; std::cerr << std::endl; #endif - - uint8_t isstable = 0; struct sockaddr_storage tmpaddr; sockaddr_storage_clear(tmpaddr); #ifdef RS_USE_DHT_STUNNER + uint8_t isstable = 0; + if (mDhtStunner) { diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index d436f07af..6536d384d 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -395,9 +395,6 @@ void p3IdService::cleanUnusedKeys() } // grab at most 10 identities to delete. No need to send too many requests to the token queue at once. - - time_t now = time(NULL) ; - int n=0 ; IdCacheEntryCleaner idcec(mKeysTS) ; mKeyCache.applyToAllCachedEntries(idcec,&IdCacheEntryCleaner::processEntry); From e6347d7aefc0978a4606f83f360ee8364b0043c4 Mon Sep 17 00:00:00 2001 From: Phenom Date: Sat, 25 Jun 2016 11:09:28 +0200 Subject: [PATCH 008/158] Fix "!!!The RetroShare's desktop file is missing or wrong!!!" message for Linux. --- retroshare-gui/src/gui/settings/rsharesettings.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/settings/rsharesettings.cpp b/retroshare-gui/src/gui/settings/rsharesettings.cpp index 0d4e9f3f9..4011f4a9b 100644 --- a/retroshare-gui/src/gui/settings/rsharesettings.cpp +++ b/retroshare-gui/src/gui/settings/rsharesettings.cpp @@ -777,7 +777,7 @@ bool RshareSettings::getRetroShareProtocol() } } #elif defined(Q_OS_LINUX) - QFile desktop("/usr/share/applications/retroshare06.desktop"); + QFile desktop("/usr/share/applications/RetroShare06.desktop"); if (desktop.exists()) { desktop.open(QIODevice::ReadOnly | QIODevice::Text); QTextStream in(&desktop); From 31089d7a91aa41ea61b19fac61e6f10d50d0e8a2 Mon Sep 17 00:00:00 2001 From: csoler Date: Sat, 25 Jun 2016 19:12:35 +0100 Subject: [PATCH 009/158] added auto-clean of pending data in pqistreamer after connection is closed, to avoid confusing the peer after re-connecting (probably not the cause of the SSL errors we see) --- libretroshare/src/pqi/pqiperson.h | 4 +- libretroshare/src/pqi/pqiqosstreamer.cc | 7 ++ libretroshare/src/pqi/pqissl.cc | 5 +- libretroshare/src/pqi/pqistreamer.cc | 91 +++++++++++++++++-------- libretroshare/src/pqi/pqistreamer.h | 8 ++- 5 files changed, 78 insertions(+), 37 deletions(-) diff --git a/libretroshare/src/pqi/pqiperson.h b/libretroshare/src/pqi/pqiperson.h index 0a57cd1c5..f3ff940e1 100644 --- a/libretroshare/src/pqi/pqiperson.h +++ b/libretroshare/src/pqi/pqiperson.h @@ -63,8 +63,8 @@ public: virtual int connect(const struct sockaddr_storage &raddr) { return ni->connect(raddr); } virtual int listen() { return ni->listen(); } virtual int stoplistening() { return ni->stoplistening(); } - virtual int reset() { return ni->reset(); } - virtual int disconnect() { return ni->reset(); } + virtual int reset() { pqistreamer::reset(); return ni->reset(); } + virtual int disconnect() { return reset() ; } virtual bool connect_parameter(uint32_t type, uint32_t value) { return ni->connect_parameter(type, value);} virtual bool connect_parameter(uint32_t type, std::string value) { return ni->connect_parameter(type, value);} virtual bool connect_additional_address(uint32_t type, const struct sockaddr_storage &addr) { return ni->connect_additional_address(type, addr); } diff --git a/libretroshare/src/pqi/pqiqosstreamer.cc b/libretroshare/src/pqi/pqiqosstreamer.cc index c9cc7d570..b1d0aac1d 100644 --- a/libretroshare/src/pqi/pqiqosstreamer.cc +++ b/libretroshare/src/pqi/pqiqosstreamer.cc @@ -25,6 +25,8 @@ #include "pqiqosstreamer.h" +//#define DEBUG_PQIQOSSTREAMER 1 + const float pqiQoSstreamer::PQI_QOS_STREAMER_ALPHA = 2.0f ; pqiQoSstreamer::pqiQoSstreamer(PQInterface *parent, RsSerialiser *rss, const RsPeerId& peerid, BinInterface *bio_in, int bio_flagsin) @@ -60,6 +62,11 @@ void pqiQoSstreamer::locked_storeInOutputQueue(void *ptr,int size,int priority) void pqiQoSstreamer::locked_clear_out_queue() { +#ifdef DEBUG_PQIQOSSTREAMER + if(qos_queue_size() > 0) + std::cerr << " pqiQoSstreamer::locked_clear_out_queue(): clearing " << qos_queue_size() << " pending outqueue elements." << std::endl; +#endif + pqiQoS::clear() ; _total_item_size = 0 ; _total_item_count = 0 ; diff --git a/libretroshare/src/pqi/pqissl.cc b/libretroshare/src/pqi/pqissl.cc index 031cd2d7f..49cedfbbd 100644 --- a/libretroshare/src/pqi/pqissl.cc +++ b/libretroshare/src/pqi/pqissl.cc @@ -1661,8 +1661,6 @@ int pqissl::readdata(void *data, int len) int error = SSL_get_error(ssl_connection, tmppktlen); unsigned long err2 = ERR_get_error(); - //printSSLError(ssl_connection, tmppktlen, error, err2, out); - if ((error == SSL_ERROR_ZERO_RETURN) && (err2 == 0)) { /* this code will be called when @@ -1761,7 +1759,10 @@ int pqissl::readdata(void *data, int len) rs_sprintf_append(out, "SSL_read() UNKNOWN ERROR: %d Resetting!", error); rslog(RSL_ALERT, pqisslzone, out); std::cerr << out << std::endl ; + std::cerr << ", SSL_read() output is " << tmppktlen << std::endl ; + printSSLError(ssl_connection, tmppktlen, error, err2, out); + rslog(RSL_ALERT, pqisslzone, "pqissl::readdata() -> calling reset()"); reset_locked(); return -1; diff --git a/libretroshare/src/pqi/pqistreamer.cc b/libretroshare/src/pqi/pqistreamer.cc index f15bc3eee..166cc6b1e 100644 --- a/libretroshare/src/pqi/pqistreamer.cc +++ b/libretroshare/src/pqi/pqistreamer.cc @@ -135,17 +135,7 @@ pqistreamer::~pqistreamer() if (mRsSerialiser) delete mRsSerialiser; - // clean up outgoing. (cntrl packets) - locked_clear_out_queue() ; - - if (mPkt_wpending) - { - free(mPkt_wpending); - mPkt_wpending = NULL; - mPkt_wpending_size = 0 ; - } - - free_rpend_locked(); + free_pend_locked(); // clean up incoming. while(!mIncoming.empty()) @@ -156,6 +146,7 @@ pqistreamer::~pqistreamer() delete i; } + if(mIncomingSize != 0) std::cerr << "(EE) inconsistency after deleting pqistreamer queue. Remaining items: " << mIncomingSize << std::endl; return; @@ -282,7 +273,7 @@ int pqistreamer::tick_recv(uint32_t timeout) } if(!(mBio->isactive())) { - free_rpend_locked(); + free_pend_locked(); } return 1; } @@ -295,6 +286,7 @@ int pqistreamer::tick_send(uint32_t timeout) /* short circuit everything is bio isn't active */ if (!(mBio->isactive())) { + free_pend_locked(); return 0; } @@ -690,7 +682,7 @@ int pqistreamer::handleincoming_locked() if(!(mBio->isactive())) { mReading_state = reading_state_initial ; - free_rpend_locked(); + free_pend_locked(); return 0; } else @@ -762,7 +754,7 @@ start_packet_read: } } #ifdef DEBUG_PQISTREAMER - std::cerr << "[" << (void*)pthread_self() << "] " << "block 0 : " << RsUtil::BinToHex(block,8) << std::endl; + std::cerr << "[" << (void*)pthread_self() << "] " << "block 0 : " << RsUtil::BinToHex((unsigned char*)block,8) << std::endl; #endif readbytes += blen; @@ -806,12 +798,12 @@ continue_packet: else extralen = getRsItemSize(block) - blen; // old style packet type -#ifdef DEBUG_PQISTREAMER +#ifdef DEBUG_PACKET_SLICING std::cerr << "[" << (void*)pthread_self() << "] " << "continuing packet getRsItemSize(block) = " << getRsItemSize(block) << std::endl ; std::cerr << "[" << (void*)pthread_self() << "] " << "continuing packet extralen = " << extralen << std::endl ; std::cerr << "[" << (void*)pthread_self() << "] " << "continuing packet state=" << mReading_state << std::endl ; - std::cerr << "[" << (void*)pthread_self() << "] " << "block 1 : " << RsUtil::BinToHex(block,8) << std::endl; + std::cerr << "[" << (void*)pthread_self() << "] " << "block 1 : " << RsUtil::BinToHex((unsigned char*)block,8) << std::endl; #endif if (extralen + (uint32_t)blen > maxlen) { @@ -874,7 +866,7 @@ continue_packet: if (extralen != (uint32_t)(tmplen = mBio->readdata(extradata, extralen))) { -#ifdef DEBUG_PQISTREAMER +#ifdef DEBUG_PACKET_SLICING if(tmplen > 0) std::cerr << "[" << (void*)pthread_self() << "] " << "Incomplete packet read ! This is a real problem ;-)" << std::endl ; #endif @@ -921,9 +913,9 @@ continue_packet: // we assume readdata() returned either -1 or the complete read size. } } -#ifdef DEBUG_PQISTREAMER +#ifdef DEBUG_PACKET_SLICING std::cerr << "[" << (void*)pthread_self() << "] " << "continuing packet state=" << mReading_state << std::endl ; - std::cerr << "[" << (void*)pthread_self() << "] " << "block 2 : " << RsUtil::BinToHex(extradata,8) << std::endl; + std::cerr << "[" << (void*)pthread_self() << "] " << "block 2 : " << RsUtil::BinToHex((unsigned char*)extradata,8) << std::endl; #endif mFailed_read_attempts = 0 ; @@ -952,7 +944,7 @@ continue_packet: std::cerr << "Inputing partial packet " << RsUtil::BinToHex((char*)block,8) << std::endl; #endif uint32_t packet_length = 0 ; - pkt = addPartialPacket(block,pktlen,slice_packet_id,is_packet_starting,is_packet_ending,packet_length) ; + pkt = addPartialPacket_locked(block,pktlen,slice_packet_id,is_packet_starting,is_packet_ending,packet_length) ; pktlen = packet_length ; } @@ -997,7 +989,7 @@ continue_packet: return 0; } -RsItem *pqistreamer::addPartialPacket(const void *block, uint32_t len, uint32_t slice_packet_id, bool is_packet_starting, bool is_packet_ending, uint32_t &total_len) +RsItem *pqistreamer::addPartialPacket_locked(const void *block, uint32_t len, uint32_t slice_packet_id, bool is_packet_starting, bool is_packet_ending, uint32_t &total_len) { #ifdef DEBUG_PACKET_SLICING std::cerr << "Receiving partial packet. size=" << len << ", ID=" << std::hex << slice_packet_id << std::dec << ", starting:" << is_packet_starting << ", ending:" << is_packet_ending ; @@ -1180,7 +1172,7 @@ void pqistreamer::outSentBytes_locked(uint32_t outb) #ifdef DEBUG_PQISTREAMER { std::string out; - rs_sprintf(out, "pqistreamer::outSentBytes(): %d@%gkB/s", outb, getRate(false)); + rs_sprintf(out, "pqistreamer::outSentBytes(): %d@%gkB/s", outb, RateInterface::getRate(false)); pqioutput(PQL_DEBUG_ALL, pqistreamerzone, out); } #endif @@ -1210,7 +1202,7 @@ void pqistreamer::inReadBytes_locked(uint32_t inb) #ifdef DEBUG_PQISTREAMER { std::string out; - rs_sprintf(out, "pqistreamer::inReadBytes(): %d@%gkB/s", inb, getRate(true)); + rs_sprintf(out, "pqistreamer::inReadBytes(): %d@%gkB/s", inb, RateInterface::getRate(true)); pqioutput(PQL_DEBUG_ALL, pqistreamerzone, out); } #endif @@ -1237,14 +1229,53 @@ void pqistreamer::allocate_rpend_locked() memset(mPkt_rpending,0,mPkt_rpend_size) ; } -void pqistreamer::free_rpend_locked() -{ - if(!mPkt_rpending) - return; +// clean everything that is half-finished, to avoid causing issues when re-connecting later on. - free(mPkt_rpending); - mPkt_rpending = 0; - mPkt_rpend_size = 0; +int pqistreamer::reset() +{ + RsStackMutex stack(mStreamerMtx); /**** LOCKED MUTEX ****/ +#ifdef DEBUG_PQISTREAMER + std::cerr << "pqistreamer::reset()" << std::endl; +#endif + free_pend_locked(); + + return 1 ; +} + +void pqistreamer::free_pend_locked() +{ + if(mPkt_rpending) + { +#ifdef DEBUG_PQISTREAMER + std::cerr << "pqistreamer::free_pend_locked(): pending input packet buffer" << std::endl; +#endif + free(mPkt_rpending); + mPkt_rpending = 0; + } + mPkt_rpend_size = 0; + + if (mPkt_wpending) + { +#ifdef DEBUG_PQISTREAMER + std::cerr << "pqistreamer::free_pend_locked(): pending output packet buffer" << std::endl; +#endif + free(mPkt_wpending); + mPkt_wpending = NULL; + } + mPkt_wpending_size = 0 ; + +#ifdef DEBUG_PQISTREAMER + if(!mPartialPackets.empty()) + std::cerr << "pqistreamer::free_pend_locked(): " << mPartialPackets.size() << " pending input partial packets" << std::endl; +#endif + // also delete any incoming partial packet + for(std::map::iterator it(mPartialPackets.begin());it!=mPartialPackets.end();++it) + free(it->second.mem) ; + + mPartialPackets.clear() ; + + // clean up outgoing. (cntrl packets) + locked_clear_out_queue() ; } int pqistreamer::gatherStatistics(std::list& outqueue_lst,std::list& inqueue_lst) diff --git a/libretroshare/src/pqi/pqistreamer.h b/libretroshare/src/pqi/pqistreamer.h index 542888e17..52a376062 100644 --- a/libretroshare/src/pqi/pqistreamer.h +++ b/libretroshare/src/pqi/pqistreamer.h @@ -74,6 +74,7 @@ class pqistreamer: public PQInterface virtual float getRate(bool b) ; protected: + virtual int reset() ; int tick_bio(); int tick_send(uint32_t timeout); @@ -117,7 +118,8 @@ class pqistreamer: public PQInterface int inAllowedBytes_locked(); void inReadBytes_locked(uint32_t ); - + // cleans up everything that's pending / half finished. + void free_pend_locked(); // RsSerialiser - determines which packets can be serialised. RsSerialiser *mRsSerialiser; @@ -126,7 +128,7 @@ class pqistreamer: public PQInterface uint32_t mPkt_wpending_size; // ... and its size. void allocate_rpend_locked(); // use these two functions to allocate/free the buffer below - void free_rpend_locked(); + int mPkt_rpend_size; // size of pkt_rpending. void *mPkt_rpending; // storage for read in pending packets. @@ -170,7 +172,7 @@ class pqistreamer: public PQInterface bool mAcceptsPacketSlicing ; time_t mLastSentPacketSlicingProbe ; void locked_addTrafficClue(const RsItem *pqi, uint32_t pktsize, std::list &lst); - RsItem *addPartialPacket(const void *block, uint32_t len, uint32_t slice_packet_id,bool packet_starting,bool packet_ending,uint32_t& total_len); + RsItem *addPartialPacket_locked(const void *block, uint32_t len, uint32_t slice_packet_id,bool packet_starting,bool packet_ending,uint32_t& total_len); std::map mPartialPackets ; }; From ff8667834b3fce351dfc27ef67ab262188762484 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 26 Jun 2016 23:14:01 -0400 Subject: [PATCH 010/158] clear error queue before calling SSL_read()/SSL_write(), to avoid remaining errors to corrupt the next connection attempts and cause disconnections --- libretroshare/src/pqi/pqissl.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libretroshare/src/pqi/pqissl.cc b/libretroshare/src/pqi/pqissl.cc index 49cedfbbd..eae05936a 100644 --- a/libretroshare/src/pqi/pqissl.cc +++ b/libretroshare/src/pqi/pqissl.cc @@ -1548,6 +1548,7 @@ int pqissl::senddata(void *data, int len) #ifdef PQISSL_DEBUG std::cout << "Sending data thread=" << pthread_self() << ", ssl=" << (void*)this << ", size=" << len << std::endl ; #endif + ERR_clear_error(); tmppktlen = SSL_write(ssl_connection, data, len) ; if (len != tmppktlen) @@ -1638,6 +1639,8 @@ int pqissl::readdata(void *data, int len) #ifdef PQISSL_DEBUG std::cerr << "calling SSL_read. len=" << len << ", total_len=" << total_len << std::endl ; #endif + ERR_clear_error() ; + tmppktlen = SSL_read(ssl_connection, (void*)( &(((uint8_t*)data)[total_len])), len-total_len) ; #ifdef PQISSL_DEBUG std::cerr << "have read " << tmppktlen << " bytes" << std::endl ; From ea07a138bbcf1a5a8953cd55679d2059abcebc49 Mon Sep 17 00:00:00 2001 From: sehraf Date: Tue, 28 Jun 2016 17:37:22 +0200 Subject: [PATCH 011/158] fix TcpPacket::readPacket --- libretroshare/src/tcponudp/tcppacket.cc | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/libretroshare/src/tcponudp/tcppacket.cc b/libretroshare/src/tcponudp/tcppacket.cc index 3f308de1a..3351cf168 100644 --- a/libretroshare/src/tcponudp/tcppacket.cc +++ b/libretroshare/src/tcponudp/tcppacket.cc @@ -186,19 +186,26 @@ int TcpPacket::readPacket(void *buf, int size) if (data) { free(data); + data = NULL ; } datasize = size - TCP_PSEUDO_HDR_SIZE; - - if(datasize == 0) // this happens! - { - data = NULL ; - return 0 ; - } - + + // this happens for control packets (e.g. syn/ack/fin) + if(datasize == 0) + { + // data is already NULL + // just return packet size + return size; + } + data = (uint8 *) rs_malloc(datasize); if(data == NULL) + { + // malloc failed! + // return 0 to drop packet (will be retransmitted eventually) return 0 ; + } /* now the data */ memcpy(data, (void *) &(((uint8 *) buf)[20]), datasize); From 456751a83caf9c42fc220e0e39c74179bbb7adab Mon Sep 17 00:00:00 2001 From: Phenom Date: Tue, 28 Jun 2016 20:23:32 +0200 Subject: [PATCH 012/158] Fix ProgressBar Chunk with Standard.qss --- retroshare-gui/src/gui/qss/stylesheet/Standard.qss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss index ac60c9a67..40fd2924c 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss @@ -513,15 +513,15 @@ SubFileItem QProgressBar#progressBar { border-top-left-radius: 7px; border-bottom-left-radius: 7px; background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #fff, stop: 0.4999 #eee, stop: 0.5 #ddd, stop: 1 #eee); - width: 15px; + min-width: 15px; } SubFileItem QProgressBar#progressBar::chunk { - background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #78d, stop: 0.4999 #46a, stop: 0.5 #45a, stop: 1 #238); + background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #78d, stop: 0.4999 #46a, stop: 0.5 #45a, stop: 1 #238); border-top-left-radius: 7px; border-bottom-left-radius: 7px; border: 1px solid black; - width: 15px; + min-width: 15px; } PluginItem QLabel#infoLabel { From 00bdc509c577dbbe6f9b2d8fde1403a2e366112b Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 28 Jun 2016 17:56:37 -0400 Subject: [PATCH 013/158] updated changelog --- build_scripts/Debian+Ubuntu/changelog | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/build_scripts/Debian+Ubuntu/changelog b/build_scripts/Debian+Ubuntu/changelog index 0ba52a5ff..31a9a39fa 100644 --- a/build_scripts/Debian+Ubuntu/changelog +++ b/build_scripts/Debian+Ubuntu/changelog @@ -1,5 +1,14 @@ retroshare06 (0.6.0-1.XXXXXX~YYYYYY) YYYYYY; urgency=low + c15c979 csoler Mon, 27 Jun 2016 17:17:28 +0100 Merge pull request #426 from sehraf/pr-disable-dht-stunner + ff86678 csoler Sun, 26 Jun 2016 23:14:01 -0400 clear error queue before calling SSL_read()/SSL_write(), to avoid remaining errors to corrupt the next connection attempts and cause disconnections + 31089d7 csoler Sat, 25 Jun 2016 19:12:35 +0100 added auto-clean of pending data in pqistreamer after connection is closed, to avoid confusing the peer after re-connecting (probably not the cause of the SSL error) + 043c5b1 csoler Sat, 25 Jun 2016 13:01:36 -0400 Merge pull request #427 from PhenomRetroShare/Fix_TheRetroSharesDeskTopFileIsMissing + e6347d7 Phenom Sat, 25 Jun 2016 11:09:28 +0200 Fix "!!!The RetroShare's desktop file is missing or wrong!!!" message for Linux. + 5d96268 sehraf Tue, 21 Jun 2016 14:02:52 +0200 removed unused variable warnings + 4d2d825 sehraf Tue, 21 Jun 2016 13:55:23 +0200 add new option to qmake to enable dht stunner removed dht stunner code when option is not set + 37ae8bc csoler Tue, 21 Jun 2016 07:22:13 -0400 Merge pull request #424 from sehraf/pr-dht-banlist + 3bb03ff sehraf Mon, 20 Jun 2016 22:30:51 +0200 Added new (optional) callback to libbitdht to ask upper layer if an IP is banned. In case this callback is implemented it will be used in favour of the built-in... ddce43b csoler Sat, 18 Jun 2016 20:43:42 -0400 Merge pull request #422 from PhenomRetroShare/Fix_ReadMe.md 24eb88a csoler Sat, 18 Jun 2016 20:38:48 -0400 added explicit comparisons for tests on RsGxsGrpMetaData and RsGxsMsgMetaData 0388162 Phenom Sun, 19 Jun 2016 01:37:50 +0200 Change Build AppVeyor State to RetroShare/RetroShare. From 9f7ef8b46b7d0e45c939c42168e66e0ba1dc043b Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 28 Jun 2016 20:59:56 -0400 Subject: [PATCH 014/158] fixed possible cross deadlocks between RsGxsGenExchange and RsGxsNetService --- libretroshare/src/gxs/rsgenexchange.cc | 689 ++++++++++++----------- libretroshare/src/gxs/rsgxsnetservice.cc | 25 +- 2 files changed, 369 insertions(+), 345 deletions(-) diff --git a/libretroshare/src/gxs/rsgenexchange.cc b/libretroshare/src/gxs/rsgenexchange.cc index 43db2abd3..615c96e3e 100644 --- a/libretroshare/src/gxs/rsgenexchange.cc +++ b/libretroshare/src/gxs/rsgenexchange.cc @@ -2285,231 +2285,240 @@ bool RsGenExchange::checkKeys(const RsTlvSecurityKeySet& keySet) void RsGenExchange::publishGrps() { - RS_STACK_MUTEX(mGenMtx) ; - NxsGrpSignPendVect::iterator vit = mGrpsToPublish.begin(); - - typedef std::pair GrpNote; - std::map toNotify; - - while( vit != mGrpsToPublish.end() ) + std::list groups_to_subscribe ; + { - GxsGrpPendingSign& ggps = *vit; + RS_STACK_MUTEX(mGenMtx) ; + NxsGrpSignPendVect::iterator vit = mGrpsToPublish.begin(); - /* do intial checks to see if this entry has expired */ - time_t now = time(NULL) ; - uint32_t token = ggps.mToken; + typedef std::pair GrpNote; + std::map toNotify; + + while( vit != mGrpsToPublish.end() ) + { + GxsGrpPendingSign& ggps = *vit; + + /* do intial checks to see if this entry has expired */ + time_t now = time(NULL) ; + uint32_t token = ggps.mToken; - if(now > (ggps.mStartTS + PENDING_SIGN_TIMEOUT) ) - { - // timed out - toNotify.insert(std::make_pair( - token, GrpNote(false, RsGxsGroupId()))); - delete ggps.mItem; - vit = mGrpsToPublish.erase(vit); + if(now > (ggps.mStartTS + PENDING_SIGN_TIMEOUT) ) + { + // timed out + toNotify.insert(std::make_pair( + token, GrpNote(false, RsGxsGroupId()))); + delete ggps.mItem; + vit = mGrpsToPublish.erase(vit); - continue; - } + continue; + } - RsGxsGroupId grpId; - RsNxsGrp* grp = new RsNxsGrp(mServType); - RsGxsGrpItem* grpItem = ggps.mItem; + RsGxsGroupId grpId; + RsNxsGrp* grp = new RsNxsGrp(mServType); + RsGxsGrpItem* grpItem = ggps.mItem; - RsTlvSecurityKeySet fullKeySet; + RsTlvSecurityKeySet fullKeySet; - if(!(ggps.mHaveKeys)) - { - generateGroupKeys(fullKeySet, true); - ggps.mHaveKeys = true; - ggps.mKeys = fullKeySet; - } - else - fullKeySet = ggps.mKeys; + if(!(ggps.mHaveKeys)) + { + generateGroupKeys(fullKeySet, true); + ggps.mHaveKeys = true; + ggps.mKeys = fullKeySet; + } + else + fullKeySet = ggps.mKeys; - // find private admin key - RsTlvPrivateRSAKey privAdminKey; - bool privKeyFound = false; - for(std::map::iterator mit_keys = fullKeySet.private_keys.begin(); mit_keys != fullKeySet.private_keys.end(); ++mit_keys) - { - RsTlvPrivateRSAKey& key = mit_keys->second; + // find private admin key + RsTlvPrivateRSAKey privAdminKey; + bool privKeyFound = false; + for(std::map::iterator mit_keys = fullKeySet.private_keys.begin(); mit_keys != fullKeySet.private_keys.end(); ++mit_keys) + { + RsTlvPrivateRSAKey& key = mit_keys->second; - if(key.keyFlags == (RSTLV_KEY_DISTRIB_ADMIN | RSTLV_KEY_TYPE_FULL)) - { - privAdminKey = key; - privKeyFound = true; - } - } + if(key.keyFlags == (RSTLV_KEY_DISTRIB_ADMIN | RSTLV_KEY_TYPE_FULL)) + { + privAdminKey = key; + privKeyFound = true; + } + } - uint8_t create = CREATE_FAIL; + uint8_t create = CREATE_FAIL; - if(privKeyFound) - { - // get group id from private admin key id - grpItem->meta.mGroupId = grp->grpId = RsGxsGroupId(privAdminKey.keyId); + if(privKeyFound) + { + // get group id from private admin key id + grpItem->meta.mGroupId = grp->grpId = RsGxsGroupId(privAdminKey.keyId); - ServiceCreate_Return ret = service_CreateGroup(grpItem, fullKeySet); + ServiceCreate_Return ret = service_CreateGroup(grpItem, fullKeySet); - bool serialOk = false, servCreateOk; + bool serialOk = false, servCreateOk; - if(ret == SERVICE_CREATE_SUCCESS) - { - uint32_t size = mSerialiser->size(grpItem); - char *gData = new char[size]; - serialOk = mSerialiser->serialise(grpItem, gData, &size); - grp->grp.setBinData(gData, size); - delete[] gData; - servCreateOk = true; + if(ret == SERVICE_CREATE_SUCCESS) + { + uint32_t size = mSerialiser->size(grpItem); + char *gData = new char[size]; + serialOk = mSerialiser->serialise(grpItem, gData, &size); + grp->grp.setBinData(gData, size); + delete[] gData; + servCreateOk = true; - }else - { - servCreateOk = false; - } + }else + { + servCreateOk = false; + } - if(serialOk && servCreateOk) - { - grp->metaData = new RsGxsGrpMetaData(); - grpItem->meta.mPublishTs = time(NULL); - *(grp->metaData) = grpItem->meta; + if(serialOk && servCreateOk) + { + grp->metaData = new RsGxsGrpMetaData(); + grpItem->meta.mPublishTs = time(NULL); + *(grp->metaData) = grpItem->meta; - // TODO: change when publish key optimisation added (public groups don't have publish key - grp->metaData->mSubscribeFlags = GXS_SERV::GROUP_SUBSCRIBE_ADMIN | GXS_SERV::GROUP_SUBSCRIBE_SUBSCRIBED - | GXS_SERV::GROUP_SUBSCRIBE_PUBLISH; + // TODO: change when publish key optimisation added (public groups don't have publish key + grp->metaData->mSubscribeFlags = GXS_SERV::GROUP_SUBSCRIBE_ADMIN | GXS_SERV::GROUP_SUBSCRIBE_SUBSCRIBED + | GXS_SERV::GROUP_SUBSCRIBE_PUBLISH; - create = createGroup(grp, fullKeySet); + create = createGroup(grp, fullKeySet); #ifdef GEN_EXCH_DEBUG - std::cerr << "RsGenExchange::publishGrps() "; - std::cerr << " GrpId: " << grp->grpId; - std::cerr << " CircleType: " << (uint32_t) grp->metaData->mCircleType; - std::cerr << " CircleId: " << grp->metaData->mCircleId.toStdString(); - std::cerr << std::endl; + std::cerr << "RsGenExchange::publishGrps() "; + std::cerr << " GrpId: " << grp->grpId; + std::cerr << " CircleType: " << (uint32_t) grp->metaData->mCircleType; + std::cerr << " CircleId: " << grp->metaData->mCircleId.toStdString(); + std::cerr << std::endl; #endif - if(create == CREATE_SUCCESS) - { - // Here we need to make sure that no private keys are included. This is very important since private keys - // can be used to modify the group. Normally the private key set is whiped out by createGroup, but + if(create == CREATE_SUCCESS) + { + // Here we need to make sure that no private keys are included. This is very important since private keys + // can be used to modify the group. Normally the private key set is whiped out by createGroup, but - grp->metaData->keys.private_keys.clear() ; - - uint32_t mdSize = grp->metaData->serial_size(RS_GXS_GRP_META_DATA_CURRENT_API_VERSION); - - { - RsTemporaryMemory metaData(mdSize); - serialOk = grp->metaData->serialise(metaData, mdSize,RS_GXS_GRP_META_DATA_CURRENT_API_VERSION); + grp->metaData->keys.private_keys.clear() ; + + uint32_t mdSize = grp->metaData->serial_size(RS_GXS_GRP_META_DATA_CURRENT_API_VERSION); + + { + RsTemporaryMemory metaData(mdSize); + serialOk = grp->metaData->serialise(metaData, mdSize,RS_GXS_GRP_META_DATA_CURRENT_API_VERSION); #warning TODO: grp->meta should be renamed grp->public_meta ! - grp->meta.setBinData(metaData, mdSize); - } + grp->meta.setBinData(metaData, mdSize); + } - // Place back private keys for publisher and database storage - grp->metaData->keys.private_keys = fullKeySet.private_keys; + // Place back private keys for publisher and database storage + grp->metaData->keys.private_keys = fullKeySet.private_keys; - if(mDataStore->validSize(grp) && serialOk) - { - grpId = grp->grpId; - computeHash(grp->grp, grp->metaData->mHash); - grp->metaData->mRecvTS = time(NULL); + if(mDataStore->validSize(grp) && serialOk) + { + grpId = grp->grpId; + computeHash(grp->grp, grp->metaData->mHash); + grp->metaData->mRecvTS = time(NULL); - if(ggps.mIsUpdate) - mDataAccess->updateGroupData(grp); - else - mDataAccess->addGroupData(grp); + if(ggps.mIsUpdate) + mDataAccess->updateGroupData(grp); + else + mDataAccess->addGroupData(grp); #warning this is bad: addGroupData/updateGroupData actially deletes grp. But it may be used below? grp should be a class object and not deleted manually! - if(mNetService!=NULL) - mNetService->subscribeStatusChanged(grpId,true) ; - } - else - { - create = CREATE_FAIL; - } - } - } - else if(ret == SERVICE_CREATE_FAIL_TRY_LATER) - { - // if the service is not ready yet, reset the start timestamp to give the service more time - // the service should have it's own timeout mechanism - // services should return SERVICE_CREATE_FAIL if the action timed out - // at the moment this is only important for the idservice: - // the idservice may ask the user for a password, and the user needs time - ggps.mStartTS = now; - create = CREATE_FAIL_TRY_LATER; - } - else if(ret == SERVICE_CREATE_FAIL) - create = CREATE_FAIL; - } - else - { -#ifdef GEN_EXCH_DEBUG - std::cerr << "RsGenExchange::publishGrps() Could not find private publish keys " << std::endl; -#endif - create = CREATE_FAIL; - } - if(create == CREATE_FAIL) - { + groups_to_subscribe.push_back(grpId) ; + } + else + { + create = CREATE_FAIL; + } + } + } + else if(ret == SERVICE_CREATE_FAIL_TRY_LATER) + { + // if the service is not ready yet, reset the start timestamp to give the service more time + // the service should have it's own timeout mechanism + // services should return SERVICE_CREATE_FAIL if the action timed out + // at the moment this is only important for the idservice: + // the idservice may ask the user for a password, and the user needs time + ggps.mStartTS = now; + create = CREATE_FAIL_TRY_LATER; + } + else if(ret == SERVICE_CREATE_FAIL) + create = CREATE_FAIL; + } + else + { #ifdef GEN_EXCH_DEBUG - std::cerr << "RsGenExchange::publishGrps() failed to publish grp " << std::endl; + std::cerr << "RsGenExchange::publishGrps() Could not find private publish keys " << std::endl; #endif - delete grp; - delete grpItem; - vit = mGrpsToPublish.erase(vit); - toNotify.insert(std::make_pair( - token, GrpNote(false, grpId))); + create = CREATE_FAIL; + } - } - else if(create == CREATE_FAIL_TRY_LATER) - { + if(create == CREATE_FAIL) + { #ifdef GEN_EXCH_DEBUG - std::cerr << "RsGenExchange::publishGrps() failed grp, trying again " << std::endl; + std::cerr << "RsGenExchange::publishGrps() failed to publish grp " << std::endl; #endif - delete grp; - ggps.mLastAttemptTS = time(NULL); - ++vit; - } - else if(create == CREATE_SUCCESS) - { - delete grpItem; - vit = mGrpsToPublish.erase(vit); + delete grp; + delete grpItem; + vit = mGrpsToPublish.erase(vit); + toNotify.insert(std::make_pair( + token, GrpNote(false, grpId))); + + } + else if(create == CREATE_FAIL_TRY_LATER) + { +#ifdef GEN_EXCH_DEBUG + std::cerr << "RsGenExchange::publishGrps() failed grp, trying again " << std::endl; +#endif + delete grp; + ggps.mLastAttemptTS = time(NULL); + ++vit; + } + else if(create == CREATE_SUCCESS) + { + delete grpItem; + vit = mGrpsToPublish.erase(vit); #ifdef GEN_EXCH_DEBUG - std::cerr << "RsGenExchange::publishGrps() ok -> pushing to notifies" - << std::endl; + std::cerr << "RsGenExchange::publishGrps() ok -> pushing to notifies" + << std::endl; #endif - // add to published to allow acknowledgement - toNotify.insert(std::make_pair(token, - GrpNote(true,grpId))); - } - } - - std::map::iterator mit = toNotify.begin(); - - std::list grpChanged; - for(; mit != toNotify.end(); ++mit) - { - GrpNote& note = mit->second; - uint8_t status = note.first ? RsTokenService::GXS_REQUEST_V2_STATUS_COMPLETE - : RsTokenService::GXS_REQUEST_V2_STATUS_FAILED; - - mGrpNotify.insert(std::make_pair(mit->first, note.second)); - mDataAccess->updatePublicRequestStatus(mit->first, status); - - if(note.first) - grpChanged.push_back(note.second); - } - - if(!grpChanged.empty()) - { - RsGxsGroupChange* gc = new RsGxsGroupChange(RsGxsNotify::TYPE_PUBLISH, false); - gc->mGrpIdList = grpChanged; - mNotifications.push_back(gc); -#ifdef GEN_EXCH_DEBUG - std::cerr << " adding the following grp ids to notification: " << std::endl; - for(std::list::const_iterator it(grpChanged.begin());it!=grpChanged.end();++it) - std::cerr << " " << *it << std::endl; -#endif + // add to published to allow acknowledgement + toNotify.insert(std::make_pair(token, + GrpNote(true,grpId))); + } + } + + std::map::iterator mit = toNotify.begin(); + + std::list grpChanged; + for(; mit != toNotify.end(); ++mit) + { + GrpNote& note = mit->second; + uint8_t status = note.first ? RsTokenService::GXS_REQUEST_V2_STATUS_COMPLETE + : RsTokenService::GXS_REQUEST_V2_STATUS_FAILED; + + mGrpNotify.insert(std::make_pair(mit->first, note.second)); + mDataAccess->updatePublicRequestStatus(mit->first, status); + + if(note.first) + grpChanged.push_back(note.second); + } + + if(!grpChanged.empty()) + { + RsGxsGroupChange* gc = new RsGxsGroupChange(RsGxsNotify::TYPE_PUBLISH, false); + gc->mGrpIdList = grpChanged; + mNotifications.push_back(gc); +#ifdef GEN_EXCH_DEBUG + std::cerr << " adding the following grp ids to notification: " << std::endl; + for(std::list::const_iterator it(grpChanged.begin());it!=grpChanged.end();++it) + std::cerr << " " << *it << std::endl; +#endif + } } + // This is done off-mutex to avoid possible cross deadlocks with the net service. + + if(mNetService!=NULL) + for(std::list::const_iterator it(groups_to_subscribe.begin());it!=groups_to_subscribe.end();++it) + mNetService->subscribeStatusChanged((*it),true) ; } @@ -2590,218 +2599,228 @@ void RsGenExchange::computeHash(const RsTlvBinaryData& data, RsFileHash& hash) void RsGenExchange::processRecvdMessages() { - RS_STACK_MUTEX(mGenMtx) ; + std::list messages_to_reject ; + + { + RS_STACK_MUTEX(mGenMtx) ; #ifdef GEN_EXCH_DEBUG - if(!mMsgPendingValidate.empty()) - std::cerr << "processing received messages" << std::endl; + if(!mMsgPendingValidate.empty()) + std::cerr << "processing received messages" << std::endl; #endif - NxsMsgPendingVect::iterator pend_it = mMsgPendingValidate.begin(); + NxsMsgPendingVect::iterator pend_it = mMsgPendingValidate.begin(); #ifdef GEN_EXCH_DEBUG - if(!mMsgPendingValidate.empty()) - std::cerr << " pending validation" << std::endl; + if(!mMsgPendingValidate.empty()) + std::cerr << " pending validation" << std::endl; #endif - for(; pend_it != mMsgPendingValidate.end();) - { - GxsPendingItem& gpsi = *pend_it; + for(; pend_it != mMsgPendingValidate.end();) + { + GxsPendingItem& gpsi = *pend_it; #ifdef GEN_EXCH_DEBUG - std::cerr << " grp=" << gpsi.mId.first << ", msg=" << gpsi.mId.second << ", attempts=" << gpsi.mAttempts ; + std::cerr << " grp=" << gpsi.mId.first << ", msg=" << gpsi.mId.second << ", attempts=" << gpsi.mAttempts ; #endif - if(gpsi.mAttempts == VALIDATE_MAX_ATTEMPTS) - { + if(gpsi.mAttempts == VALIDATE_MAX_ATTEMPTS) + { #ifdef GEN_EXCH_DEBUG - std::cerr << " = max! deleting." << std::endl; + std::cerr << " = max! deleting." << std::endl; #endif - delete gpsi.mItem; - pend_it = mMsgPendingValidate.erase(pend_it); - } - else - { + delete gpsi.mItem; + pend_it = mMsgPendingValidate.erase(pend_it); + } + else + { #ifdef GEN_EXCH_DEBUG - std::cerr << " movign to recvd." << std::endl; + std::cerr << " movign to recvd." << std::endl; #endif - mReceivedMsgs.push_back(gpsi.mItem); - ++pend_it; - } - } + mReceivedMsgs.push_back(gpsi.mItem); + ++pend_it; + } + } - if(mReceivedMsgs.empty()) - return; + if(mReceivedMsgs.empty()) + return; - std::vector::iterator vit = mReceivedMsgs.begin(); - GxsMsgReq msgIds; - std::map msgs; + std::vector::iterator vit = mReceivedMsgs.begin(); + GxsMsgReq msgIds; + std::map msgs; - std::map grpMetas; + std::map grpMetas; - // coalesce group meta retrieval for performance - for(; vit != mReceivedMsgs.end(); ++vit) - { - RsNxsMsg* msg = *vit; - grpMetas.insert(std::make_pair(msg->grpId, (RsGxsGrpMetaData*)NULL)); - } + // coalesce group meta retrieval for performance + for(; vit != mReceivedMsgs.end(); ++vit) + { + RsNxsMsg* msg = *vit; + grpMetas.insert(std::make_pair(msg->grpId, (RsGxsGrpMetaData*)NULL)); + } - mDataStore->retrieveGxsGrpMetaData(grpMetas); + mDataStore->retrieveGxsGrpMetaData(grpMetas); #ifdef GEN_EXCH_DEBUG - std::cerr << " updating received messages:" << std::endl; + std::cerr << " updating received messages:" << std::endl; #endif - for(vit = mReceivedMsgs.begin(); vit != mReceivedMsgs.end(); ++vit) - { - RsNxsMsg* msg = *vit; - RsGxsMsgMetaData* meta = new RsGxsMsgMetaData(); + for(vit = mReceivedMsgs.begin(); vit != mReceivedMsgs.end(); ++vit) + { + RsNxsMsg* msg = *vit; + RsGxsMsgMetaData* meta = new RsGxsMsgMetaData(); - bool ok = false; + bool ok = false; - if(msg->meta.bin_len != 0) - ok = meta->deserialise(msg->meta.bin_data, &(msg->meta.bin_len)); + if(msg->meta.bin_len != 0) + ok = meta->deserialise(msg->meta.bin_data, &(msg->meta.bin_len)); - msg->metaData = meta; + msg->metaData = meta; #ifdef GEN_EXCH_DEBUG - std::cerr << " deserialised info: grp id=" << meta->mGroupId << ", msg id=" << meta->mMsgId ; + std::cerr << " deserialised info: grp id=" << meta->mGroupId << ", msg id=" << meta->mMsgId ; #endif - uint8_t validateReturn = VALIDATE_FAIL; + uint8_t validateReturn = VALIDATE_FAIL; - if(ok) - { - std::map::iterator mit = grpMetas.find(msg->grpId); + if(ok) + { + std::map::iterator mit = grpMetas.find(msg->grpId); #ifdef GEN_EXCH_DEBUG - std::cerr << " msg info : grp id=" << msg->grpId << ", msg id=" << msg->msgId << std::endl; + std::cerr << " msg info : grp id=" << msg->grpId << ", msg id=" << msg->msgId << std::endl; #endif - RsGxsGrpMetaData* grpMeta = NULL ; + RsGxsGrpMetaData* grpMeta = NULL ; - // validate msg - if(mit != grpMetas.end()) - { - grpMeta = mit->second; - validateReturn = validateMsg(msg, grpMeta->mGroupFlags, grpMeta->mSignFlags, grpMeta->keys); + // validate msg + if(mit != grpMetas.end()) + { + grpMeta = mit->second; + validateReturn = validateMsg(msg, grpMeta->mGroupFlags, grpMeta->mSignFlags, grpMeta->keys); #ifdef GEN_EXCH_DEBUG - std::cerr << " grpMeta.mSignFlags: " << std::hex << grpMeta->mSignFlags << std::dec << std::endl; - std::cerr << " grpMeta.mAuthFlags: " << std::hex << grpMeta->mAuthenFlags << std::dec << std::endl; - std::cerr << " message validation result: " << (int)validateReturn << std::endl; + std::cerr << " grpMeta.mSignFlags: " << std::hex << grpMeta->mSignFlags << std::dec << std::endl; + std::cerr << " grpMeta.mAuthFlags: " << std::hex << grpMeta->mAuthenFlags << std::dec << std::endl; + std::cerr << " message validation result: " << (int)validateReturn << std::endl; #endif - } + } - if(validateReturn == VALIDATE_SUCCESS) - { - meta->mMsgStatus = GXS_SERV::GXS_MSG_STATUS_UNPROCESSED | GXS_SERV::GXS_MSG_STATUS_GUI_NEW | GXS_SERV::GXS_MSG_STATUS_GUI_UNREAD; - msgs.insert(std::make_pair(msg, meta)); + if(validateReturn == VALIDATE_SUCCESS) + { + meta->mMsgStatus = GXS_SERV::GXS_MSG_STATUS_UNPROCESSED | GXS_SERV::GXS_MSG_STATUS_GUI_NEW | GXS_SERV::GXS_MSG_STATUS_GUI_UNREAD; + msgs.insert(std::make_pair(msg, meta)); - std::vector &msgv = msgIds[msg->grpId]; - if (std::find(msgv.begin(), msgv.end(), msg->msgId) == msgv.end()) - { - msgv.push_back(msg->msgId); - } + std::vector &msgv = msgIds[msg->grpId]; + if (std::find(msgv.begin(), msgv.end(), msg->msgId) == msgv.end()) + { + msgv.push_back(msg->msgId); + } - NxsMsgPendingVect::iterator validated_entry = std::find(mMsgPendingValidate.begin(), mMsgPendingValidate.end(), - getMsgIdPair(*msg)); + NxsMsgPendingVect::iterator validated_entry = std::find(mMsgPendingValidate.begin(), mMsgPendingValidate.end(), + getMsgIdPair(*msg)); - if(validated_entry != mMsgPendingValidate.end()) mMsgPendingValidate.erase(validated_entry); + if(validated_entry != mMsgPendingValidate.end()) mMsgPendingValidate.erase(validated_entry); - computeHash(msg->msg, meta->mHash); - meta->recvTS = time(NULL); + computeHash(msg->msg, meta->mHash); + meta->recvTS = time(NULL); #ifdef GEN_EXCH_DEBUG - std::cerr << " new status flags: " << meta->mMsgStatus << std::endl; - std::cerr << " computed hash: " << meta->mHash << std::endl; - std::cerr << "Message received. Identity=" << msg->metaData->mAuthorId << ", from peer " << msg->PeerId() << std::endl; + std::cerr << " new status flags: " << meta->mMsgStatus << std::endl; + std::cerr << " computed hash: " << meta->mHash << std::endl; + std::cerr << "Message received. Identity=" << msg->metaData->mAuthorId << ", from peer " << msg->PeerId() << std::endl; #endif - if(!msg->metaData->mAuthorId.isNull()) - mRoutingClues[msg->metaData->mAuthorId].insert(msg->PeerId()) ; + if(!msg->metaData->mAuthorId.isNull()) + mRoutingClues[msg->metaData->mAuthorId].insert(msg->PeerId()) ; - if(grpMeta->mSignFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) - mTrackingClues.push_back(std::make_pair(msg->msgId,msg->PeerId())) ; - } - - if(validateReturn == VALIDATE_FAIL) - { - // In this case, we notify the network exchange service not to DL the message again, at least not yet. - -#ifdef GEN_EXCH_DEBUG - std::cerr << "Notifying the network service to not download this message again." << std::endl; -#endif - mNetService->rejectMessage(msg->msgId) ; - } - } - else - { -#ifdef GEN_EXCH_DEBUG - std::cerr << " deserialisation failed!" <mSignFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) + mTrackingClues.push_back(std::make_pair(msg->msgId,msg->PeerId())) ; + } - if(validateReturn == VALIDATE_FAIL) - { + if(validateReturn == VALIDATE_FAIL) + { + // In this case, we notify the network exchange service not to DL the message again, at least not yet. #ifdef GEN_EXCH_DEBUG - std::cerr << "Validation failed for message id " - << "msg->grpId: " << msg->grpId << ", msgId: " << msg->msgId << std::endl; + std::cerr << "Notifying the network service to not download this message again." << std::endl; #endif + messages_to_reject.push_back(msg->msgId) ; + } + } + else + { +#ifdef GEN_EXCH_DEBUG + std::cerr << " deserialisation failed!" <grpId: " << msg->grpId << ", msgId: " << msg->msgId << std::endl; + std::cerr << "Validation failed for message id " + << "msg->grpId: " << msg->grpId << ", msgId: " << msg->msgId << std::endl; #endif - RsGxsGrpMsgIdPair id; - id.first = msg->grpId; - id.second = msg->msgId; + NxsMsgPendingVect::iterator failed_entry = std::find(mMsgPendingValidate.begin(), mMsgPendingValidate.end(), + getMsgIdPair(*msg)); - // first check you haven't made too many attempts + if(failed_entry != mMsgPendingValidate.end()) mMsgPendingValidate.erase(failed_entry); + delete msg; - NxsMsgPendingVect::iterator vit = std::find( - mMsgPendingValidate.begin(), mMsgPendingValidate.end(), id); - if(vit == mMsgPendingValidate.end()) - { - GxsPendingItem item(msg, id); - mMsgPendingValidate.push_back(item); - }else - { - vit->mAttempts++; - } - } - } - - // clean up resources from group meta retrieval - freeAndClearContainerResource, - RsGxsGrpMetaData*>(grpMetas); - - if(!msgIds.empty()) - { -#ifdef GEN_EXCH_DEBUG - std::cerr << " removing existing and old messages from incoming list." << std::endl; -#endif - removeDeleteExistingMessages(msgs, msgIds); + } + else if(validateReturn == VALIDATE_FAIL_TRY_LATER) + { #ifdef GEN_EXCH_DEBUG - std::cerr << " storing remaining messages" << std::endl; + std::cerr << "failed to validate msg, trying again: " + << "msg->grpId: " << msg->grpId << ", msgId: " << msg->msgId << std::endl; #endif - mDataStore->storeMessage(msgs); - RsGxsMsgChange* c = new RsGxsMsgChange(RsGxsNotify::TYPE_RECEIVE, false); - c->msgChangeMap = msgIds; - mNotifications.push_back(c); - } + RsGxsGrpMsgIdPair id; + id.first = msg->grpId; + id.second = msg->msgId; - mReceivedMsgs.clear(); + // first check you haven't made too many attempts + + NxsMsgPendingVect::iterator vit = std::find( + mMsgPendingValidate.begin(), mMsgPendingValidate.end(), id); + + if(vit == mMsgPendingValidate.end()) + { + GxsPendingItem item(msg, id); + mMsgPendingValidate.push_back(item); + }else + { + vit->mAttempts++; + } + } + } + + // clean up resources from group meta retrieval + freeAndClearContainerResource, + RsGxsGrpMetaData*>(grpMetas); + + if(!msgIds.empty()) + { +#ifdef GEN_EXCH_DEBUG + std::cerr << " removing existing and old messages from incoming list." << std::endl; +#endif + removeDeleteExistingMessages(msgs, msgIds); + +#ifdef GEN_EXCH_DEBUG + std::cerr << " storing remaining messages" << std::endl; +#endif + mDataStore->storeMessage(msgs); + + RsGxsMsgChange* c = new RsGxsMsgChange(RsGxsNotify::TYPE_RECEIVE, false); + c->msgChangeMap = msgIds; + mNotifications.push_back(c); + } + + mReceivedMsgs.clear(); + } + + // Done off-mutex to avoid cross deadlocks in the netservice that might call the RsGenExchange as an observer.. + + if(mNetService != NULL) + for(std::list::const_iterator it(messages_to_reject.begin());it!=messages_to_reject.end();++it) + mNetService->rejectMessage(*it) ; } void RsGenExchange::processRecvdGroups() diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index 4bfbfc071..8df2bea19 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -928,17 +928,22 @@ void RsGxsNetService::handleRecvSyncGrpStatistics(RsNxsSyncGrpStatsItem *grs) #ifdef NXS_NET_DEBUG_6 GXSNETDEBUG_PG(grs->PeerId(),grs->grpId) << "Received Grp update stats item from peer " << grs->PeerId() << " for group " << grs->grpId << ", reporting " << grs->number_of_posts << " posts." << std::endl; #endif - RS_STACK_MUTEX(mNxsMutex) ; - RsGroupNetworkStatsRecord& rec(mGroupNetworkStats[grs->grpId]) ; + bool should_notify = false ; + { + RS_STACK_MUTEX(mNxsMutex) ; + RsGroupNetworkStatsRecord& rec(mGroupNetworkStats[grs->grpId]) ; - uint32_t old_count = rec.max_visible_count ; - uint32_t old_suppliers_count = rec.suppliers.size() ; - - rec.suppliers.insert(grs->PeerId()) ; - rec.max_visible_count = std::max(rec.max_visible_count,grs->number_of_posts) ; - rec.update_TS = time(NULL) ; - - if (old_count != rec.max_visible_count || old_suppliers_count != rec.suppliers.size()) + uint32_t old_count = rec.max_visible_count ; + uint32_t old_suppliers_count = rec.suppliers.size() ; + + rec.suppliers.insert(grs->PeerId()) ; + rec.max_visible_count = std::max(rec.max_visible_count,grs->number_of_posts) ; + rec.update_TS = time(NULL) ; + + if (old_count != rec.max_visible_count || old_suppliers_count != rec.suppliers.size()) + should_notify = true ; + } + if(should_notify) mObserver->notifyChangedGroupStats(grs->grpId); } else From ba500284c7f2b980599641f7369d5a0fea7128ea Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 30 Jun 2016 14:16:45 -0400 Subject: [PATCH 015/158] added GXS distribution flag to defavor posts signed by key form unknown RS nodes, and updated UI in forums to use it --- libretroshare/src/gxs/rsgenexchange.cc | 11 ++- libretroshare/src/retroshare/rsgxsflags.h | 2 + retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp | 74 ++++++++------ retroshare-gui/src/gui/gxs/GxsGroupDialog.h | 5 +- retroshare-gui/src/gui/gxs/GxsGroupDialog.ui | 98 +++++++------------ .../src/gui/gxsforums/CreateGxsForumMsg.cpp | 2 +- .../gui/gxsforums/GxsForumThreadWidget.cpp | 3 +- 7 files changed, 96 insertions(+), 99 deletions(-) diff --git a/libretroshare/src/gxs/rsgenexchange.cc b/libretroshare/src/gxs/rsgenexchange.cc index 615c96e3e..e4c83d5db 100644 --- a/libretroshare/src/gxs/rsgenexchange.cc +++ b/libretroshare/src/gxs/rsgenexchange.cc @@ -881,8 +881,15 @@ int RsGenExchange::validateMsg(RsNxsMsg *msg, const uint32_t& grpFlag, const uin { // now check reputation of the message author - float reputation_threshold = ( (signFlag & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) && !(details.mFlags & RS_IDENTITY_FLAGS_PGP_LINKED)) ? (RsReputations::REPUTATION_THRESHOLD_ANTI_SPAM): (RsReputations::REPUTATION_THRESHOLD_DEFAULT) ; - + float reputation_threshold = RsReputations::REPUTATION_THRESHOLD_DEFAULT; + + if( (signFlag & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG_KNOWN) && !(details.mFlags & RS_IDENTITY_FLAGS_PGP_KNOWN)) + reputation_threshold = RsReputations::REPUTATION_THRESHOLD_ANTI_SPAM; + else if( (signFlag & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) && !(details.mFlags & RS_IDENTITY_FLAGS_PGP_LINKED)) + reputation_threshold = RsReputations::REPUTATION_THRESHOLD_ANTI_SPAM; + else + reputation_threshold = RsReputations::REPUTATION_THRESHOLD_DEFAULT; + if(details.mReputation.mOverallReputationScore < reputation_threshold) { #ifdef GEN_EXCH_DEBUG diff --git a/libretroshare/src/retroshare/rsgxsflags.h b/libretroshare/src/retroshare/rsgxsflags.h index c9b92c6f1..6233fc1fd 100644 --- a/libretroshare/src/retroshare/rsgxsflags.h +++ b/libretroshare/src/retroshare/rsgxsflags.h @@ -34,6 +34,7 @@ namespace GXS_SERV { static const uint32_t FLAG_AUTHOR_AUTHENTICATION_REQUIRED = 0x00000200; static const uint32_t FLAG_AUTHOR_AUTHENTICATION_IFNOPUBSIGN = 0x00000400; static const uint32_t FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES = 0x00000800; + static const uint32_t FLAG_AUTHOR_AUTHENTICATION_GPG_KNOWN = 0x00001000; static const uint32_t FLAG_GROUP_SIGN_PUBLISH_MASK = 0x000000ff; static const uint32_t FLAG_GROUP_SIGN_PUBLISH_ENCRYPTED = 0x00000001; @@ -105,6 +106,7 @@ namespace GXS_SERV { #define IS_MSG_UNPROCESSED(status) (status & GXS_SERV::GXS_MSG_STATUS_UNPROCESSED) #define IS_GROUP_PGP_AUTHED(signFlags) (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) +#define IS_GROUP_PGP_KNOWN_AUTHED(signFlags) (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG_KNOWN) #define IS_GROUP_MESSAGE_TRACKING(signFlags) (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) #define IS_GROUP_ADMIN(subscribeFlags) (subscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_ADMIN) diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp index f519cb4bf..8c451e3da 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp @@ -302,7 +302,13 @@ void GxsGroupDialog::setupDefaults() } } ui.antiSpam_trackMessages->setChecked((bool)(mDefaultsFlags & GXS_GROUP_DEFAULTS_ANTISPAM_TRACK)); - ui.antiSpam_signedIds->setChecked((bool)(mDefaultsFlags & GXS_GROUP_DEFAULTS_ANTISPAM_FAVOR_PGP)); + + if( (mDefaultsFlags & GXS_GROUP_DEFAULTS_ANTISPAM_FAVOR_PGP) && (mDefaultsFlags & GXS_GROUP_DEFAULTS_ANTISPAM_FAVOR_PGP_KNOWN)) + ui.antiSpam_perms_CB->setCurrentIndex(2) ; + else if(mDefaultsFlags & GXS_GROUP_DEFAULTS_ANTISPAM_FAVOR_PGP) + ui.antiSpam_perms_CB->setCurrentIndex(1) ; + else + ui.antiSpam_perms_CB->setCurrentIndex(0) ; QString antispam_string ; if(mDefaultsFlags & GXS_GROUP_DEFAULTS_ANTISPAM_TRACK) antispam_string += tr("Message tracking") ; @@ -613,32 +619,37 @@ void GxsGroupDialog::createGroup() uint32_t GxsGroupDialog::getGroupSignFlags() { - /* grab from the ui options -> */ - uint32_t signFlags = 0; - if (ui.publish_encrypt->isChecked()) { - signFlags |= GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_ENCRYPTED; - } else if (ui.publish_required->isChecked()) { - signFlags |= GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_ALLSIGNED; - } else if (ui.publish_threads->isChecked()) { - signFlags |= GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_THREADHEAD; - } else { // publish_open (default). - signFlags |= GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_NONEREQ; - } + /* grab from the ui options -> */ + uint32_t signFlags = 0; + if (ui.publish_encrypt->isChecked()) { + signFlags |= GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_ENCRYPTED; + } else if (ui.publish_required->isChecked()) { + signFlags |= GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_ALLSIGNED; + } else if (ui.publish_threads->isChecked()) { + signFlags |= GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_THREADHEAD; + } else { // publish_open (default). + signFlags |= GXS_SERV::FLAG_GROUP_SIGN_PUBLISH_NONEREQ; + } - if (ui.personal_required->isChecked()) - signFlags |= GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_REQUIRED; - - if (ui.personal_ifnopub->isChecked()) - signFlags |= GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_IFNOPUBSIGN; - - // Author Signature. - if (ui.antiSpam_signedIds->isChecked()) - signFlags |= GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG; - - if (ui.antiSpam_trackMessages->isChecked()) - signFlags |= GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES; - - return signFlags; + if (ui.personal_required->isChecked()) + signFlags |= GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_REQUIRED; + + if (ui.personal_ifnopub->isChecked()) + signFlags |= GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_IFNOPUBSIGN; + + // Author Signature. + switch(ui.antiSpam_perms_CB->currentIndex()) + { + case 0: break ; + case 2: signFlags |= GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG_KNOWN; // no break below, since we want *both* flags in this case. + case 1: signFlags |= GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG; + break ; + } + + if (ui.antiSpam_trackMessages->isChecked()) + signFlags |= GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES; + + return signFlags; } void GxsGroupDialog::setGroupSignFlags(uint32_t signFlags) @@ -660,11 +671,18 @@ void GxsGroupDialog::setGroupSignFlags(uint32_t signFlags) ui.personal_ifnopub->setChecked(true); ui.antiSpam_trackMessages ->setChecked((bool)(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) ); - ui.antiSpam_signedIds ->setChecked((bool)(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) ); + if( (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG_KNOWN) && (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG)) + ui.antiSpam_perms_CB->setCurrentIndex(2) ; + else if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) + ui.antiSpam_perms_CB->setCurrentIndex(1) ; + else + ui.antiSpam_perms_CB->setCurrentIndex(0) ; + QString antispam_string ; if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) antispam_string += tr("Message tracking") ; - if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) antispam_string += (antispam_string.isNull()?"":" and ")+tr("PGP signature required") ; + if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG_KNOWN) antispam_string += (antispam_string.isNull()?"":" and ")+tr("PGP signature from known ID required") ; + if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) antispam_string += (antispam_string.isNull()?"":" and ")+tr("PGP signature required") ; ui.antiSpamValueLabel->setText(antispam_string) ; //ui.antiSpam_trackMessages_2->setChecked((bool)(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) ); diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.h b/retroshare-gui/src/gui/gxs/GxsGroupDialog.h index 7f94c32db..b71a39952 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.h +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.h @@ -90,8 +90,9 @@ public: #define GXS_GROUP_DEFAULTS_COMMENTS_YES 0x00001000 #define GXS_GROUP_DEFAULTS_COMMENTS_NO 0x00002000 -#define GXS_GROUP_DEFAULTS_ANTISPAM_FAVOR_PGP 0x00100000 -#define GXS_GROUP_DEFAULTS_ANTISPAM_TRACK 0x00200000 +#define GXS_GROUP_DEFAULTS_ANTISPAM_FAVOR_PGP 0x00100000 +#define GXS_GROUP_DEFAULTS_ANTISPAM_TRACK 0x00200000 +#define GXS_GROUP_DEFAULTS_ANTISPAM_FAVOR_PGP_KNOWN 0x00400000 /*! * The aim of this dialog is to be convenient to encapsulate group diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui index eb5228c81..790897d7c 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui @@ -6,32 +6,23 @@ 0 0 - 828 - 612 + 935 + 785 Create New - - 0 - - - 0 - - - 0 - - - 0 - 6 0 + + 0 + @@ -57,16 +48,7 @@ 0 - - 4 - - - 4 - - - 4 - - + 4 @@ -130,16 +112,7 @@ 9 - - 3 - - - 3 - - - 3 - - + 3 @@ -261,16 +234,7 @@ - - 0 - - - 0 - - - 0 - - + 0 @@ -580,35 +544,39 @@ Spam-protection - - 6 - - - 9 - - - 4 - - - 9 - - - 4 - - - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - + - Favor PGP-signed ids + Posts permissions: + + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> Keep track of posts diff --git a/retroshare-gui/src/gui/gxsforums/CreateGxsForumMsg.cpp b/retroshare-gui/src/gui/gxsforums/CreateGxsForumMsg.cpp index 6898ce228..f73aeef91 100644 --- a/retroshare-gui/src/gui/gxsforums/CreateGxsForumMsg.cpp +++ b/retroshare-gui/src/gui/gxsforums/CreateGxsForumMsg.cpp @@ -212,7 +212,7 @@ void CreateGxsForumMsg::loadFormInformation() //std::cerr << "CreateGxsForumMsg::loadMsgInformation() using signFlags=" << std::hex << mForumMeta.mSignFlags << std::dec << std::endl; - if(mForumMeta.mSignFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) + if( (mForumMeta.mSignFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) || (mForumMeta.mSignFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG_KNOWN)) ui.idChooser->setFlags(IDCHOOSER_ID_REQUIRED | IDCHOOSER_NON_ANONYMOUS) ; else ui.idChooser->setFlags(IDCHOOSER_ID_REQUIRED) ; diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp index 82ed1e6dd..84dda7516 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp +++ b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp @@ -791,7 +791,8 @@ void GxsForumThreadWidget::insertGroupData() tw->ui->forumName->setText(QString::fromUtf8(group.mMeta.mGroupName.c_str())); QString anti_spam_features1 ; - if(IS_GROUP_PGP_AUTHED(tw->mSignFlags)) anti_spam_features1 = tr("Anonymous IDs reputation threshold set to 0.4"); + if(IS_GROUP_PGP_KNOWN_AUTHED(tw->mSignFlags)) anti_spam_features1 = tr("Anonymous/unknown node IDs reputation threshold set to 0.4"); + else if(IS_GROUP_PGP_AUTHED(tw->mSignFlags)) anti_spam_features1 = tr("Anonymous IDs reputation threshold set to 0.4"); QString anti_spam_features2 ; if(IS_GROUP_MESSAGE_TRACKING(tw->mSignFlags)) anti_spam_features2 = tr("Message routing info kept for 10 days"); From ef954514bef4a9c93ec953fcc6452e889fe36b7f Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 28 Jun 2016 21:16:31 -0400 Subject: [PATCH 016/158] updated changelog --- build_scripts/Debian+Ubuntu/changelog | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/build_scripts/Debian+Ubuntu/changelog b/build_scripts/Debian+Ubuntu/changelog index 31a9a39fa..22357aac9 100644 --- a/build_scripts/Debian+Ubuntu/changelog +++ b/build_scripts/Debian+Ubuntu/changelog @@ -1,5 +1,11 @@ retroshare06 (0.6.0-1.XXXXXX~YYYYYY) YYYYYY; urgency=low + 9f7ef8b csoler Tue, 28 Jun 2016 20:59:56 -0400 fixed possible cross deadlocks between RsGxsGenExchange and RsGxsNetService + 00bdc50 csoler Tue, 28 Jun 2016 17:56:37 -0400 updated changelog + bb82b6e csoler Tue, 28 Jun 2016 14:35:59 -0400 Merge pull request #429 from PhenomRetroShare/Fix_StandardQSS + 456751a Phenom Tue, 28 Jun 2016 20:23:32 +0200 Fix ProgressBar Chunk with Standard.qss + 019ed12 csoler Tue, 28 Jun 2016 12:37:04 -0400 Merge pull request #428 from sehraf/pr-fix-udp + ea07a13 sehraf Tue, 28 Jun 2016 17:37:22 +0200 fix TcpPacket::readPacket c15c979 csoler Mon, 27 Jun 2016 17:17:28 +0100 Merge pull request #426 from sehraf/pr-disable-dht-stunner ff86678 csoler Sun, 26 Jun 2016 23:14:01 -0400 clear error queue before calling SSL_read()/SSL_write(), to avoid remaining errors to corrupt the next connection attempts and cause disconnections 31089d7 csoler Sat, 25 Jun 2016 19:12:35 +0100 added auto-clean of pending data in pqistreamer after connection is closed, to avoid confusing the peer after re-connecting (probably not the cause of the SSL error) From 2dfe116a31a8982bbcf53856aa5e0057d1922d64 Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 30 Jun 2016 14:21:54 -0400 Subject: [PATCH 017/158] added compilation flag for profiling in GUI --- retroshare-gui/src/retroshare-gui.pro | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/retroshare-gui/src/retroshare-gui.pro b/retroshare-gui/src/retroshare-gui.pro index 69278042a..e4f1fa73c 100644 --- a/retroshare-gui/src/retroshare-gui.pro +++ b/retroshare-gui/src/retroshare-gui.pro @@ -14,6 +14,13 @@ DEFINES += TARGET=\\\"$TARGET\\\" #CONFIG += debug #DEFINES *= SIGFPE_DEBUG +profiling { + QMAKE_CXXFLAGS -= -fomit-frame-pointer + QMAKE_CXXFLAGS *= -pg -g -fno-omit-frame-pointer + QMAKE_LFLAGS *= -pg +} + + #QMAKE_CFLAGS += -fmudflap #LIBS *= /usr/lib/gcc/x86_64-linux-gnu/4.4/libmudflap.a /usr/lib/gcc/x86_64-linux-gnu/4.4/libmudflapth.a @@ -69,7 +76,7 @@ linux-* { PKGCONFIG *= x11 xscrnsaver - LIBS *= -rdynamic + LIBS *= -rdynamic DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions DEFINES *= HAS_GNOME_KEYRING } From 0206c652df5dba5b3758c7958379be8098ace56c Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 30 Jun 2016 15:06:41 -0400 Subject: [PATCH 018/158] added missing else in display of forum anti-spam message --- retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp index 8c451e3da..049566aad 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp @@ -682,6 +682,7 @@ void GxsGroupDialog::setGroupSignFlags(uint32_t signFlags) QString antispam_string ; if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) antispam_string += tr("Message tracking") ; if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG_KNOWN) antispam_string += (antispam_string.isNull()?"":" and ")+tr("PGP signature from known ID required") ; + else if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) antispam_string += (antispam_string.isNull()?"":" and ")+tr("PGP signature required") ; ui.antiSpamValueLabel->setText(antispam_string) ; From da4c563223300032386533fb7806fd367b51f683 Mon Sep 17 00:00:00 2001 From: Gio Date: Thu, 30 Jun 2016 22:03:22 +0200 Subject: [PATCH 019/158] Fix typo in libresapi documentation --- libresapi/src/api/ApiServer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libresapi/src/api/ApiServer.cpp b/libresapi/src/api/ApiServer.cpp index 6db36f96f..34d1cfc5c 100644 --- a/libresapi/src/api/ApiServer.cpp +++ b/libresapi/src/api/ApiServer.cpp @@ -150,10 +150,10 @@ want generic resource caching mechanism - dynamic handlers contain result data, and thus get deleted after a while it is even possible to implement a resource-changed check at the highest level -this allows to compute everything on the server side and only send chanes to the client +this allows to compute everything on the server side and only send changes to the client the different resource providers don't have to implement a resource changed check then a top level change detector will poll them -of course this does not wokr with a deep resource tree with millions of nodes +of course this does not work with a deep resource tree with millions of nodes for this we have the dynamic handlers, they are created on demand and know how to listen for changes which affect them From 8e2d4e05cec7253f55c663ab80b6230a5a5eed91 Mon Sep 17 00:00:00 2001 From: Gio Date: Fri, 1 Jul 2016 10:18:42 +0200 Subject: [PATCH 020/158] Fix typo in libresapi documentation --- libresapi/src/api/ApiServerMHD.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libresapi/src/api/ApiServerMHD.cpp b/libresapi/src/api/ApiServerMHD.cpp index 2ee6af149..9522c66be 100644 --- a/libresapi/src/api/ApiServerMHD.cpp +++ b/libresapi/src/api/ApiServerMHD.cpp @@ -559,7 +559,7 @@ int ApiServerMHD::accessHandlerCallback(MHD_Connection *connection, return ((MHDHandlerBase*)(*con_cls))->handleRequest(connection, url, method, version, upload_data, upload_data_size); } - // these characters are not allowe in the url, raise an error if they occur + // these characters are not allowed in the url, raise an error if they occur // reason: don't want to serve files outside the current document root const char *double_dots = ".."; if(strstr(url, double_dots)) From 86d8f01033debc7fd6af10cbf9626a19f3532961 Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 1 Jul 2016 23:38:10 -0400 Subject: [PATCH 021/158] added a local cache in rsdataservice to avoid calling sqlcipher on GrpMetaData --- libretroshare/src/gxs/rsdataservice.cc | 139 ++++++++++++++++++------- libretroshare/src/gxs/rsdataservice.h | 7 ++ 2 files changed, 107 insertions(+), 39 deletions(-) diff --git a/libretroshare/src/gxs/rsdataservice.cc b/libretroshare/src/gxs/rsdataservice.cc index c0fe58f4d..f8bc384de 100644 --- a/libretroshare/src/gxs/rsdataservice.cc +++ b/libretroshare/src/gxs/rsdataservice.cc @@ -27,6 +27,7 @@ /***** * #define RS_DATA_SERVICE_DEBUG 1 * #define RS_DATA_SERVICE_DEBUG_TIME 1 + * #define RS_DATA_SERVICE_DEBUG_CACHE 1 ****/ #include @@ -123,6 +124,7 @@ RsDataService::RsDataService(const std::string &serviceDir, const std::string &d : RsGeneralDataService(), mDbMutex("RsDataService"), mServiceDir(serviceDir), mDbName(dbName), mDbPath(mServiceDir + "/" + dbName), mServType(serviceType), mDb(NULL) { bool isNewDatabase = !RsDirUtil::fileExists(mDbPath); + mGrpMetaDataCache_ContainsAllDatabase = false ; mDb = new RetroDb(mDbPath, RetroDb::OPEN_READWRITE_CREATE, key); @@ -1231,6 +1233,9 @@ int RsDataService::retrieveGxsMsgMetaData(const GxsMsgReq& reqIds, GxsMsgMetaRes if (c) { locked_retrieveMsgMeta(c, metaSet); +#ifdef RS_DATA_SERVICE_DEBUG_CACHE + std::cerr << "Retrieving (all) Msg metadata grpId=" << grpId << ", " << std::dec << metaSet.size() << " messages" << std::endl; +#endif } }else{ @@ -1245,6 +1250,9 @@ int RsDataService::retrieveGxsMsgMetaData(const GxsMsgReq& reqIds, GxsMsgMetaRes if (c) { locked_retrieveMsgMeta(c, metaSet); +#ifdef RS_DATA_SERVICE_DEBUG_CACHE + std::cerr << "Retrieving Msg metadata grpId=" << grpId << ", " << std::dec << metaSet.size() << " messages" << std::endl; +#endif } } } @@ -1296,34 +1304,51 @@ int RsDataService::retrieveGxsGrpMetaData(std::map::const_iterator it(mGrpMetaDataCache.begin());it!=mGrpMetaDataCache.end();++it) + grp[it->first] = new RsGxsGrpMetaData(it->second); + } + else + { #ifdef RS_DATA_SERVICE_DEBUG - std::cerr << "RsDataService::retrieveGxsGrpMetaData() retrieving all"; - std::cerr << std::endl; + std::cerr << "RsDataService::retrieveGxsGrpMetaData() retrieving all" << std::endl; #endif - RetroCursor* c = mDb->sqlQuery(GRP_TABLE_NAME, mGrpMetaColumns, "", ""); + RetroCursor* c = mDb->sqlQuery(GRP_TABLE_NAME, mGrpMetaColumns, "", ""); - if(c) - { - bool valid = c->moveToFirst(); + if(c) + { + bool valid = c->moveToFirst(); - while(valid) - { - RsGxsGrpMetaData* g = locked_getGrpMeta(*c, 0); - if(g) - { - grp[g->mGroupId] = g; - } - valid = c->moveToNext(); + while(valid) + { + RsGxsGrpMetaData* g = locked_getGrpMeta(*c, 0); + if(g) + { + grp[g->mGroupId] = g; + mGrpMetaDataCache[g->mGroupId] = *g ; +#ifdef RS_DATA_SERVICE_DEBUG_CACHE + std::cerr << (void *)this << ": Retrieving (all) Grp metadata grpId=" << g->mGroupId << std::endl; +#endif + } + valid = c->moveToNext(); #ifdef RS_DATA_SERVICE_DEBUG_TIME - ++resultCount; + ++resultCount; #endif - } - delete c; - } + } + delete c; + } + + mGrpMetaDataCache_ContainsAllDatabase = true ; + } }else { @@ -1331,30 +1356,56 @@ int RsDataService::retrieveGxsGrpMetaData(std::mapfirst; - RetroCursor* c = mDb->sqlQuery(GRP_TABLE_NAME, mGrpMetaColumns, "grpId='" + grpId.toStdString() + "'", ""); - - if(c) + std::map::const_iterator itt = mGrpMetaDataCache.find(mit->first) ; + if(itt != mGrpMetaDataCache.end()) { - bool valid = c->moveToFirst(); +#ifdef RS_DATA_SERVICE_DEBUG_CACHE + std::cerr << "Retrieving Grp metadata grpId=" << mit->first << " from cache!" << std::endl; +#endif + grp[mit->first] = new RsGxsGrpMetaData(itt->second) ; + } + else + { +#ifdef RS_DATA_SERVICE_DEBUG_CACHE + std::cerr << "Retrieving Grp metadata grpId=" << mit->first ; +#endif - while(valid) - { - RsGxsGrpMetaData* g = locked_getGrpMeta(*c, 0); + const RsGxsGroupId& grpId = mit->first; + RetroCursor* c = mDb->sqlQuery(GRP_TABLE_NAME, mGrpMetaColumns, "grpId='" + grpId.toStdString() + "'", ""); - if(g) - { - grp[g->mGroupId] = g; - } - valid = c->moveToNext(); + if(c) + { + bool valid = c->moveToFirst(); + +//#ifdef RS_DATA_SERVICE_DEBUG_CACHE + if(!valid) + std::cerr << " Empty query! GrpId " << grpId << " is not in database" << std::endl; +//#endif + while(valid) + { + RsGxsGrpMetaData* g = locked_getGrpMeta(*c, 0); + + if(g) + { + grp[g->mGroupId] = g; + mGrpMetaDataCache[g->mGroupId] = *g ; +#ifdef RS_DATA_SERVICE_DEBUG_CACHE + std::cerr << ". Got it. Updating cache." << std::endl; +#endif + } + valid = c->moveToNext(); #ifdef RS_DATA_SERVICE_DEBUG_TIME - ++resultCount; + ++resultCount; #endif - } - delete c; - } - + } + delete c; + } +#ifdef RS_DATA_SERVICE_DEBUG_CACHE + else + std::cerr << ". not found!" << std::endl; +#endif + } } } @@ -1391,13 +1442,23 @@ int RsDataService::resetDataStore() int RsDataService::updateGroupMetaData(GrpLocMetaData &meta) { - RsStackMutex stack(mDbMutex); + std::cerr << (void*)this << ": Updating Grp Meta data: grpId = " << meta.grpId << std::endl; + + RsStackMutex stack(mDbMutex); RsGxsGroupId& grpId = meta.grpId; + + std::cerr << (void*)this << ": erasing old entry from cache." << std::endl; + + mGrpMetaDataCache_ContainsAllDatabase = false ; + mGrpMetaDataCache.erase(meta.grpId) ; + return mDb->sqlUpdate(GRP_TABLE_NAME, KEY_GRP_ID+ "='" + grpId.toStdString() + "'", meta.val) ? 1 : 0; } int RsDataService::updateMessageMetaData(MsgLocMetaData &metaData) { + std::cerr << (void*)this << ": Updating Msg Meta data: grpId = " << metaData.msgId.first << " msgId = " << metaData.msgId.second << std::endl; + RsStackMutex stack(mDbMutex); RsGxsGroupId& grpId = metaData.msgId.first; RsGxsMessageId& msgId = metaData.msgId.second; diff --git a/libretroshare/src/gxs/rsdataservice.h b/libretroshare/src/gxs/rsdataservice.h index b15f08c27..451d630cc 100644 --- a/libretroshare/src/gxs/rsdataservice.h +++ b/libretroshare/src/gxs/rsdataservice.h @@ -340,6 +340,13 @@ private: uint16_t mServType; RetroDb* mDb; + + // used to store metadata instead of reading it from the database. + // The boolean variable below is also used to force re-reading when + // the entre list of grp metadata is requested (which happens quite often) + + std::map mGrpMetaDataCache ; + bool mGrpMetaDataCache_ContainsAllDatabase ; }; #endif // RSDATASERVICE_H From 720c6fd91512901c2f34ab4c56430a6f79e4edbb Mon Sep 17 00:00:00 2001 From: csoler Date: Sat, 2 Jul 2016 22:41:12 -0400 Subject: [PATCH 022/158] fixed bug causing TS update of some unused identities --- libretroshare/src/services/p3idservice.cc | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index 6536d384d..4d59be143 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -258,10 +258,7 @@ time_t p3IdService::locked_getLastUsageTS(const RsGxsId& gxs_id) std::map::const_iterator it = mKeysTS.find(gxs_id) ; if(it == mKeysTS.end()) - { - slowIndicateConfigChanged() ; - return mKeysTS[gxs_id] = time(NULL) ; - } + return 0 ; else return it->second ; } @@ -345,7 +342,7 @@ public: if(it == mLastUsageTS.end()) { - std::cerr << "No Ts for this ID" << std::endl; + std::cerr << "No Ts for this ID => kept" << std::endl; return true ; } @@ -413,10 +410,7 @@ void p3IdService::cleanUnusedKeys() { RS_STACK_MUTEX(mIdMtx) ; - std::map::iterator tmp = mKeysTS.find(*it) ; - - if(mKeysTS.end() != tmp) - mKeysTS.erase(tmp) ; + mKeysTS.erase(*it) ; // mPublicKeyCache.erase(*it) ; no need to do it now. It's done in p3IdService::deleteGroup() } From e611b2bb05905308edf4c81582bb2b8ebe9de8fb Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 3 Jul 2016 18:06:01 -0400 Subject: [PATCH 023/158] moved isIdentitybanned from p3GxsReputations to p3IdService, so as to avoid calling back p3IdService from p3GxsReputations, which simplifies the code --- libretroshare/src/chat/distributedchat.cc | 5 +- libretroshare/src/grouter/p3grouter.cc | 3 +- libretroshare/src/gxs/rsgxsnetservice.cc | 10 +-- libretroshare/src/gxs/rsgxsutil.cc | 5 +- libretroshare/src/retroshare/rsidentity.h | 1 + libretroshare/src/retroshare/rsreputations.h | 4 +- libretroshare/src/services/p3gxsreputation.cc | 75 ++++++++++++++----- libretroshare/src/services/p3gxsreputation.h | 4 +- libretroshare/src/services/p3idservice.cc | 18 ++++- libretroshare/src/services/p3idservice.h | 1 + .../src/gui/Identity/IdDetailsDialog.cpp | 3 +- retroshare-gui/src/gui/Identity/IdDialog.cpp | 18 ++--- retroshare-gui/src/gui/gxs/GxsIdDetails.cpp | 6 +- .../src/gui/gxs/GxsIdTreeWidgetItem.cpp | 6 +- .../gui/gxsforums/GxsForumThreadWidget.cpp | 4 +- 15 files changed, 100 insertions(+), 63 deletions(-) diff --git a/libretroshare/src/chat/distributedchat.cc b/libretroshare/src/chat/distributedchat.cc index 88460f1f7..2ed75fd1b 100644 --- a/libretroshare/src/chat/distributedchat.cc +++ b/libretroshare/src/chat/distributedchat.cc @@ -34,7 +34,6 @@ #include "pqi/p3historymgr.h" #include "retroshare/rspeers.h" #include "retroshare/rsiface.h" -#include "retroshare/rsreputations.h" #include "retroshare/rsidentity.h" #include "rsserver/p3face.h" #include "gxs/rsgixs.h" @@ -139,7 +138,7 @@ bool DistributedChatService::handleRecvChatLobbyMsgItem(RsChatMsgItem *ci) return false ; } - if(rsReputations->isIdentityBanned(cli->signature.keyId)) + if(rsIdentity->isBanned(cli->signature.keyId)) { std::cerr << "(WW) Received lobby msg/item from banned identity " << cli->signature.keyId << ". Dropping it." << std::endl; return false ; @@ -648,7 +647,7 @@ void DistributedChatService::handleRecvChatLobbyEventItem(RsChatLobbyEventItem * #endif time_t now = time(NULL) ; - if(rsReputations->isIdentityBanned(item->signature.keyId)) + if(rsIdentity->isBanned(item->signature.keyId)) { std::cerr << "(WW) Received lobby msg/item from banned identity " << item->signature.keyId << ". Dropping it." << std::endl; return ; diff --git a/libretroshare/src/grouter/p3grouter.cc b/libretroshare/src/grouter/p3grouter.cc index 9b6f9a8de..1d698881c 100644 --- a/libretroshare/src/grouter/p3grouter.cc +++ b/libretroshare/src/grouter/p3grouter.cc @@ -191,7 +191,6 @@ #include "turtle/p3turtle.h" #include "gxs/rsgixs.h" #include "retroshare/rspeers.h" -#include "retroshare/rsreputations.h" #include "p3grouter.h" #include "grouteritems.h" @@ -1994,7 +1993,7 @@ bool p3GRouter::verifySignedDataItem(RsGRouterAbstractMsgItem *item,uint32_t& er { try { - if(rsReputations->isIdentityBanned(item->signature.keyId)) + if(rsIdentity->isBanned(item->signature.keyId)) { std::cerr << "(WW) received global router message from banned identity " << item->signature.keyId << ". Rejecting the message." << std::endl; return false ; diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index 8df2bea19..477e53613 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -204,7 +204,6 @@ #include "rsgxsnetservice.h" #include "gxssecurity.h" #include "retroshare/rsconfig.h" -#include "retroshare/rsreputations.h" #include "retroshare/rsgxsflags.h" #include "retroshare/rsgxscircles.h" #include "pgp/pgpauxutils.h" @@ -2928,9 +2927,8 @@ void RsGxsNetService::locked_genReqMsgTransaction(NxsTransaction* tr) #endif continue; } - // FIXTESTS global variable rsReputations not available in unittests! - if(rsReputations == 0){ std::cerr << "rsReputations==0, accepting all messages!" << std::endl; } - if(rsReputations && rsReputations->isIdentityBanned(syncItem->authorId)) + + if(rsIdentity && rsIdentity->isBanned(syncItem->authorId)) { #ifdef NXS_NET_DEBUG_1 GXSNETDEBUG_PG(item->PeerId(),grpId) << ", Identity " << syncItem->authorId << " is banned. Not requesting message!" << std::endl; @@ -3174,8 +3172,8 @@ void RsGxsNetService::locked_genReqGrpTransaction(NxsTransaction* tr) latestVersion = grpSyncItem->publishTs > metaIter->second->mPublishTs; } // FIXTESTS global variable rsReputations not available in unittests! - if(rsReputations == 0){ std::cerr << "rsReputations==0, accepting all groups!" << std::endl; } - if(!grpSyncItem->authorId.isNull() && rsReputations && rsReputations->isIdentityBanned(grpSyncItem->authorId)) + + if(!grpSyncItem->authorId.isNull() && rsIdentity && rsIdentity->isBanned(grpSyncItem->authorId)) { #ifdef NXS_NET_DEBUG_0 GXSNETDEBUG_PG(tr->mTransaction->PeerId(),grpId) << " Identity " << grpSyncItem->authorId << " is banned. Not syncing group." << std::endl; diff --git a/libretroshare/src/gxs/rsgxsutil.cc b/libretroshare/src/gxs/rsgxsutil.cc index 0187e9cb4..22e2e8661 100644 --- a/libretroshare/src/gxs/rsgxsutil.cc +++ b/libretroshare/src/gxs/rsgxsutil.cc @@ -28,7 +28,6 @@ #include "rsgxsutil.h" #include "retroshare/rsgxsflags.h" #include "retroshare/rspeers.h" -#include "retroshare/rsreputations.h" #include "pqi/pqihash.h" #include "gxs/rsgixs.h" @@ -165,7 +164,7 @@ bool RsGxsIntegrityCheck::check() std::cerr << "TimeStamping group authors' key ID " << grp->metaData->mAuthorId << " in group ID " << grp->grpId << std::endl; #endif - if(rsReputations!=NULL && !rsReputations->isIdentityBanned(grp->metaData->mAuthorId)) + if(rsIdentity!=NULL && !rsIdentity->isBanned(grp->metaData->mAuthorId)) used_gxs_ids.insert(grp->metaData->mAuthorId) ; } } @@ -247,7 +246,7 @@ bool RsGxsIntegrityCheck::check() #ifdef GXSUTIL_DEBUG std::cerr << "TimeStamping message authors' key ID " << msg->metaData->mAuthorId << " in message " << msg->msgId << ", group ID " << msg->grpId<< std::endl; #endif - if(rsReputations!=NULL && !rsReputations->isIdentityBanned(msg->metaData->mAuthorId)) + if(rsIdentity!=NULL && !rsIdentity->isBanned(msg->metaData->mAuthorId)) used_gxs_ids.insert(msg->metaData->mAuthorId) ; } diff --git a/libretroshare/src/retroshare/rsidentity.h b/libretroshare/src/retroshare/rsidentity.h index e57d43162..b36133d0b 100644 --- a/libretroshare/src/retroshare/rsidentity.h +++ b/libretroshare/src/retroshare/rsidentity.h @@ -253,6 +253,7 @@ virtual bool getRecognTagRequest(const RsGxsId &id, const std::string &comment, virtual bool setAsRegularContact(const RsGxsId& id,bool is_a_contact) = 0 ; virtual bool isARegularContact(const RsGxsId& id) = 0 ; + virtual bool isBanned(const RsGxsId& id) =0; // Specific RsIdentity Functions.... /* Specific Service Data */ diff --git a/libretroshare/src/retroshare/rsreputations.h b/libretroshare/src/retroshare/rsreputations.h index 6445efd09..f620f3d5e 100644 --- a/libretroshare/src/retroshare/rsreputations.h +++ b/libretroshare/src/retroshare/rsreputations.h @@ -50,14 +50,14 @@ public: }; virtual bool setOwnOpinion(const RsGxsId& key_id, const Opinion& op) =0; - virtual bool getReputationInfo(const RsGxsId& id,ReputationInfo& info) =0 ; + virtual bool getReputationInfo(const RsGxsId& id,const RsPgpId& owner_id,ReputationInfo& info) =0 ; virtual void setNodeAutoBanThreshold(uint32_t n) =0; virtual uint32_t nodeAutoBanThreshold() =0; // This one is a proxy designed to allow fast checking of a GXS id. // it basically returns true if assessment is not ASSESSMENT_OK - virtual bool isIdentityBanned(const RsGxsId& id) =0; + virtual bool isIdentityBanned(const RsGxsId& id,const RsPgpId& owner_node) =0; }; // To access reputations from anywhere diff --git a/libretroshare/src/services/p3gxsreputation.cc b/libretroshare/src/services/p3gxsreputation.cc index f806b4748..ce3b43ca5 100644 --- a/libretroshare/src/services/p3gxsreputation.cc +++ b/libretroshare/src/services/p3gxsreputation.cc @@ -39,6 +39,7 @@ /**** * #define DEBUG_REPUTATION 1 ****/ +#define DEBUG_REPUTATION 1 /************ IMPLEMENTATION NOTES ********************************* * @@ -333,11 +334,35 @@ void p3GxsReputation::updateIdentityFlags() void p3GxsReputation::cleanup() { // remove opinions from friends that havn't been seen online for more than the specified delay - + #ifdef DEBUG_REPUTATION - std::cerr << "p3GxsReputation::cleanup() " << std::endl; #endif - std::cerr << __PRETTY_FUNCTION__ << ": not implemented. TODO!" << std::endl; + std::cerr << "p3GxsReputation::cleanup() " << std::endl; + + // remove optionions about identities that do not exist anymore. That will in particular avoid asking p3idservice about deleted + // identities, which would cause an excess of hits to the database. + + bool updated = false ; + + RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ + + for(std::map::iterator it(mReputations.begin());it!=mReputations.end();) + if(it->second.mOpinions.empty() && it->second.mOwnOpinion == RsReputations::OPINION_NEUTRAL) + { + std::map::iterator tmp(it) ; + ++tmp ; + mReputations.erase(it) ; + it = tmp ; +#ifdef DEBUG_REPUTATION + std::cerr << " ID " << it->first << ": own is neutral and no opinions from friends => remove entry" << std::endl; +#endif + updated = true ; + } + else + ++it ; + + if(updated) + IndicateConfigChanged() ; } void p3GxsReputation::updateActiveFriends() @@ -668,7 +693,7 @@ bool p3GxsReputation::updateLatestUpdate(RsPeerId peerid,time_t latest_update) * Opinion ****/ -bool p3GxsReputation::getReputationInfo(const RsGxsId& gxsid, RsReputations::ReputationInfo& info) +bool p3GxsReputation::getReputationInfo(const RsGxsId& gxsid, const RsPgpId& owner_id, RsReputations::ReputationInfo& info) { if(gxsid.isNull()) return false ; @@ -678,25 +703,34 @@ bool p3GxsReputation::getReputationInfo(const RsGxsId& gxsid, RsReputations::Rep #ifdef DEBUG_REPUTATION std::cerr << "getReputationInfo() for " << gxsid << std::endl; #endif - Reputation& rep(mReputations[gxsid]) ; + std::map::const_iterator it = mReputations.find(gxsid) ; - info.mOwnOpinion = RsReputations::Opinion(rep.mOwnOpinion) ; - info.mOverallReputationScore = rep.mReputation ; - info.mFriendAverage = rep.mFriendAverage ; - - if( (rep.mIdentityFlags & REPUTATION_IDENTITY_FLAG_PGP_LINKED) && (mBannedPgpIds.find(rep.mOwnerNode) != mBannedPgpIds.end())) + if(it == mReputations.end()) { - info.mAssessment = RsReputations::ASSESSMENT_BAD ; -#ifdef DEBUG_REPUTATION - std::cerr << "p3GxsReputations: identity " << gxsid << " is banned because owner node ID " << rep.mOwnerNode << " is banned." << std::endl; -#endif - return true; + info.mOwnOpinion = RsReputations::OPINION_NEUTRAL ; + info.mOverallReputationScore = RsReputations::REPUTATION_THRESHOLD_DEFAULT ; + info.mFriendAverage = REPUTATION_THRESHOLD_DEFAULT ; } - - if(info.mOverallReputationScore > REPUTATION_ASSESSMENT_THRESHOLD_X1) - info.mAssessment = RsReputations::ASSESSMENT_OK ; else + { + const Reputation& rep(it->second) ; + + info.mOwnOpinion = RsReputations::Opinion(rep.mOwnOpinion) ; + info.mOverallReputationScore = rep.mReputation ; + info.mFriendAverage = rep.mFriendAverage ; + } + + if(!owner_id.isNull() && (mBannedPgpIds.find(owner_id) != mBannedPgpIds.end())) + { +#ifdef DEBUG_REPUTATION + std::cerr << "p3GxsReputations: identity " << gxsid << " is banned because owner node ID " << owner_id << " is banned." << std::endl; +#endif info.mAssessment = RsReputations::ASSESSMENT_BAD ; + } + else if(info.mOverallReputationScore <= REPUTATION_ASSESSMENT_THRESHOLD_X1) + info.mAssessment = RsReputations::ASSESSMENT_BAD ; + else + info.mAssessment = RsReputations::ASSESSMENT_OK ; #ifdef DEBUG_REPUTATION std::cerr << " information present. OwnOp = " << info.mOwnOpinion << ", overall score=" << info.mAssessment << std::endl; @@ -705,11 +739,12 @@ bool p3GxsReputation::getReputationInfo(const RsGxsId& gxsid, RsReputations::Rep return true ; } -bool p3GxsReputation::isIdentityBanned(const RsGxsId &id) +bool p3GxsReputation::isIdentityBanned(const RsGxsId &id,const RsPgpId& owner_node) { RsReputations::ReputationInfo info ; - getReputationInfo(id,info) ; + if(!getReputationInfo(id,owner_node,info)) + return false ; #ifdef DEBUG_REPUTATION std::cerr << "isIdentityBanned(): returning " << (info.mAssessment == RsReputations::ASSESSMENT_BAD) << " for GXS id " << id << std::endl; diff --git a/libretroshare/src/services/p3gxsreputation.h b/libretroshare/src/services/p3gxsreputation.h index ae49517e5..8dca8cd5a 100644 --- a/libretroshare/src/services/p3gxsreputation.h +++ b/libretroshare/src/services/p3gxsreputation.h @@ -97,8 +97,8 @@ class p3GxsReputation: public p3Service, public p3Config, public RsReputations / /***** Interface for RsReputations *****/ virtual bool setOwnOpinion(const RsGxsId& key_id, const Opinion& op) ; - virtual bool getReputationInfo(const RsGxsId& id,ReputationInfo& info) ; - virtual bool isIdentityBanned(const RsGxsId& id) ; + virtual bool getReputationInfo(const RsGxsId& id, const RsPgpId &owner_id, ReputationInfo& info) ; + virtual bool isIdentityBanned(const RsGxsId& id, const RsPgpId &owner_node) ; virtual void setNodeAutoBanThreshold(uint32_t n) ; virtual uint32_t nodeAutoBanThreshold() ; diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index 4d59be143..1abecd8f5 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -264,7 +264,7 @@ time_t p3IdService::locked_getLastUsageTS(const RsGxsId& gxs_id) } void p3IdService::timeStampKey(const RsGxsId& gxs_id) { - if(rsReputations->isIdentityBanned(gxs_id)) + if(isBanned(gxs_id)) { std::cerr << "(II) p3IdService:timeStampKey(): refusing to time stamp key " << gxs_id << " because it is banned." << std::endl; return; @@ -324,7 +324,7 @@ public: time_t now = time(NULL); const RsGxsId& gxs_id = entry.details.mId ; - bool is_id_banned = rsReputations->isIdentityBanned(gxs_id) ; + bool is_id_banned = rsReputations->isIdentityBanned(gxs_id,entry.details.mPgpId) ; bool is_own_id = (bool)(entry.details.mFlags & RS_IDENTITY_FLAGS_IS_OWN_ID) ; bool is_known_id = (bool)(entry.details.mFlags & RS_IDENTITY_FLAGS_PGP_KNOWN) ; bool is_signed_id = (bool)(entry.details.mFlags & RS_IDENTITY_FLAGS_PGP_LINKED) ; @@ -503,7 +503,7 @@ bool p3IdService:: getNickname(const RsGxsId &id, std::string &nickname) } #endif -bool p3IdService:: getIdDetails(const RsGxsId &id, RsIdentityDetails &details) +bool p3IdService::getIdDetails(const RsGxsId &id, RsIdentityDetails &details) { #ifdef DEBUG_IDS std::cerr << "p3IdService::getIdDetails(" << id << ")"; @@ -524,7 +524,7 @@ bool p3IdService:: getIdDetails(const RsGxsId &id, RsIdentityDetails &details) if(details.mNickname.length() > RSID_MAXIMUM_NICKNAME_SIZE*4) details.mNickname = "[too long a name]" ; - rsReputations->getReputationInfo(id,details.mReputation) ; + rsReputations->getReputationInfo(id,details.mPgpId,details.mReputation) ; return true; } @@ -536,6 +536,16 @@ bool p3IdService:: getIdDetails(const RsGxsId &id, RsIdentityDetails &details) return false; } +bool p3IdService::isBanned(const RsGxsId &id) +{ + RsIdentityDetails det ; + getIdDetails(id,det) ; + +#ifdef DEBUG_REPUTATION + std::cerr << "isIdentityBanned(): returning " << (det.mReputation.mAssessment == RsReputations::ASSESSMENT_BAD) << " for GXS id " << id << std::endl; +#endif + return det.mReputation.mAssessment == RsReputations::ASSESSMENT_BAD ; +} bool p3IdService::isOwnId(const RsGxsId& id) { diff --git a/libretroshare/src/services/p3idservice.h b/libretroshare/src/services/p3idservice.h index 316fad106..3c39e0a2d 100644 --- a/libretroshare/src/services/p3idservice.h +++ b/libretroshare/src/services/p3idservice.h @@ -274,6 +274,7 @@ virtual bool getRecognTagRequest(const RsGxsId &id, const std::string &comment, virtual bool setAsRegularContact(const RsGxsId& id,bool is_a_contact) ; virtual bool isARegularContact(const RsGxsId& id) ; + virtual bool isBanned(const RsGxsId& id) ; /**************** RsGixs Implementation ***************/ diff --git a/retroshare-gui/src/gui/Identity/IdDetailsDialog.cpp b/retroshare-gui/src/gui/Identity/IdDetailsDialog.cpp index 57e83c1b4..dcc3c78fb 100644 --- a/retroshare-gui/src/gui/Identity/IdDetailsDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDetailsDialog.cpp @@ -26,7 +26,6 @@ #include "gui/common/UIStateHelper.h" #include -#include // Data Requests. #define IDDETAILSDIALOG_IDDETAILS 1 @@ -261,7 +260,7 @@ void IdDetailsDialog::insertIdDetails(uint32_t token) #endif RsReputations::ReputationInfo info ; - rsReputations->getReputationInfo(RsGxsId(data.mMeta.mGroupId),info) ; + rsReputations->getReputationInfo(RsGxsId(data.mMeta.mGroupId),data.mPgpId,info) ; ui->neighborNodesOpinion_TF->setText(QString::number(info.mOverallReputationScore-1.0f)); diff --git a/retroshare-gui/src/gui/Identity/IdDialog.cpp b/retroshare-gui/src/gui/Identity/IdDialog.cpp index 583c83375..137f9d23a 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDialog.cpp @@ -41,7 +41,6 @@ #include "util/QtVersion.h" #include -#include #include "retroshare/rsgxsflags.h" #include "retroshare/rsmsgs.h" #include @@ -1360,8 +1359,8 @@ bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item, if (!item) item = new TreeWidgetItem(); - RsReputations::ReputationInfo info ; - rsReputations->getReputationInfo(RsGxsId(data.mMeta.mGroupId),info) ; + RsIdentityDetails idd ; + rsIdentity->getIdDetails(RsGxsId(data.mMeta.mGroupId),idd) ; item->setText(RSID_COL_NICKNAME, QString::fromUtf8(data.mMeta.mGroupName.c_str()).left(RSID_MAXIMUM_NICKNAME_SIZE)); item->setText(RSID_COL_KEYID, QString::fromStdString(data.mMeta.mGroupId.toStdString())); @@ -1372,13 +1371,10 @@ bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item, item->setData(RSID_COL_KEYID, Qt::UserRole,QVariant(item_flags)) ; item->setTextAlignment(RSID_COL_VOTES, Qt::AlignRight); - item->setData(RSID_COL_VOTES,Qt::DisplayRole, QString::number(info.mOverallReputationScore - 1.0f,'f',3)); + item->setData(RSID_COL_VOTES,Qt::DisplayRole, QString::number(idd.mReputation.mOverallReputationScore - 1.0f,'f',3)); if(isOwnId) { - RsIdentityDetails idd ; - rsIdentity->getIdDetails(RsGxsId(data.mMeta.mGroupId),idd) ; - QFont font = item->font(RSID_COL_NICKNAME) ; font.setBold(true) ; @@ -1740,7 +1736,7 @@ void IdDialog::insertIdDetails(uint32_t token) #endif RsReputations::ReputationInfo info ; - rsReputations->getReputationInfo(RsGxsId(data.mMeta.mGroupId),info) ; + rsReputations->getReputationInfo(RsGxsId(data.mMeta.mGroupId),data.mPgpId,info) ; ui->neighborNodesOpinion_TF->setText(QString::number(info.mFriendAverage - 1.0f)); @@ -2021,10 +2017,10 @@ void IdDialog::IdListCustomPopupMenu( QPoint ) #endif RsGxsId keyId((*it)->text(RSID_COL_KEYID).toStdString()); - RsReputations::ReputationInfo info ; - rsReputations->getReputationInfo(keyId,info) ; + RsIdentityDetails det ; + rsIdentity->getIdDetails(keyId,det) ; - switch(info.mOwnOpinion) + switch(det.mReputation.mOwnOpinion) { case RsReputations::OPINION_NEGATIVE: ++n_negative_reputations ; break ; diff --git a/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp b/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp index 7458e0406..c1205e6b3 100644 --- a/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp +++ b/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp @@ -905,7 +905,7 @@ bool GxsIdDetails::MakeIdDesc(const RsGxsId &id, bool doIcons, QString &str, QLi QString GxsIdDetails::getName(const RsIdentityDetails &details) { - if(rsReputations->isIdentityBanned(details.mId)) + if(rsIdentity->isBanned(details.mId)) return tr("[Banned]") ; QString name = QString::fromUtf8(details.mNickname.c_str()).left(RSID_MAXIMUM_NICKNAME_SIZE); @@ -924,7 +924,7 @@ QString GxsIdDetails::getComment(const RsIdentityDetails &details) QString comment; QString nickname ; - bool banned = rsReputations->isIdentityBanned(details.mId) ; + bool banned = rsIdentity->isBanned(details.mId) ; if(details.mNickname.empty()) nickname = tr("[Unknown]") ; @@ -963,7 +963,7 @@ void GxsIdDetails::getIcons(const RsIdentityDetails &details, QList &icon { QPixmap pix ; - if(rsReputations->isIdentityBanned(details.mId)) + if(rsIdentity->isBanned(details.mId)) { icons.clear() ; icons.push_back(QIcon(IMAGE_BANNED)) ; diff --git a/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp b/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp index d002e9541..998a98a5e 100644 --- a/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp +++ b/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp @@ -117,14 +117,14 @@ void GxsIdRSTreeWidgetItem::setId(const RsGxsId &id, int column, bool retryWhenF void GxsIdRSTreeWidgetItem::updateBannedState() { - if(mBannedState != rsReputations->isIdentityBanned(mId)) + if(mBannedState != rsIdentity->isBanned(mId)) forceUpdate() ; } void GxsIdRSTreeWidgetItem::forceUpdate() { mIdFound = false; - mBannedState = rsReputations->isIdentityBanned(mId) ; + mBannedState = rsIdentity->isBanned(mId) ; startProcess(); } @@ -170,7 +170,7 @@ QVariant GxsIdRSTreeWidgetItem::data(int column, int role) const if(mId.isNull()) return RSTreeWidgetItem::data(column, role); - else if(rsReputations->isIdentityBanned(mId)) + else if(rsIdentity->isBanned(mId)) pix = QImage(BANNED_IMAGE) ; else if (mAvatar.mSize == 0 || !pix.loadFromData(mAvatar.mData, mAvatar.mSize, "PNG")) pix = GxsIdDetails::makeDefaultIcon(mId); diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp index 82ed1e6dd..19ef8c89a 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp +++ b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp @@ -985,7 +985,7 @@ QTreeWidgetItem *GxsForumThreadWidget::convertMsgToThreadWidget(const RsGxsForum // is flagged with a bad reputation - bool redacted = rsReputations->isIdentityBanned(msg.mMeta.mAuthorId) ; + bool redacted = rsIdentity->isBanned(msg.mMeta.mAuthorId) ; GxsIdRSTreeWidgetItem *item = new GxsIdRSTreeWidgetItem(mThreadCompareRole,GxsIdDetails::ICON_TYPE_ALL || (redacted?(GxsIdDetails::ICON_TYPE_REDACTED):0)); item->moveToThread(ui->threadTreeWidget->thread()); @@ -1408,7 +1408,7 @@ void GxsForumThreadWidget::insertMessageData(const RsGxsForumMsg &msg) return; } - bool redacted = rsReputations->isIdentityBanned(msg.mMeta.mAuthorId) ; + bool redacted = rsIdentity->isBanned(msg.mMeta.mAuthorId) ; mStateHelper->setActive(mTokenTypeMessageData, true); From 692293e030fab2b7ef0c545d25440f6c97eb2af2 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 3 Jul 2016 18:12:50 -0400 Subject: [PATCH 024/158] added red color to banned identities in IdDialog --- retroshare-gui/src/gui/Identity/IdDialog.cpp | 7 +++++++ retroshare-gui/src/gui/gxs/GxsIdDetails.cpp | 1 - retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp | 1 - retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp | 1 - 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/Identity/IdDialog.cpp b/retroshare-gui/src/gui/Identity/IdDialog.cpp index 137f9d23a..1a8d20fde 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDialog.cpp @@ -1368,6 +1368,13 @@ bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item, //time_t now = time(NULL) ; //item->setText(RSID_COL_LASTUSED, getHumanReadableDuration(now - data.mLastUsageTS)) ; + + if(idd.mReputation.mAssessment == RsReputations::ASSESSMENT_BAD) + { + item->setForeground(RSID_COL_NICKNAME,QBrush(Qt::red)); + item->setForeground(RSID_COL_KEYID,QBrush(Qt::red)); + item->setForeground(RSID_COL_IDTYPE,QBrush(Qt::red)); + } item->setData(RSID_COL_KEYID, Qt::UserRole,QVariant(item_flags)) ; item->setTextAlignment(RSID_COL_VOTES, Qt::AlignRight); diff --git a/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp b/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp index c1205e6b3..5c7d00dd7 100644 --- a/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp +++ b/retroshare-gui/src/gui/gxs/GxsIdDetails.cpp @@ -29,7 +29,6 @@ #include #include "GxsIdDetails.h" #include "retroshare-gui/RsAutoUpdatePage.h" -#include "retroshare/rsreputations.h" #include diff --git a/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp b/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp index 998a98a5e..0177f892f 100644 --- a/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp +++ b/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp @@ -25,7 +25,6 @@ #include "GxsIdTreeWidgetItem.h" #include "GxsIdDetails.h" #include "util/HandleRichText.h" -#include "retroshare/rsreputations.h" #define BANNED_IMAGE ":/icons/yellow_biohazard64.png" diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp index 19ef8c89a..1e98e3283 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp +++ b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp @@ -44,7 +44,6 @@ #include #include -#include #include // These should be in retroshare/ folder. #include "retroshare/rsgxsflags.h" From bf28ea7ac72a2abc32e5af952b14112e7d93d50f Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 3 Jul 2016 18:49:02 -0400 Subject: [PATCH 025/158] removed debug info in udpstack.cc --- libbitdht/src/udp/udpstack.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libbitdht/src/udp/udpstack.cc b/libbitdht/src/udp/udpstack.cc index 381fc182d..a66f4c6e2 100644 --- a/libbitdht/src/udp/udpstack.cc +++ b/libbitdht/src/udp/udpstack.cc @@ -87,8 +87,10 @@ bool UdpStack::getLocalAddress(struct sockaddr_in &local) bool UdpStack::resetAddress(struct sockaddr_in &local) { - std::cerr << "UdpStack::resetAddress(" << local << ")"; +#ifdef DEBUG_UDP_RECV + std::cerr << "UdpStack::resetAddress(" << local << ")"; std::cerr << std::endl; +#endif laddr = local; return udpLayer->reset(local); From c98416dc285e9b36b33157719fdd6ec584cdd7c1 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 3 Jul 2016 18:59:30 -0400 Subject: [PATCH 026/158] added auto-cleaning of reputation info for outdated/removed identities --- libretroshare/src/retroshare/rsidentity.h | 59 +++--- libretroshare/src/services/p3gxsreputation.cc | 69 ++++--- libretroshare/src/services/p3idservice.cc | 6 + libretroshare/src/services/p3idservice.h | 193 +++++++++--------- 4 files changed, 174 insertions(+), 153 deletions(-) diff --git a/libretroshare/src/retroshare/rsidentity.h b/libretroshare/src/retroshare/rsidentity.h index b36133d0b..bf6a80724 100644 --- a/libretroshare/src/retroshare/rsidentity.h +++ b/libretroshare/src/retroshare/rsidentity.h @@ -221,47 +221,48 @@ public: RsIdentity(RsGxsIface *gxs): RsGxsIfaceHelper(gxs) { return; } virtual ~RsIdentity() { return; } -/********************************************************************************************/ -/********************************************************************************************/ - - // For Other Services.... - // It should be impossible for them to get a message which we don't have the identity. - // Its a major error if we don't have the identity. + /********************************************************************************************/ + /********************************************************************************************/ - // We cache all identities, and provide alternative (instantaneous) - // functions to extract info, rather than the standard Token system. + // For Other Services.... + // It should be impossible for them to get a message which we don't have the identity. + // Its a major error if we don't have the identity. -//virtual bool getNickname(const RsGxsId &id, std::string &nickname) = 0; -virtual bool getIdDetails(const RsGxsId &id, RsIdentityDetails &details) = 0; + // We cache all identities, and provide alternative (instantaneous) + // functions to extract info, rather than the standard Token system. -// Fills up list of all own ids. Returns false if ids are not yet loaded. -virtual bool getOwnIds(std::list &ownIds) = 0; -virtual bool isOwnId(const RsGxsId& id) = 0; + //virtual bool getNickname(const RsGxsId &id, std::string &nickname) = 0; + virtual bool getIdDetails(const RsGxsId &id, RsIdentityDetails &details) = 0; - // -virtual bool submitOpinion(uint32_t& token, const RsGxsId &id, - bool absOpinion, int score) = 0; -virtual bool createIdentity(uint32_t& token, RsIdentityParameters ¶ms) = 0; + // Fills up list of all own ids. Returns false if ids are not yet loaded. + virtual bool getOwnIds(std::list &ownIds) = 0; + virtual bool isOwnId(const RsGxsId& id) = 0; -virtual bool updateIdentity(uint32_t& token, RsGxsIdGroup &group) = 0; -virtual bool deleteIdentity(uint32_t& token, RsGxsIdGroup &group) = 0; + // + virtual bool submitOpinion(uint32_t& token, const RsGxsId &id, + bool absOpinion, int score) = 0; + virtual bool createIdentity(uint32_t& token, RsIdentityParameters ¶ms) = 0; -virtual bool parseRecognTag(const RsGxsId &id, const std::string &nickname, - const std::string &tag, RsRecognTagDetails &details) = 0; -virtual bool getRecognTagRequest(const RsGxsId &id, const std::string &comment, - uint16_t tag_class, uint16_t tag_type, std::string &tag) = 0; + virtual bool updateIdentity(uint32_t& token, RsGxsIdGroup &group) = 0; + virtual bool deleteIdentity(uint32_t& token, RsGxsIdGroup &group) = 0; + + virtual bool parseRecognTag(const RsGxsId &id, const std::string &nickname, + const std::string &tag, RsRecognTagDetails &details) = 0; + virtual bool getRecognTagRequest(const RsGxsId &id, const std::string &comment, + uint16_t tag_class, uint16_t tag_type, std::string &tag) = 0; virtual bool setAsRegularContact(const RsGxsId& id,bool is_a_contact) = 0 ; virtual bool isARegularContact(const RsGxsId& id) = 0 ; virtual bool isBanned(const RsGxsId& id) =0; - - // Specific RsIdentity Functions.... - /* Specific Service Data */ - /* We expose these initially for testing / GUI purposes. + virtual time_t getLastUsageTS(const RsGxsId &id) =0; + + // Specific RsIdentity Functions.... + /* Specific Service Data */ + /* We expose these initially for testing / GUI purposes. */ -virtual bool getGroupData(const uint32_t &token, std::vector &groups) = 0; -//virtual bool getMsgData(const uint32_t &token, std::vector &opinions) = 0; + virtual bool getGroupData(const uint32_t &token, std::vector &groups) = 0; + //virtual bool getMsgData(const uint32_t &token, std::vector &opinions) = 0; }; diff --git a/libretroshare/src/services/p3gxsreputation.cc b/libretroshare/src/services/p3gxsreputation.cc index ce3b43ca5..f40beb145 100644 --- a/libretroshare/src/services/p3gxsreputation.cc +++ b/libretroshare/src/services/p3gxsreputation.cc @@ -117,13 +117,13 @@ * 10 | 1.0 | 0 | 0.25 | 1.0 * * To check: - * [ ] Opinions are saved/loaded accross restart - * [ ] Opinions are transmitted to friends - * [ ] Opinions are transmitted to friends when updated + * [X] Opinions are saved/loaded accross restart + * [X] Opinions are transmitted to friends + * [X] Opinions are transmitted to friends when updated * * To do: - * [ ] Add debug info - * [ ] Test the whole thing + * [X] Add debug info + * [X] Test the whole thing * [X] Implement a system to allow not storing info when we don't have it */ @@ -139,6 +139,7 @@ static const float REPUTATION_ASSESSMENT_THRESHOLD_X1 = 0.5f ; // reputat static const uint32_t PGP_AUTO_BAN_THRESHOLD_DEFAULT = 2 ; // above this, auto ban any GXS id signed by this node static const uint32_t IDENTITY_FLAGS_UPDATE_DELAY = 100 ; // static const uint32_t BANNED_NODES_UPDATE_DELAY = 313 ; // update approx every 5 mins. Chosen to not be a multiple of IDENTITY_FLAGS_UPDATE_DELAY +static const uint32_t REPUTATION_INFO_KEEP_DELAY = 86400*35; // remove old reputation info 5 days after last usage limit, in case the ID would come back.. p3GxsReputation::p3GxsReputation(p3LinkMgr *lm) :p3Service(), p3Config(), @@ -343,26 +344,38 @@ void p3GxsReputation::cleanup() // identities, which would cause an excess of hits to the database. bool updated = false ; + time_t now = time(NULL) ; RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ for(std::map::iterator it(mReputations.begin());it!=mReputations.end();) - if(it->second.mOpinions.empty() && it->second.mOwnOpinion == RsReputations::OPINION_NEUTRAL) - { - std::map::iterator tmp(it) ; - ++tmp ; - mReputations.erase(it) ; - it = tmp ; + if(it->second.mOpinions.empty() && it->second.mOwnOpinion == RsReputations::OPINION_NEUTRAL) + { + std::map::iterator tmp(it) ; + ++tmp ; + mReputations.erase(it) ; + it = tmp ; #ifdef DEBUG_REPUTATION - std::cerr << " ID " << it->first << ": own is neutral and no opinions from friends => remove entry" << std::endl; + std::cerr << " ID " << it->first << ": own is neutral and no opinions from friends => remove entry" << std::endl; #endif - updated = true ; - } - else - ++it ; + updated = true ; + } + else if(rsIdentity->getLastUsageTS(it->first) + REPUTATION_INFO_KEEP_DELAY < now) + { +#ifdef DEBUG_REPUTATION + std::cerr << " Identity " << it->first << " has a last usage TS of " << now - rsIdentity->getLastUsageTS(it->first) << " secs ago: deleting it." << std::endl; +#endif + std::map::iterator tmp(it) ; + ++tmp ; + mReputations.erase(it) ; + it = tmp ; + updated = true ; + } + else + ++it ; if(updated) - IndicateConfigChanged() ; + IndicateConfigChanged() ; } void p3GxsReputation::updateActiveFriends() @@ -709,28 +722,28 @@ bool p3GxsReputation::getReputationInfo(const RsGxsId& gxsid, const RsPgpId& own { info.mOwnOpinion = RsReputations::OPINION_NEUTRAL ; info.mOverallReputationScore = RsReputations::REPUTATION_THRESHOLD_DEFAULT ; - info.mFriendAverage = REPUTATION_THRESHOLD_DEFAULT ; + info.mFriendAverage = REPUTATION_THRESHOLD_DEFAULT ; } else { - const Reputation& rep(it->second) ; + const Reputation& rep(it->second) ; - info.mOwnOpinion = RsReputations::Opinion(rep.mOwnOpinion) ; - info.mOverallReputationScore = rep.mReputation ; - info.mFriendAverage = rep.mFriendAverage ; + info.mOwnOpinion = RsReputations::Opinion(rep.mOwnOpinion) ; + info.mOverallReputationScore = rep.mReputation ; + info.mFriendAverage = rep.mFriendAverage ; } - + if(!owner_id.isNull() && (mBannedPgpIds.find(owner_id) != mBannedPgpIds.end())) { #ifdef DEBUG_REPUTATION - std::cerr << "p3GxsReputations: identity " << gxsid << " is banned because owner node ID " << owner_id << " is banned." << std::endl; + std::cerr << "p3GxsReputations: identity " << gxsid << " is banned because owner node ID " << owner_id << " is banned." << std::endl; #endif - info.mAssessment = RsReputations::ASSESSMENT_BAD ; + info.mAssessment = RsReputations::ASSESSMENT_BAD ; } else if(info.mOverallReputationScore <= REPUTATION_ASSESSMENT_THRESHOLD_X1) - info.mAssessment = RsReputations::ASSESSMENT_BAD ; + info.mAssessment = RsReputations::ASSESSMENT_BAD ; else - info.mAssessment = RsReputations::ASSESSMENT_OK ; + info.mAssessment = RsReputations::ASSESSMENT_OK ; #ifdef DEBUG_REPUTATION std::cerr << " information present. OwnOp = " << info.mOwnOpinion << ", overall score=" << info.mAssessment << std::endl; @@ -745,7 +758,7 @@ bool p3GxsReputation::isIdentityBanned(const RsGxsId &id,const RsPgpId& owner_no if(!getReputationInfo(id,owner_node,info)) return false ; - + #ifdef DEBUG_REPUTATION std::cerr << "isIdentityBanned(): returning " << (info.mAssessment == RsReputations::ASSESSMENT_BAD) << " for GXS id " << id << std::endl; #endif diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index 1abecd8f5..f521f38be 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -503,6 +503,12 @@ bool p3IdService:: getNickname(const RsGxsId &id, std::string &nickname) } #endif +time_t p3IdService::getLastUsageTS(const RsGxsId &id) +{ + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + return locked_getLastUsageTS(id) ; +} + bool p3IdService::getIdDetails(const RsGxsId &id, RsIdentityDetails &details) { #ifdef DEBUG_IDS diff --git a/libretroshare/src/services/p3idservice.h b/libretroshare/src/services/p3idservice.h index 3c39e0a2d..8efc3aea8 100644 --- a/libretroshare/src/services/p3idservice.h +++ b/libretroshare/src/services/p3idservice.h @@ -218,34 +218,34 @@ private: class p3IdService: public RsGxsIdExchange, public RsIdentity, public GxsTokenQueue, public RsTickEvent, public p3Config { - public: +public: p3IdService(RsGeneralDataService* gds, RsNetworkExchangeService* nes, PgpAuxUtils *pgpUtils); -virtual RsServiceInfo getServiceInfo(); -static uint32_t idAuthenPolicy(); + virtual RsServiceInfo getServiceInfo(); + static uint32_t idAuthenPolicy(); virtual void service_tick(); // needed for background processing. - /*! - * Design hack, id service must be constructed first as it - * is need for construction of subsequent net services - */ - void setNes(RsNetworkExchangeService* nes); + /*! + * Design hack, id service must be constructed first as it + * is need for construction of subsequent net services + */ + void setNes(RsNetworkExchangeService* nes); /* General Interface is provided by RsIdentity / RsGxsIfaceImpl. */ /* Data Specific Interface */ // These are exposed via RsIdentity. -virtual bool getGroupData(const uint32_t &token, std::vector &groups); -//virtual bool getMsgData(const uint32_t &token, std::vector &opinions); + virtual bool getGroupData(const uint32_t &token, std::vector &groups); + //virtual bool getMsgData(const uint32_t &token, std::vector &opinions); // These are local - and not exposed via RsIdentity. -virtual bool createGroup(uint32_t& token, RsGxsIdGroup &group); -virtual bool updateGroup(uint32_t& token, RsGxsIdGroup &group); -virtual bool deleteGroup(uint32_t& token, RsGxsIdGroup &group); -//virtual bool createMsg(uint32_t& token, RsGxsIdOpinion &opinion); + virtual bool createGroup(uint32_t& token, RsGxsIdGroup &group); + virtual bool updateGroup(uint32_t& token, RsGxsIdGroup &group); + virtual bool deleteGroup(uint32_t& token, RsGxsIdGroup &group); + //virtual bool createMsg(uint32_t& token, RsGxsIdOpinion &opinion); /**************** RsIdentity External Interface. * Notes: @@ -256,87 +256,88 @@ virtual bool deleteGroup(uint32_t& token, RsGxsIdGroup &group); * Also need to handle Cache updates / invalidation from internal changes. * */ -//virtual bool getNickname(const RsGxsId &id, std::string &nickname); -virtual bool getIdDetails(const RsGxsId &id, RsIdentityDetails &details); + //virtual bool getNickname(const RsGxsId &id, std::string &nickname); + virtual bool getIdDetails(const RsGxsId &id, RsIdentityDetails &details); - // -virtual bool submitOpinion(uint32_t& token, const RsGxsId &id, - bool absOpinion, int score); -virtual bool createIdentity(uint32_t& token, RsIdentityParameters ¶ms); + // + virtual bool submitOpinion(uint32_t& token, const RsGxsId &id, + bool absOpinion, int score); + virtual bool createIdentity(uint32_t& token, RsIdentityParameters ¶ms); -virtual bool updateIdentity(uint32_t& token, RsGxsIdGroup &group); -virtual bool deleteIdentity(uint32_t& token, RsGxsIdGroup &group); + virtual bool updateIdentity(uint32_t& token, RsGxsIdGroup &group); + virtual bool deleteIdentity(uint32_t& token, RsGxsIdGroup &group); -virtual bool parseRecognTag(const RsGxsId &id, const std::string &nickname, - const std::string &tag, RsRecognTagDetails &details); -virtual bool getRecognTagRequest(const RsGxsId &id, const std::string &comment, - uint16_t tag_class, uint16_t tag_type, std::string &tag); + virtual bool parseRecognTag(const RsGxsId &id, const std::string &nickname, + const std::string &tag, RsRecognTagDetails &details); + virtual bool getRecognTagRequest(const RsGxsId &id, const std::string &comment, + uint16_t tag_class, uint16_t tag_type, std::string &tag); -virtual bool setAsRegularContact(const RsGxsId& id,bool is_a_contact) ; - virtual bool isARegularContact(const RsGxsId& id) ; - virtual bool isBanned(const RsGxsId& id) ; - - /**************** RsGixs Implementation ***************/ + virtual bool setAsRegularContact(const RsGxsId& id,bool is_a_contact) ; + virtual bool isARegularContact(const RsGxsId& id) ; + virtual bool isBanned(const RsGxsId& id) ; + virtual time_t getLastUsageTS(const RsGxsId &id) ; - virtual bool getOwnIds(std::list &ownIds); + /**************** RsGixs Implementation ***************/ - //virtual bool getPublicKey(const RsGxsId &id, RsTlvSecurityKey &key) ; - //virtual void networkRequestPublicKey(const RsGxsId& key_id,const std::list& peer_ids) ; + virtual bool getOwnIds(std::list &ownIds); - virtual bool isOwnId(const RsGxsId& key_id) ; + //virtual bool getPublicKey(const RsGxsId &id, RsTlvSecurityKey &key) ; + //virtual void networkRequestPublicKey(const RsGxsId& key_id,const std::list& peer_ids) ; - virtual bool signData(const uint8_t *data,uint32_t data_size,const RsGxsId& signer_id,RsTlvKeySignature& signature,uint32_t& signing_error) ; - virtual bool validateData(const uint8_t *data,uint32_t data_size,const RsTlvKeySignature& signature,bool force_load,uint32_t& signing_error) ; + virtual bool isOwnId(const RsGxsId& key_id) ; - virtual bool encryptData(const uint8_t *decrypted_data,uint32_t decrypted_data_size,uint8_t *& encrypted_data,uint32_t& encrypted_data_size,const RsGxsId& encryption_key_id,bool force_load,uint32_t& encryption_error) ; - virtual bool decryptData(const uint8_t *encrypted_data,uint32_t encrypted_data_size,uint8_t *& decrypted_data,uint32_t& decrypted_data_size,const RsGxsId& encryption_key_id,uint32_t& encryption_error) ; + virtual bool signData(const uint8_t *data,uint32_t data_size,const RsGxsId& signer_id,RsTlvKeySignature& signature,uint32_t& signing_error) ; + virtual bool validateData(const uint8_t *data,uint32_t data_size,const RsTlvKeySignature& signature,bool force_load,uint32_t& signing_error) ; - virtual bool haveKey(const RsGxsId &id); - virtual bool havePrivateKey(const RsGxsId &id); + virtual bool encryptData(const uint8_t *decrypted_data,uint32_t decrypted_data_size,uint8_t *& encrypted_data,uint32_t& encrypted_data_size,const RsGxsId& encryption_key_id,bool force_load,uint32_t& encryption_error) ; + virtual bool decryptData(const uint8_t *encrypted_data,uint32_t encrypted_data_size,uint8_t *& decrypted_data,uint32_t& decrypted_data_size,const RsGxsId& encryption_key_id,uint32_t& encryption_error) ; - virtual bool getKey(const RsGxsId &id, RsTlvPublicRSAKey &key); - virtual bool getPrivateKey(const RsGxsId &id, RsTlvPrivateRSAKey &key); + virtual bool haveKey(const RsGxsId &id); + virtual bool havePrivateKey(const RsGxsId &id); - virtual bool requestKey(const RsGxsId &id, const std::list &peers); - virtual bool requestPrivateKey(const RsGxsId &id); + virtual bool getKey(const RsGxsId &id, RsTlvPublicRSAKey &key); + virtual bool getPrivateKey(const RsGxsId &id, RsTlvPrivateRSAKey &key); + + virtual bool requestKey(const RsGxsId &id, const std::list &peers); + virtual bool requestPrivateKey(const RsGxsId &id); - /**************** RsGixsReputation Implementation ****************/ + /**************** RsGixsReputation Implementation ****************/ - // get Reputation. -virtual bool haveReputation(const RsGxsId &id); -virtual bool loadReputation(const RsGxsId &id, const std::list& peers); -virtual bool getReputation(const RsGxsId &id, GixsReputation &rep); + // get Reputation. + virtual bool haveReputation(const RsGxsId &id); + virtual bool loadReputation(const RsGxsId &id, const std::list& peers); + virtual bool getReputation(const RsGxsId &id, GixsReputation &rep); - protected: - /** Notifications **/ -virtual void notifyChanges(std::vector& changes); +protected: + /** Notifications **/ + virtual void notifyChanges(std::vector& changes); /** Overloaded to add PgpIdHash to Group Definition **/ -virtual ServiceCreate_Return service_CreateGroup(RsGxsGrpItem* grpItem, RsTlvSecurityKeySet& keySet); + virtual ServiceCreate_Return service_CreateGroup(RsGxsGrpItem* grpItem, RsTlvSecurityKeySet& keySet); - // Overloaded from GxsTokenQueue for Request callbacks. -virtual void handleResponse(uint32_t token, uint32_t req_type); + // Overloaded from GxsTokenQueue for Request callbacks. + virtual void handleResponse(uint32_t token, uint32_t req_type); - // Overloaded from RsTickEvent. -virtual void handle_event(uint32_t event_type, const std::string &elabel); + // Overloaded from RsTickEvent. + virtual void handle_event(uint32_t event_type, const std::string &elabel); - //===================================================// - // p3Config methods // - //===================================================// + //===================================================// + // p3Config methods // + //===================================================// - // Load/save the routing info, the pending items in transit, and the config variables. - // - virtual bool loadList(std::list& items) ; - virtual bool saveList(bool& cleanup,std::list& items) ; + // Load/save the routing info, the pending items in transit, and the config variables. + // + virtual bool loadList(std::list& items) ; + virtual bool saveList(bool& cleanup,std::list& items) ; - virtual RsSerialiser *setupSerialiser() ; + virtual RsSerialiser *setupSerialiser() ; - private: +private: -/************************************************************************ + /************************************************************************ * This is the Cache for minimising calls to the DataStore. * */ @@ -349,7 +350,7 @@ virtual void handle_event(uint32_t event_type, const std::string &elabel); bool cache_store(const RsGxsIdGroupItem *item); bool cache_update_if_cached(const RsGxsId &id, std::string serviceString); - bool isPendingNetworkRequest(const RsGxsId& gxsId); + bool isPendingNetworkRequest(const RsGxsId& gxsId); void requestIdsFromNet(); // Mutex protected. @@ -360,7 +361,7 @@ virtual void handle_event(uint32_t event_type, const std::string &elabel); // Switching to RsMemCache for Key Caching. RsMemCache mKeyCache; -/************************************************************************ + /************************************************************************ * Refreshing own Ids. * */ @@ -369,7 +370,7 @@ virtual void handle_event(uint32_t event_type, const std::string &elabel); std::list mOwnIds; -/************************************************************************ + /************************************************************************ * Test fns for Caching. * */ @@ -377,7 +378,7 @@ virtual void handle_event(uint32_t event_type, const std::string &elabel); bool cachetest_getlist(); bool cachetest_handlerequest(uint32_t token); -/************************************************************************ + /************************************************************************ * for processing background tasks that use the serviceString. * - must be mutually exclusive to avoid clashes. */ @@ -387,7 +388,7 @@ virtual void handle_event(uint32_t event_type, const std::string &elabel); bool mBgSchedule_Active; uint32_t mBgSchedule_Mode; -/************************************************************************ + /************************************************************************ * pgphash processing. * */ @@ -395,7 +396,7 @@ virtual void handle_event(uint32_t event_type, const std::string &elabel); bool pgphash_handlerequest(uint32_t token); bool pgphash_process(); - bool checkId(const RsGxsIdGroup &grp, RsPgpId &pgp_id, bool &error); + bool checkId(const RsGxsIdGroup &grp, RsPgpId &pgp_id, bool &error); void getPgpIdList(); /* MUTEX PROTECTED DATA (mIdMtx - maybe should use a 2nd?) */ @@ -403,7 +404,7 @@ virtual void handle_event(uint32_t event_type, const std::string &elabel); std::map mPgpFingerprintMap; std::list mGroupsToProcess; -/************************************************************************ + /************************************************************************ * recogn processing. * */ @@ -421,7 +422,7 @@ virtual void handle_event(uint32_t event_type, const std::string &elabel); void loadRecognKeys(); -/************************************************************************ + /************************************************************************ * opinion processing. * */ @@ -449,24 +450,24 @@ virtual void handle_event(uint32_t event_type, const std::string &elabel); std::map mRecognSignKeys; std::map mRecognOldSignKeys; -/************************************************************************ + /************************************************************************ * Below is the background task for processing opinions => reputations * */ -virtual void generateDummyData(); + virtual void generateDummyData(); void generateDummy_OwnIds(); void generateDummy_FriendPGP(); void generateDummy_UnknownPGP(); void generateDummy_UnknownPseudo(); - void cleanUnusedKeys() ; - void slowIndicateConfigChanged() ; + void cleanUnusedKeys() ; + void slowIndicateConfigChanged() ; - virtual void timeStampKey(const RsGxsId& id) ; - time_t locked_getLastUsageTS(const RsGxsId& gxs_id); + virtual void timeStampKey(const RsGxsId& id) ; + time_t locked_getLastUsageTS(const RsGxsId& gxs_id); -std::string genRandomId(int len = 20); + std::string genRandomId(int len = 20); #if 0 bool reputation_start(); @@ -479,7 +480,7 @@ std::string genRandomId(int len = 20); bool background_processNewMessages(); bool background_FullCalcRequest(); bool background_processFullCalc(); - + bool background_cleanup(); #endif @@ -489,40 +490,40 @@ std::string genRandomId(int len = 20); /***** below here is locked *****/ bool mLastBgCheck; bool mBgProcessing; - + uint32_t mBgToken; uint32_t mBgPhase; - + std::map mBgGroupMap; std::list mBgFullCalcGroups; #endif -/************************************************************************ + /************************************************************************ * Other Data that is protected by the Mutex. */ - private: +private: std::map > mIdsPendingCache; std::map > mGroupNotPresent; std::map > mIdsNotPresent; std::map mKeysTS ; - - // keep a list of regular contacts. This is useful to sort IDs, and allow some services to priviledged ids only. - std::set mContacts; + + // keep a list of regular contacts. This is useful to sort IDs, and allow some services to priviledged ids only. + std::set mContacts; RsNetworkExchangeService* mNes; /************************** - * AuxUtils provides interface to Security Function (e.g. GPGAuth(), notify etc.) + * AuxUtils provides interface to Security Function (e.g. GPGAuth(), notify etc.) * without depending directly on all these classes. */ - PgpAuxUtils *mPgpUtils; + PgpAuxUtils *mPgpUtils; - time_t mLastKeyCleaningTime ; - time_t mLastConfigUpdate ; + time_t mLastKeyCleaningTime ; + time_t mLastConfigUpdate ; - bool mOwnIdsLoaded ; + bool mOwnIdsLoaded ; }; #endif // P3_IDENTITY_SERVICE_HEADER From 9f9f0216f0eceb933d97f957ae1de368fab321a5 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 3 Jul 2016 22:02:04 -0400 Subject: [PATCH 027/158] remved debug output in udlstck --- libretroshare/src/tcponudp/rsudpstack.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libretroshare/src/tcponudp/rsudpstack.h b/libretroshare/src/tcponudp/rsudpstack.h index 007a2e845..e2dec61b0 100644 --- a/libretroshare/src/tcponudp/rsudpstack.h +++ b/libretroshare/src/tcponudp/rsudpstack.h @@ -64,8 +64,8 @@ class rsUdpStack: public UdpStack, public pqiNetListener /* from pqiNetListener */ virtual bool resetListener(const struct sockaddr_storage &local) { - std::cerr << "rsUdpStack::resetListener(" << sockaddr_storage_tostring(local) << ")"; - std::cerr << std::endl; + //std::cerr << "rsUdpStack::resetListener(" << sockaddr_storage_tostring(local) << ")"; + //std::cerr << std::endl; if (local.ss_family != AF_INET) { @@ -90,16 +90,16 @@ class rsFixedUdpStack: public UdpStack, public pqiNetListener :UdpStack(testmode, local) { return; } /* from pqiNetListener */ -virtual bool resetListener(const struct sockaddr_storage &local) +virtual bool resetListener(const struct sockaddr_storage & /* local */) { struct sockaddr_in addr; getLocalAddress(addr); // The const_cast below is not so nice but without it, the compiler can't // find the correct operator<<(). No idea why! - std::cerr << "rsFixedUdpStack::resetListener(" << sockaddr_storage_tostring(local) << ")"; - std::cerr << " Resetting with original addr: " << const_cast(addr); - std::cerr << std::endl; + //std::cerr << "rsFixedUdpStack::resetListener(" << sockaddr_storage_tostring(local) << ")"; + //std::cerr << " Resetting with original addr: " << const_cast(addr); + //std::cerr << std::endl; return resetAddress(addr); } From 09ad53981d7abe48684a68b200ad2f753726b280 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 3 Jul 2016 22:02:23 -0400 Subject: [PATCH 028/158] fixed red color in IdDialog --- libretroshare/src/services/p3gxsreputation.cc | 2 +- retroshare-gui/src/gui/Identity/IdDialog.cpp | 32 ++++++++++++------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/libretroshare/src/services/p3gxsreputation.cc b/libretroshare/src/services/p3gxsreputation.cc index f40beb145..a3e58146e 100644 --- a/libretroshare/src/services/p3gxsreputation.cc +++ b/libretroshare/src/services/p3gxsreputation.cc @@ -151,7 +151,7 @@ p3GxsReputation::p3GxsReputation(p3LinkMgr *lm) mRequestTime = 0; mStoreTime = 0; mReputationsUpdated = false; - mLastActiveFriendsUpdate = 0 ; + mLastActiveFriendsUpdate = time(NULL) - 0.5*ACTIVE_FRIENDS_UPDATE_PERIOD; // avoids doing it too soon since the TS from rsIdentity needs to be loaded already mAverageActiveFriends = 0 ; mLastBannedNodesUpdate = 0 ; } diff --git a/retroshare-gui/src/gui/Identity/IdDialog.cpp b/retroshare-gui/src/gui/Identity/IdDialog.cpp index 1a8d20fde..63d1c93d6 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDialog.cpp @@ -1359,8 +1359,8 @@ bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item, if (!item) item = new TreeWidgetItem(); - RsIdentityDetails idd ; - rsIdentity->getIdDetails(RsGxsId(data.mMeta.mGroupId),idd) ; + RsIdentityDetails idd ; + rsIdentity->getIdDetails(RsGxsId(data.mMeta.mGroupId),idd) ; item->setText(RSID_COL_NICKNAME, QString::fromUtf8(data.mMeta.mGroupName.c_str()).left(RSID_MAXIMUM_NICKNAME_SIZE)); item->setText(RSID_COL_KEYID, QString::fromStdString(data.mMeta.mGroupId.toStdString())); @@ -1368,13 +1368,21 @@ bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item, //time_t now = time(NULL) ; //item->setText(RSID_COL_LASTUSED, getHumanReadableDuration(now - data.mLastUsageTS)) ; - + if(idd.mReputation.mAssessment == RsReputations::ASSESSMENT_BAD) { - item->setForeground(RSID_COL_NICKNAME,QBrush(Qt::red)); - item->setForeground(RSID_COL_KEYID,QBrush(Qt::red)); - item->setForeground(RSID_COL_IDTYPE,QBrush(Qt::red)); + std::cerr << "BAD: Identity " << data.mMeta.mGroupId << ": BAD" << std::endl; + item->setForeground(RSID_COL_NICKNAME,QBrush(Qt::red)); + item->setForeground(RSID_COL_KEYID,QBrush(Qt::red)); + item->setForeground(RSID_COL_IDTYPE,QBrush(Qt::red)); } + else + { + item->setForeground(RSID_COL_NICKNAME,QBrush(Qt::black)); + item->setForeground(RSID_COL_KEYID,QBrush(Qt::black)); + item->setForeground(RSID_COL_IDTYPE,QBrush(Qt::black)); + } + item->setData(RSID_COL_KEYID, Qt::UserRole,QVariant(item_flags)) ; item->setTextAlignment(RSID_COL_VOTES, Qt::AlignRight); @@ -1744,11 +1752,11 @@ void IdDialog::insertIdDetails(uint32_t token) RsReputations::ReputationInfo info ; rsReputations->getReputationInfo(RsGxsId(data.mMeta.mGroupId),data.mPgpId,info) ; - - ui->neighborNodesOpinion_TF->setText(QString::number(info.mFriendAverage - 1.0f)); - ui->overallOpinion_TF->setText(QString::number(info.mOverallReputationScore - 1.0f) +" ("+ - ((info.mAssessment == RsReputations::ASSESSMENT_OK)? tr("OK") : tr("Banned")) +")" ) ; + ui->neighborNodesOpinion_TF->setText(QString::number(info.mFriendAverage - 1.0f)); + + ui->overallOpinion_TF->setText(QString::number(info.mOverallReputationScore - 1.0f) +" ("+ + ((info.mAssessment == RsReputations::ASSESSMENT_OK)? tr("OK") : tr("Banned")) +")" ) ; switch(info.mOwnOpinion) { @@ -2024,10 +2032,10 @@ void IdDialog::IdListCustomPopupMenu( QPoint ) #endif RsGxsId keyId((*it)->text(RSID_COL_KEYID).toStdString()); - RsIdentityDetails det ; + RsIdentityDetails det ; rsIdentity->getIdDetails(keyId,det) ; - switch(det.mReputation.mOwnOpinion) + switch(det.mReputation.mOwnOpinion) { case RsReputations::OPINION_NEGATIVE: ++n_negative_reputations ; break ; From 218ca45ac824bcaf3b295e28e61a0696bbad5a2e Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 3 Jul 2016 23:12:56 -0400 Subject: [PATCH 029/158] removed some debug info in rsdataservice --- libretroshare/src/gxs/rsdataservice.cc | 124 +++++++++--------- libretroshare/src/services/p3gxsreputation.cc | 1 - 2 files changed, 65 insertions(+), 60 deletions(-) diff --git a/libretroshare/src/gxs/rsdataservice.cc b/libretroshare/src/gxs/rsdataservice.cc index f8bc384de..10f7d073e 100644 --- a/libretroshare/src/gxs/rsdataservice.cc +++ b/libretroshare/src/gxs/rsdataservice.cc @@ -1309,46 +1309,46 @@ int RsDataService::retrieveGxsGrpMetaData(std::map::const_iterator it(mGrpMetaDataCache.begin());it!=mGrpMetaDataCache.end();++it) - grp[it->first] = new RsGxsGrpMetaData(it->second); + grp[it->first] = new RsGxsGrpMetaData(it->second); } else - { + { #ifdef RS_DATA_SERVICE_DEBUG - std::cerr << "RsDataService::retrieveGxsGrpMetaData() retrieving all" << std::endl; + std::cerr << "RsDataService::retrieveGxsGrpMetaData() retrieving all" << std::endl; #endif - RetroCursor* c = mDb->sqlQuery(GRP_TABLE_NAME, mGrpMetaColumns, "", ""); + RetroCursor* c = mDb->sqlQuery(GRP_TABLE_NAME, mGrpMetaColumns, "", ""); - if(c) - { - bool valid = c->moveToFirst(); + if(c) + { + bool valid = c->moveToFirst(); - while(valid) - { - RsGxsGrpMetaData* g = locked_getGrpMeta(*c, 0); - if(g) - { - grp[g->mGroupId] = g; - mGrpMetaDataCache[g->mGroupId] = *g ; + while(valid) + { + RsGxsGrpMetaData* g = locked_getGrpMeta(*c, 0); + if(g) + { + grp[g->mGroupId] = g; + mGrpMetaDataCache[g->mGroupId] = *g ; #ifdef RS_DATA_SERVICE_DEBUG_CACHE - std::cerr << (void *)this << ": Retrieving (all) Grp metadata grpId=" << g->mGroupId << std::endl; + std::cerr << (void *)this << ": Retrieving (all) Grp metadata grpId=" << g->mGroupId << std::endl; #endif - } - valid = c->moveToNext(); + } + valid = c->moveToNext(); #ifdef RS_DATA_SERVICE_DEBUG_TIME - ++resultCount; + ++resultCount; #endif - } - delete c; - } - - mGrpMetaDataCache_ContainsAllDatabase = true ; - } + } + delete c; + } + + mGrpMetaDataCache_ContainsAllDatabase = true ; + } }else { @@ -1360,52 +1360,52 @@ int RsDataService::retrieveGxsGrpMetaData(std::mapfirst] = new RsGxsGrpMetaData(itt->second) ; + grp[mit->first] = new RsGxsGrpMetaData(itt->second) ; } else - { + { #ifdef RS_DATA_SERVICE_DEBUG_CACHE - std::cerr << "Retrieving Grp metadata grpId=" << mit->first ; + std::cerr << "Retrieving Grp metadata grpId=" << mit->first ; #endif - const RsGxsGroupId& grpId = mit->first; - RetroCursor* c = mDb->sqlQuery(GRP_TABLE_NAME, mGrpMetaColumns, "grpId='" + grpId.toStdString() + "'", ""); + const RsGxsGroupId& grpId = mit->first; + RetroCursor* c = mDb->sqlQuery(GRP_TABLE_NAME, mGrpMetaColumns, "grpId='" + grpId.toStdString() + "'", ""); - if(c) - { - bool valid = c->moveToFirst(); + if(c) + { + bool valid = c->moveToFirst(); //#ifdef RS_DATA_SERVICE_DEBUG_CACHE - if(!valid) - std::cerr << " Empty query! GrpId " << grpId << " is not in database" << std::endl; + if(!valid) + std::cerr << " Empty query! GrpId " << grpId << " is not in database" << std::endl; //#endif - while(valid) - { - RsGxsGrpMetaData* g = locked_getGrpMeta(*c, 0); + while(valid) + { + RsGxsGrpMetaData* g = locked_getGrpMeta(*c, 0); - if(g) - { - grp[g->mGroupId] = g; - mGrpMetaDataCache[g->mGroupId] = *g ; + if(g) + { + grp[g->mGroupId] = g; + mGrpMetaDataCache[g->mGroupId] = *g ; #ifdef RS_DATA_SERVICE_DEBUG_CACHE - std::cerr << ". Got it. Updating cache." << std::endl; + std::cerr << ". Got it. Updating cache." << std::endl; #endif - } - valid = c->moveToNext(); + } + valid = c->moveToNext(); #ifdef RS_DATA_SERVICE_DEBUG_TIME - ++resultCount; + ++resultCount; #endif - } - delete c; - } + } + delete c; + } #ifdef RS_DATA_SERVICE_DEBUG_CACHE - else - std::cerr << ". not found!" << std::endl; + else + std::cerr << ". not found!" << std::endl; #endif - } + } } } @@ -1442,23 +1442,29 @@ int RsDataService::resetDataStore() int RsDataService::updateGroupMetaData(GrpLocMetaData &meta) { +#ifdef RS_DATA_SERVICE_DEBUG_CACHE std::cerr << (void*)this << ": Updating Grp Meta data: grpId = " << meta.grpId << std::endl; - +#endif + RsStackMutex stack(mDbMutex); RsGxsGroupId& grpId = meta.grpId; - + +#ifdef RS_DATA_SERVICE_DEBUG_CACHE std::cerr << (void*)this << ": erasing old entry from cache." << std::endl; - +#endif + mGrpMetaDataCache_ContainsAllDatabase = false ; mGrpMetaDataCache.erase(meta.grpId) ; - + return mDb->sqlUpdate(GRP_TABLE_NAME, KEY_GRP_ID+ "='" + grpId.toStdString() + "'", meta.val) ? 1 : 0; } int RsDataService::updateMessageMetaData(MsgLocMetaData &metaData) { +#ifdef RS_DATA_SERVICE_DEBUG_CACHE std::cerr << (void*)this << ": Updating Msg Meta data: grpId = " << metaData.msgId.first << " msgId = " << metaData.msgId.second << std::endl; - +#endif + RsStackMutex stack(mDbMutex); RsGxsGroupId& grpId = metaData.msgId.first; RsGxsMessageId& msgId = metaData.msgId.second; diff --git a/libretroshare/src/services/p3gxsreputation.cc b/libretroshare/src/services/p3gxsreputation.cc index a3e58146e..680700ce3 100644 --- a/libretroshare/src/services/p3gxsreputation.cc +++ b/libretroshare/src/services/p3gxsreputation.cc @@ -39,7 +39,6 @@ /**** * #define DEBUG_REPUTATION 1 ****/ -#define DEBUG_REPUTATION 1 /************ IMPLEMENTATION NOTES ********************************* * From 42f221075a96b2db4e35395459dfbe7090ba7643 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 3 Jul 2016 23:15:05 -0400 Subject: [PATCH 030/158] removed debug info in IdDialog --- retroshare-gui/src/gui/Identity/IdDialog.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/retroshare-gui/src/gui/Identity/IdDialog.cpp b/retroshare-gui/src/gui/Identity/IdDialog.cpp index 63d1c93d6..c9c66fa2b 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDialog.cpp @@ -1365,13 +1365,8 @@ bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item, item->setText(RSID_COL_NICKNAME, QString::fromUtf8(data.mMeta.mGroupName.c_str()).left(RSID_MAXIMUM_NICKNAME_SIZE)); item->setText(RSID_COL_KEYID, QString::fromStdString(data.mMeta.mGroupId.toStdString())); - //time_t now = time(NULL) ; - //item->setText(RSID_COL_LASTUSED, getHumanReadableDuration(now - data.mLastUsageTS)) ; - - if(idd.mReputation.mAssessment == RsReputations::ASSESSMENT_BAD) { - std::cerr << "BAD: Identity " << data.mMeta.mGroupId << ": BAD" << std::endl; item->setForeground(RSID_COL_NICKNAME,QBrush(Qt::red)); item->setForeground(RSID_COL_KEYID,QBrush(Qt::red)); item->setForeground(RSID_COL_IDTYPE,QBrush(Qt::red)); @@ -1384,7 +1379,6 @@ bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item, } item->setData(RSID_COL_KEYID, Qt::UserRole,QVariant(item_flags)) ; - item->setTextAlignment(RSID_COL_VOTES, Qt::AlignRight); item->setData(RSID_COL_VOTES,Qt::DisplayRole, QString::number(idd.mReputation.mOverallReputationScore - 1.0f,'f',3)); From 4ee9effc4e50f263100eaa433ec68b9fd67a3e06 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 4 Jul 2016 23:55:48 -0400 Subject: [PATCH 031/158] changed internal storage of groups of friend nodes so as to use an abstract ID instead of a string (phase 1 of local circles) --- libretroshare/src/pqi/p3linkmgr.cc | 2 - libretroshare/src/pqi/p3linkmgr.h | 5 +- libretroshare/src/pqi/p3peermgr.cc | 291 +++++++++--------- libretroshare/src/pqi/p3peermgr.h | 264 ++++++++-------- libretroshare/src/retroshare/rsids.h | 7 +- libretroshare/src/retroshare/rspeers.h | 32 +- libretroshare/src/rsserver/p3peers.cc | 10 +- libretroshare/src/rsserver/p3peers.h | 10 +- libretroshare/src/serialiser/rsconfigitems.cc | 90 +++++- libretroshare/src/serialiser/rsconfigitems.h | 46 ++- libretroshare/src/serialiser/rstlvbase.h | 1 + libretroshare/src/serialiser/rstlvidset.h | 11 +- 12 files changed, 420 insertions(+), 349 deletions(-) diff --git a/libretroshare/src/pqi/p3linkmgr.cc b/libretroshare/src/pqi/p3linkmgr.cc index 2e58b8f4b..26a27dc45 100644 --- a/libretroshare/src/pqi/p3linkmgr.cc +++ b/libretroshare/src/pqi/p3linkmgr.cc @@ -138,8 +138,6 @@ p3LinkMgrIMPL::p3LinkMgrIMPL(p3PeerMgrIMPL *peerMgr, p3NetMgrIMPL *netMgr) mDNSResolver = new DNSResolver(); mRetryPeriod = MIN_RETRY_PERIOD; - lastGroupId = 1; - /* setup Banned Ip Address - static for now */ diff --git a/libretroshare/src/pqi/p3linkmgr.h b/libretroshare/src/pqi/p3linkmgr.h index c7a551177..1fee7d6f2 100644 --- a/libretroshare/src/pqi/p3linkmgr.h +++ b/libretroshare/src/pqi/p3linkmgr.h @@ -132,7 +132,7 @@ class peerConnectState }; class p3tunnel; -class RsPeerGroupItem; +class RsPeerGroupItem_deprecated; class RsGroupInfo; class p3PeerMgr; @@ -339,9 +339,6 @@ private: std::map mFriendList; std::map mOthersList; - std::list groupList; - uint32_t lastGroupId; - /* relatively static list of banned ip addresses */ std::list mBannedIpList; }; diff --git a/libretroshare/src/pqi/p3peermgr.cc b/libretroshare/src/pqi/p3peermgr.cc index 53ac4f12f..f6271b003 100644 --- a/libretroshare/src/pqi/p3peermgr.cc +++ b/libretroshare/src/pqi/p3peermgr.cc @@ -130,8 +130,6 @@ p3PeerMgrIMPL::p3PeerMgrIMPL(const RsPeerId& ssl_own_id, const RsPgpId& gpg_own_ mOwnState.vs_disc = RS_VS_DISC_FULL; mOwnState.vs_dht = RS_VS_DHT_FULL; - lastGroupId = 1; - // setup default ProxyServerAddress. // Tor sockaddr_storage_clear(mProxyServerAddressTor); @@ -1071,7 +1069,7 @@ bool p3PeerMgrIMPL::removeFriend(const RsPgpId &id) std::list ids ; ids.push_back(id) ; - assignPeersToGroup("", ids, false); + assignPeersToGroup(RsNodeGroupId(), ids, false); IndicateConfigChanged(); /**** INDICATE MSG CONFIG CHANGED! *****/ @@ -1145,7 +1143,7 @@ bool p3PeerMgrIMPL::removeFriend(const RsPeerId &id, bool removePgpId) /* remove id from all groups */ - assignPeersToGroup("", pgpid_toRemove, false); + assignPeersToGroup(RsNodeGroupId(), pgpid_toRemove, false); IndicateConfigChanged(); /**** INDICATE MSG CONFIG CHANGED! *****/ @@ -1915,7 +1913,7 @@ RsSerialiser *p3PeerMgrIMPL::setupSerialiser() bool p3PeerMgrIMPL::saveList(bool &cleanup, std::list& saveData) { /* create a list of current peers */ - cleanup = false; + cleanup = true; bool useExtAddrFinder = mNetMgr->getIPServersEnabled(); /* gather these information before mPeerMtx is locked! */ @@ -1971,7 +1969,6 @@ bool p3PeerMgrIMPL::saveList(bool &cleanup, std::list& saveData) #endif saveData.push_back(item); - saveCleanupList.push_back(item); /* iterate through all friends and save */ std::map::iterator it; @@ -2003,7 +2000,6 @@ bool p3PeerMgrIMPL::saveList(bool &cleanup, std::list& saveData) item->domain_port = (it->second).hiddenPort; saveData.push_back(item); - saveCleanupList.push_back(item); #ifdef PEER_DEBUG std::cerr << "p3PeerMgrIMPL::saveList() Peer Config Item:" << std::endl; item->print(std::cerr, 10); @@ -2024,7 +2020,6 @@ bool p3PeerMgrIMPL::saveList(bool &cleanup, std::list& saveData) } saveData.push_back(sitem) ; - saveCleanupList.push_back(sitem); // Now save config for network digging strategies @@ -2066,14 +2061,11 @@ bool p3PeerMgrIMPL::saveList(bool &cleanup, std::list& saveData) vitem->tlvkvs.pairs.push_back(kv) ; saveData.push_back(vitem); - saveCleanupList.push_back(vitem); /* save groups */ - std::list::iterator groupIt; - for (groupIt = groupList.begin(); groupIt != groupList.end(); ++groupIt) { - saveData.push_back(*groupIt); // no delete - } + for ( std::map::iterator groupIt = groupList.begin(); groupIt != groupList.end(); ++groupIt) + saveData.push_back(new RsNodeGroupItem(groupIt->second)); // no delete return true; } @@ -2294,7 +2286,8 @@ bool p3PeerMgrIMPL::loadList(std::list& load) continue; } - RsPeerGroupItem *gitem = dynamic_cast(*it) ; + RsPeerGroupItem_deprecated *gitem = dynamic_cast(*it) ; + if (gitem) { RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/ @@ -2304,20 +2297,48 @@ bool p3PeerMgrIMPL::loadList(std::list& load) gitem->print(std::cerr, 10); std::cerr << std::endl; #endif + RsGroupInfo ginfo ; + ginfo.flag = gitem->flag ; + ginfo.name = gitem->name ; + ginfo.peerIds = gitem->pgpList.ids ; + ginfo.id = RsNodeGroupId::random() ; - groupList.push_back(gitem); // don't delete + // Ensure backward compatibility when loading the group in old format. The id must matchthe standard default id. - if ((gitem->flag & RS_GROUP_FLAG_STANDARD) == 0) { - /* calculate group id */ - uint32_t groupId = atoi(gitem->id.c_str()); - if (groupId > lastGroupId) { - lastGroupId = groupId; - } - } + if(gitem->id == std::string(RS_GROUP_DEFAULT_NAME_FRIENDS )) ginfo.id = RS_GROUP_ID_FRIENDS ; + if(gitem->id == std::string(RS_GROUP_DEFAULT_NAME_COWORKERS)) ginfo.id = RS_GROUP_ID_COWORKERS ; + if(gitem->id == std::string(RS_GROUP_DEFAULT_NAME_FAMILY )) ginfo.id = RS_GROUP_ID_FAMILY ; + if(gitem->id == std::string(RS_GROUP_DEFAULT_NAME_FAVORITES)) ginfo.id = RS_GROUP_ID_FAVORITES ; + if(gitem->id == std::string(RS_GROUP_DEFAULT_NAME_OTHERS )) ginfo.id = RS_GROUP_ID_OTHERS ; - continue; + groupList[ginfo.id] = ginfo ; + + std::cerr << "(II) Creating new group for old format local group \"" << gitem->name << "\". Id=" << ginfo.id << std::endl; + + continue; } - + + RsNodeGroupItem *gitem2 = dynamic_cast(*it) ; + + if (gitem2) + { + RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/ + +#ifdef PEER_DEBUG + std::cerr << "p3PeerMgrIMPL::loadList() Peer group item:" << std::endl; + gitem->print(std::cerr, 10); + std::cerr << std::endl; +#endif + RsGroupInfo info ; + info.peerIds = gitem2->pgpList.ids ; + info.id = gitem2->id ; + info.name = gitem2->name ; + info.flag = gitem2->flag ; + + groupList[info.id] = info ; + + continue; + } RsPeerBandwidthLimitsItem *pblitem = dynamic_cast(*it) ; if(pblitem) @@ -2363,42 +2384,19 @@ bool p3PeerMgrIMPL::loadList(std::list& load) /* Standard groups */ const int standardGroupCount = 5; - const char *standardGroup[standardGroupCount] = { RS_GROUP_ID_FRIENDS, RS_GROUP_ID_FAMILY, RS_GROUP_ID_COWORKERS, RS_GROUP_ID_OTHERS, RS_GROUP_ID_FAVORITES }; - bool foundStandardGroup[standardGroupCount] = { false, false, false, false, false }; + const RsNodeGroupId standardGroupIds [standardGroupCount] = { RS_GROUP_ID_FRIENDS, RS_GROUP_ID_FAMILY, RS_GROUP_ID_COWORKERS, RS_GROUP_ID_OTHERS, RS_GROUP_ID_FAVORITES }; + const char *standardGroupNames[standardGroupCount] = { RS_GROUP_DEFAULT_NAME_FRIENDS, RS_GROUP_DEFAULT_NAME_FAMILY, RS_GROUP_DEFAULT_NAME_COWORKERS, RS_GROUP_DEFAULT_NAME_OTHERS, RS_GROUP_DEFAULT_NAME_FAVORITES }; - std::list::iterator groupIt; - for (groupIt = groupList.begin(); groupIt != groupList.end(); ++groupIt) { - if ((*groupIt)->flag & RS_GROUP_FLAG_STANDARD) { - int i; - for (i = 0; i < standardGroupCount; ++i) { - if ((*groupIt)->id == standardGroup[i]) { - foundStandardGroup[i] = true; - break; - } - } + for(uint32_t k=0;k= standardGroupCount) { - /* No more a standard group, remove the flag standard */ - (*groupIt)->flag &= ~RS_GROUP_FLAG_STANDARD; - } - } else { - uint32_t groupId = atoi((*groupIt)->id.c_str()); - if (groupId == 0) { - rs_sprintf((*groupIt)->id, "%lu", lastGroupId++); - } + groupList[info.id] = info; } - } - - /* Initialize standard groups */ - for (int i = 0; i < standardGroupCount; ++i) { - if (foundStandardGroup[i] == false) { - RsPeerGroupItem *gitem = new RsPeerGroupItem; - gitem->id = standardGroup[i]; - gitem->name = standardGroup[i]; - gitem->flag |= RS_GROUP_FLAG_STANDARD; - groupList.push_back(gitem); - } - } } // If we are hidden - don't want ExtAddrFinder - ever! @@ -2478,19 +2476,13 @@ bool p3PeerMgrIMPL::addGroup(RsGroupInfo &groupInfo) { RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/ - RsPeerGroupItem *groupItem = new RsPeerGroupItem; - groupItem->set(groupInfo); - - rs_sprintf(groupItem->id, "%lu", ++lastGroupId); + groupInfo.id = RsNodeGroupId::random() ;//groupItem->id; // at creation time, we generate a random id. + RsGroupInfo groupItem(groupInfo) ; // remove standard flag - groupItem->flag &= ~RS_GROUP_FLAG_STANDARD; - groupItem->PeerId(getOwnId()); - - groupList.push_back(groupItem); - - groupInfo.id = groupItem->id; + groupItem.flag &= ~RS_GROUP_FLAG_STANDARD; + groupList[groupInfo.id] = groupItem; } RsServer::notify()->notifyListChange(NOTIFY_LIST_GROUPLIST, NOTIFY_TYPE_ADD); @@ -2500,35 +2492,39 @@ bool p3PeerMgrIMPL::addGroup(RsGroupInfo &groupInfo) return true; } -bool p3PeerMgrIMPL::editGroup(const std::string &groupId, RsGroupInfo &groupInfo) +bool p3PeerMgrIMPL::editGroup(const RsNodeGroupId& groupId, RsGroupInfo &groupInfo) { - if (groupId.empty()) { + if (groupId.isNull()) return false; - } bool changed = false; - { - RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/ + { + RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/ - std::list::iterator groupIt; - for (groupIt = groupList.begin(); groupIt != groupList.end(); ++groupIt) { - if ((*groupIt)->id == groupId) { - break; - } - } + std::map::iterator it = groupList.find(groupId) ; - if (groupIt != groupList.end()) { - if ((*groupIt)->flag & RS_GROUP_FLAG_STANDARD) { - // can't edit standard groups - } else { - changed = true; - (*groupIt)->set(groupInfo); - } - } - } + if(it == groupList.end()) + { + std::cerr << "(EE) cannot find local node group with ID " << groupId << std::endl; + return false ; + } - if (changed) { + if (it->second.flag & RS_GROUP_FLAG_STANDARD) + { + // can't edit standard groups + std::cerr << "(EE) cannot edit standard group with ID " << groupId << std::endl; + return false ; + } + else + { + changed = true; + it->second = groupInfo; + } + } + + if (changed) + { RsServer::notify()->notifyListChange(NOTIFY_LIST_GROUPLIST, NOTIFY_TYPE_MOD); IndicateConfigChanged(); @@ -2537,31 +2533,35 @@ bool p3PeerMgrIMPL::editGroup(const std::string &groupId, RsGroupInfo &groupInfo return changed; } -bool p3PeerMgrIMPL::removeGroup(const std::string &groupId) +bool p3PeerMgrIMPL::removeGroup(const RsNodeGroupId& groupId) { - if (groupId.empty()) { - return false; - } - bool changed = false; { RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/ - std::list::iterator groupIt; - for (groupIt = groupList.begin(); groupIt != groupList.end(); ++groupIt) { - if ((*groupIt)->id == groupId) { - break; - } - } + std::map::iterator it = groupList.find(groupId) ; - if (groupIt != groupList.end()) { - if ((*groupIt)->flag & RS_GROUP_FLAG_STANDARD) { + if (it != groupList.end()) { + if (it->second.flag & RS_GROUP_FLAG_STANDARD) + { // can't remove standard groups - } else { + std::cerr << "(EE) cannot remove standard group with ID " << groupId << std::endl; + return false ; + } +#warning we need to check that the local group is not used. Otherwise deleting it is going to cause problems! +// else if(!it->second.used_gxs_groups.empty()) +// { +// std::cerr << "(EE) cannot remove standard group with ID " << groupId << " because it is used in the following groups: " << std::endl; +// for(std::set::const_iterator it2(it->second.used_gxs_groups.begin());it2!=it->second.used_gxs_groups.end();++it2) +// std::cerr << " " << *it2 << std::endl; +// +// return false ; +// } + else + { changed = true; - delete(*groupIt); - groupList.erase(groupIt); + groupList.erase(it); } } } @@ -2575,82 +2575,69 @@ bool p3PeerMgrIMPL::removeGroup(const std::string &groupId) return changed; } -bool p3PeerMgrIMPL::getGroupInfo(const std::string &groupId, RsGroupInfo &groupInfo) +bool p3PeerMgrIMPL::getGroupInfo(const RsNodeGroupId& groupId, RsGroupInfo &groupInfo) { - if (groupId.empty()) { - return false; - } - RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/ - std::list::iterator groupIt; - for (groupIt = groupList.begin(); groupIt != groupList.end(); ++groupIt) { - if ((*groupIt)->id == groupId) { - (*groupIt)->get(groupInfo); + std::map::iterator it = groupList.find(groupId) ; - return true; - } - } + if(it == groupList.end()) + return false ; - return false; + groupInfo = it->second; + + return true; } -bool p3PeerMgrIMPL::getGroupInfoList(std::list &groupInfoList) +bool p3PeerMgrIMPL::getGroupInfoList(std::list& groupInfoList) { RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/ - std::list::iterator groupIt; - for (groupIt = groupList.begin(); groupIt != groupList.end(); ++groupIt) { - RsGroupInfo groupInfo; - (*groupIt)->get(groupInfo); - groupInfoList.push_back(groupInfo); - } + for (std::map ::const_iterator groupIt = groupList.begin(); groupIt != groupList.end(); ++groupIt) + groupInfoList.push_back(groupIt->second); return true; } -// groupId == "" && assign == false -> remove from all groups -bool p3PeerMgrIMPL::assignPeersToGroup(const std::string &groupId, const std::list &peerIds, bool assign) -{ - if (groupId.empty() && assign == true) { - return false; - } +// groupId.isNull() && assign == false -> remove from all groups - if (peerIds.empty()) { +bool p3PeerMgrIMPL::assignPeersToGroup(const RsNodeGroupId &groupId, const std::list &peerIds, bool assign) +{ + if (groupId.isNull() && assign == true) + return false; + + if (peerIds.empty()) return false; - } bool changed = false; { RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/ - std::list::iterator groupIt; - for (groupIt = groupList.begin(); groupIt != groupList.end(); ++groupIt) { - if (groupId.empty() || (*groupIt)->id == groupId) { - RsPeerGroupItem *groupItem = *groupIt; + for (std::map::iterator groupIt = groupList.begin(); groupIt != groupList.end(); ++groupIt) + if (groupId.isNull() || groupIt->first == groupId) + { + RsGroupInfo& groupItem = groupIt->second; - std::list::const_iterator peerIt; - for (peerIt = peerIds.begin(); peerIt != peerIds.end(); ++peerIt) { - std::set::iterator peerIt1 = std::find(groupItem->pgpList.ids.begin(), groupItem->pgpList.ids.end(), *peerIt); - if (assign) { - if (peerIt1 == groupItem->pgpList.ids.end()) { - groupItem->pgpList.ids.insert(*peerIt); - changed = true; - } - } else { - if (peerIt1 != groupItem->pgpList.ids.end()) { - groupItem->pgpList.ids.erase(peerIt1); - changed = true; - } + for (std::list::const_iterator peerIt = peerIds.begin(); peerIt != peerIds.end(); ++peerIt) + { + std::set::iterator peerIt1 = groupItem.peerIds.find(*peerIt); + + if (assign) + { + groupItem.peerIds.insert(*peerIt); + changed = true; + } + else + { + groupItem.peerIds.erase(*peerIt); + changed = true; } } - if (groupId.empty() == false) { + if (!groupId.isNull()) break; - } } - } } if (changed) { diff --git a/libretroshare/src/pqi/p3peermgr.h b/libretroshare/src/pqi/p3peermgr.h index 62c194bbf..e73377677 100644 --- a/libretroshare/src/pqi/p3peermgr.h +++ b/libretroshare/src/pqi/p3peermgr.h @@ -106,7 +106,7 @@ class peerState uint32_t maxDnRate ; }; -class RsPeerGroupItem; +class RsNodeGroupItem; class RsGroupInfo; std::string textPeerState(peerState &state); @@ -139,11 +139,11 @@ virtual bool removeAllFriendLocations(const RsPgpId &gpgid) = 0; /* This is solely used by p3peers - makes sense */ virtual bool addGroup(RsGroupInfo &groupInfo) = 0; -virtual bool editGroup(const std::string &groupId, RsGroupInfo &groupInfo) = 0; -virtual bool removeGroup(const std::string &groupId) = 0; -virtual bool getGroupInfo(const std::string &groupId, RsGroupInfo &groupInfo) = 0; +virtual bool editGroup(const RsNodeGroupId &groupId, RsGroupInfo &groupInfo) = 0; +virtual bool removeGroup(const RsNodeGroupId &groupId) = 0; +virtual bool getGroupInfo(const RsNodeGroupId &groupId, RsGroupInfo &groupInfo) = 0; virtual bool getGroupInfoList(std::list &groupInfoList) = 0; -virtual bool assignPeersToGroup(const std::string &groupId, const std::list &peerIds, bool assign) = 0; +virtual bool assignPeersToGroup(const RsNodeGroupId &groupId, const std::list &peerIds, bool assign) = 0; virtual bool resetOwnExternalAddressList() = 0 ; @@ -231,181 +231,181 @@ virtual bool locked_computeCurrentBestOwnExtAddressCandidate(sockaddr_storage class p3PeerMgrIMPL: public p3PeerMgr, public p3Config { - public: +public: -/************************************************************************************************/ -/* EXTERNAL INTERFACE */ -/************************************************************************************************/ + /************************************************************************************************/ + /* EXTERNAL INTERFACE */ + /************************************************************************************************/ -virtual bool addFriend(const RsPeerId&ssl_id, const RsPgpId&gpg_id, uint32_t netMode = RS_NET_MODE_UDP, - uint16_t vsDisc = RS_VS_DISC_FULL, uint16_t vsDht = RS_VS_DHT_FULL, - time_t lastContact = 0,ServicePermissionFlags = ServicePermissionFlags(RS_NODE_PERM_DEFAULT)); -virtual bool removeFriend(const RsPeerId &ssl_id, bool removePgpId); -virtual bool removeFriend(const RsPgpId &pgp_id); + virtual bool addFriend(const RsPeerId&ssl_id, const RsPgpId&gpg_id, uint32_t netMode = RS_NET_MODE_UDP, + uint16_t vsDisc = RS_VS_DISC_FULL, uint16_t vsDht = RS_VS_DHT_FULL, + time_t lastContact = 0,ServicePermissionFlags = ServicePermissionFlags(RS_NODE_PERM_DEFAULT)); + virtual bool removeFriend(const RsPeerId &ssl_id, bool removePgpId); + virtual bool removeFriend(const RsPgpId &pgp_id); -virtual bool isFriend(const RsPeerId &ssl_id); + virtual bool isFriend(const RsPeerId &ssl_id); -virtual bool getAssociatedPeers(const RsPgpId &gpg_id, std::list &ids); -virtual bool removeAllFriendLocations(const RsPgpId &gpgid); + virtual bool getAssociatedPeers(const RsPgpId &gpg_id, std::list &ids); + virtual bool removeAllFriendLocations(const RsPgpId &gpgid); - /******************** Groups **********************/ - /* This is solely used by p3peers - makes sense */ + /******************** Groups **********************/ + /* This is solely used by p3peers - makes sense */ -virtual bool addGroup(RsGroupInfo &groupInfo); -virtual bool editGroup(const std::string &groupId, RsGroupInfo &groupInfo); -virtual bool removeGroup(const std::string &groupId); -virtual bool getGroupInfo(const std::string &groupId, RsGroupInfo &groupInfo); -virtual bool getGroupInfoList(std::list &groupInfoList); -virtual bool assignPeersToGroup(const std::string &groupId, const std::list &peerIds, bool assign); + virtual bool addGroup(RsGroupInfo &groupInfo); + virtual bool editGroup(const RsNodeGroupId &groupId, RsGroupInfo &groupInfo); + virtual bool removeGroup(const RsNodeGroupId &groupId); + virtual bool getGroupInfo(const RsNodeGroupId &groupId, RsGroupInfo &groupInfo); + virtual bool getGroupInfoList(std::list &groupInfoList); + virtual bool assignPeersToGroup(const RsNodeGroupId &groupId, const std::list &peerIds, bool assign); virtual ServicePermissionFlags servicePermissionFlags(const RsPgpId& gpg_id) ; - virtual ServicePermissionFlags servicePermissionFlags(const RsPeerId& ssl_id) ; - virtual void setServicePermissionFlags(const RsPgpId& gpg_id,const ServicePermissionFlags& flags) ; + virtual ServicePermissionFlags servicePermissionFlags(const RsPeerId& ssl_id) ; + virtual void setServicePermissionFlags(const RsPgpId& gpg_id,const ServicePermissionFlags& flags) ; - /**************** Set Net Info ****************/ - /* - * These functions are used by: - * 1) p3linkmgr - * 2) p3peers - reasonable - * 3) p3disc - reasonable - */ + /**************** Set Net Info ****************/ + /* + * These functions are used by: + * 1) p3linkmgr + * 2) p3peers - reasonable + * 3) p3disc - reasonable + */ -virtual bool setLocalAddress(const RsPeerId &id, const struct sockaddr_storage &addr); -virtual bool setExtAddress(const RsPeerId &id, const struct sockaddr_storage &addr); -virtual bool setDynDNS(const RsPeerId &id, const std::string &dyndns); -virtual bool addCandidateForOwnExternalAddress(const RsPeerId& from, const struct sockaddr_storage &addr) ; -virtual bool getExtAddressReportedByFriends(struct sockaddr_storage& addr, uint8_t &isstable) ; + virtual bool setLocalAddress(const RsPeerId &id, const struct sockaddr_storage &addr); + virtual bool setExtAddress(const RsPeerId &id, const struct sockaddr_storage &addr); + virtual bool setDynDNS(const RsPeerId &id, const std::string &dyndns); + virtual bool addCandidateForOwnExternalAddress(const RsPeerId& from, const struct sockaddr_storage &addr) ; + virtual bool getExtAddressReportedByFriends(struct sockaddr_storage& addr, uint8_t &isstable) ; -virtual bool setNetworkMode(const RsPeerId &id, uint32_t netMode); -virtual bool setVisState(const RsPeerId &id, uint16_t vs_disc, uint16_t vs_dht); + virtual bool setNetworkMode(const RsPeerId &id, uint32_t netMode); + virtual bool setVisState(const RsPeerId &id, uint16_t vs_disc, uint16_t vs_dht); -virtual bool setLocation(const RsPeerId &pid, const std::string &location); -virtual bool setHiddenDomainPort(const RsPeerId &id, const std::string &domain_addr, const uint16_t domain_port); - -virtual bool updateCurrentAddress(const RsPeerId& id, const pqiIpAddress &addr); -virtual bool updateLastContact(const RsPeerId& id); -virtual bool updateAddressList(const RsPeerId& id, const pqiIpAddrSet &addrs); + virtual bool setLocation(const RsPeerId &pid, const std::string &location); + virtual bool setHiddenDomainPort(const RsPeerId &id, const std::string &domain_addr, const uint16_t domain_port); + + virtual bool updateCurrentAddress(const RsPeerId& id, const pqiIpAddress &addr); + virtual bool updateLastContact(const RsPeerId& id); + virtual bool updateAddressList(const RsPeerId& id, const pqiIpAddrSet &addrs); virtual bool resetOwnExternalAddressList() ; - // THIS MUST ONLY BE CALLED BY NETMGR!!!! -virtual bool UpdateOwnAddress(const struct sockaddr_storage &local_addr, const struct sockaddr_storage &ext_addr); - /**************** Net Status Info ****************/ - /* - * MUST RATIONALISE THE DATA FROM THESE FUNCTIONS - * These functions are used by: - * 1) p3face-config ... to remove! - * 2) p3peers - reasonable - * 3) p3disc - reasonable - */ + // THIS MUST ONLY BE CALLED BY NETMGR!!!! + virtual bool UpdateOwnAddress(const struct sockaddr_storage &local_addr, const struct sockaddr_storage &ext_addr); + /**************** Net Status Info ****************/ + /* + * MUST RATIONALISE THE DATA FROM THESE FUNCTIONS + * These functions are used by: + * 1) p3face-config ... to remove! + * 2) p3peers - reasonable + * 3) p3disc - reasonable + */ -virtual bool getOwnNetStatus(peerState &state); -virtual bool getFriendNetStatus(const RsPeerId &id, peerState &state); -virtual bool getOthersNetStatus(const RsPeerId &id, peerState &state); + virtual bool getOwnNetStatus(peerState &state); + virtual bool getFriendNetStatus(const RsPeerId &id, peerState &state); + virtual bool getOthersNetStatus(const RsPeerId &id, peerState &state); -virtual bool getPeerName(const RsPeerId& ssl_id, std::string& name); -virtual bool getGpgId(const RsPeerId& sslId, RsPgpId& gpgId); -virtual uint32_t getConnectionType(const RsPeerId& sslId); + virtual bool getPeerName(const RsPeerId& ssl_id, std::string& name); + virtual bool getGpgId(const RsPeerId& sslId, RsPgpId& gpgId); + virtual uint32_t getConnectionType(const RsPeerId& sslId); -virtual bool setProxyServerAddress(const uint32_t type, const struct sockaddr_storage &proxy_addr); -virtual bool getProxyServerAddress(const uint32_t type, struct sockaddr_storage &proxy_addr); -virtual bool getProxyServerStatus(const uint32_t type, uint32_t &proxy_status); -virtual bool isHidden(); -virtual bool isHidden(const uint32_t type); -virtual bool isHiddenPeer(const RsPeerId &ssl_id); -virtual bool isHiddenPeer(const RsPeerId &ssl_id, const uint32_t type); -virtual bool getProxyAddress(const RsPeerId& ssl_id, struct sockaddr_storage &proxy_addr, std::string &domain_addr, uint16_t &domain_port); -virtual uint32_t hiddenDomainToHiddenType(const std::string &domain); -virtual uint32_t getHiddenType(const RsPeerId &ssl_id); + virtual bool setProxyServerAddress(const uint32_t type, const struct sockaddr_storage &proxy_addr); + virtual bool getProxyServerAddress(const uint32_t type, struct sockaddr_storage &proxy_addr); + virtual bool getProxyServerStatus(const uint32_t type, uint32_t &proxy_status); + virtual bool isHidden(); + virtual bool isHidden(const uint32_t type); + virtual bool isHiddenPeer(const RsPeerId &ssl_id); + virtual bool isHiddenPeer(const RsPeerId &ssl_id, const uint32_t type); + virtual bool getProxyAddress(const RsPeerId& ssl_id, struct sockaddr_storage &proxy_addr, std::string &domain_addr, uint16_t &domain_port); + virtual uint32_t hiddenDomainToHiddenType(const std::string &domain); + virtual uint32_t getHiddenType(const RsPeerId &ssl_id); -virtual int getFriendCount(bool ssl, bool online); + virtual int getFriendCount(bool ssl, bool online); - /************* DEPRECIATED FUNCTIONS (TO REMOVE) ********/ + /************* DEPRECIATED FUNCTIONS (TO REMOVE) ********/ - // Single Use Function... shouldn't be here. used by p3serverconfig.cc -virtual bool haveOnceConnected(); + // Single Use Function... shouldn't be here. used by p3serverconfig.cc + virtual bool haveOnceConnected(); -virtual bool setMaxRates(const RsPgpId& pid,uint32_t maxUp,uint32_t maxDn); -virtual bool getMaxRates(const RsPgpId& pid,uint32_t& maxUp,uint32_t& maxDn); -virtual bool getMaxRates(const RsPeerId& pid,uint32_t& maxUp,uint32_t& maxDn); + virtual bool setMaxRates(const RsPgpId& pid,uint32_t maxUp,uint32_t maxDn); + virtual bool getMaxRates(const RsPgpId& pid,uint32_t& maxUp,uint32_t& maxDn); + virtual bool getMaxRates(const RsPeerId& pid,uint32_t& maxUp,uint32_t& maxDn); -/************************************************************************************************/ -/* Extra IMPL Functions (used by p3LinkMgr, p3NetMgr + Setup) */ -/************************************************************************************************/ + /************************************************************************************************/ + /* Extra IMPL Functions (used by p3LinkMgr, p3NetMgr + Setup) */ + /************************************************************************************************/ - p3PeerMgrIMPL( const RsPeerId& ssl_own_id, - const RsPgpId& gpg_own_id, - const std::string& gpg_own_name, - const std::string& ssl_own_location) ; + p3PeerMgrIMPL( const RsPeerId& ssl_own_id, + const RsPgpId& gpg_own_id, + const std::string& gpg_own_name, + const std::string& ssl_own_location) ; -void setManagers(p3LinkMgrIMPL *linkMgr, p3NetMgrIMPL *netMgr); + void setManagers(p3LinkMgrIMPL *linkMgr, p3NetMgrIMPL *netMgr); -bool forceHiddenNode(); -bool setupHiddenNode(const std::string &hiddenAddress, const uint16_t hiddenPort); + bool forceHiddenNode(); + bool setupHiddenNode(const std::string &hiddenAddress, const uint16_t hiddenPort); -void tick(); + void tick(); -const RsPeerId& getOwnId(); -bool setOwnNetworkMode(uint32_t netMode); -bool setOwnVisState(uint16_t vs_disc, uint16_t vs_dht); + const RsPeerId& getOwnId(); + bool setOwnNetworkMode(uint32_t netMode); + bool setOwnVisState(uint16_t vs_disc, uint16_t vs_dht); -int getConnectAddresses(const RsPeerId &id, - struct sockaddr_storage &lAddr, struct sockaddr_storage &eAddr, - pqiIpAddrSet &histAddrs, std::string &dyndns); + int getConnectAddresses(const RsPeerId &id, + struct sockaddr_storage &lAddr, struct sockaddr_storage &eAddr, + pqiIpAddrSet &histAddrs, std::string &dyndns); protected: - /* Internal Functions */ + /* Internal Functions */ -bool removeUnusedLocations(); -bool removeBannedIps(); + bool removeUnusedLocations(); + bool removeBannedIps(); -void printPeerLists(std::ostream &out); + void printPeerLists(std::ostream &out); -virtual bool locked_computeCurrentBestOwnExtAddressCandidate(sockaddr_storage &addr, uint32_t &count); + virtual bool locked_computeCurrentBestOwnExtAddressCandidate(sockaddr_storage &addr, uint32_t &count); - protected: -/*****************************************************************/ -/*********************** p3config ******************************/ - /* Key Functions to be overloaded for Full Configuration */ - virtual RsSerialiser *setupSerialiser(); - virtual bool saveList(bool &cleanup, std::list&); - virtual void saveDone(); - virtual bool loadList(std::list& load); -/*****************************************************************/ +protected: + /*****************************************************************/ + /*********************** p3config ******************************/ + /* Key Functions to be overloaded for Full Configuration */ + virtual RsSerialiser *setupSerialiser(); + virtual bool saveList(bool &cleanup, std::list&); + virtual void saveDone(); + virtual bool loadList(std::list& load); + /*****************************************************************/ - /* other important managers */ + /* other important managers */ + + p3LinkMgrIMPL *mLinkMgr; + p3NetMgrIMPL *mNetMgr; - p3LinkMgrIMPL *mLinkMgr; - p3NetMgrIMPL *mNetMgr; - private: - RsMutex mPeerMtx; /* protects below */ + RsMutex mPeerMtx; /* protects below */ - bool mStatusChanged; + bool mStatusChanged; - std::list clients; + std::list clients; - peerState mOwnState; + peerState mOwnState; - std::map mFriendList; // - std::map mOthersList; + std::map mFriendList; // + std::map mOthersList; - std::map mReportedOwnAddresses ; - - std::list groupList; - uint32_t lastGroupId; + std::map mReportedOwnAddresses ; - std::list saveCleanupList; /* TEMPORARY LIST WHEN SAVING */ + std::map groupList; + uint32_t lastGroupId; - std::map mFriendsPermissionFlags ; // permission flags for each gpg key - std::map mPeerBandwidthLimits ; // bandwidth limits for each gpg key + std::list saveCleanupList; /* TEMPORARY LIST WHEN SAVING */ - struct sockaddr_storage mProxyServerAddressTor; - struct sockaddr_storage mProxyServerAddressI2P; - uint32_t mProxyServerStatusTor ; - uint32_t mProxyServerStatusI2P ; + std::map mFriendsPermissionFlags ; // permission flags for each gpg key + std::map mPeerBandwidthLimits ; // bandwidth limits for each gpg key + + struct sockaddr_storage mProxyServerAddressTor; + struct sockaddr_storage mProxyServerAddressI2P; + uint32_t mProxyServerStatusTor ; + uint32_t mProxyServerStatusI2P ; }; diff --git a/libretroshare/src/retroshare/rsids.h b/libretroshare/src/retroshare/rsids.h index 6cd97f5ad..60b5392c7 100644 --- a/libretroshare/src/retroshare/rsids.h +++ b/libretroshare/src/retroshare/rsids.h @@ -73,14 +73,13 @@ template c memcpy(bytes,id.toByteArray(),ID_SIZE_IN_BYTES) ; } - // Random initialization. Can be useful for testing. + // Random initialization. Can be useful for testing and to generate new ids. // static t_RsGenericIdType random() { t_RsGenericIdType id ; - for(uint32_t i=0;i SSLIdType ; typedef t_RsGenericIdType< PGP_KEY_ID_SIZE , true, RS_GENERIC_ID_PGP_ID_TYPE> PGPIdType ; @@ -231,4 +231,5 @@ typedef t_RsGenericIdType< CERT_SIGN_LEN , false, RS_GENERIC_ID_GXS_I typedef t_RsGenericIdType< CERT_SIGN_LEN , false, RS_GENERIC_ID_GXS_CIRCLE_ID_TYPE > GXSCircleId ; typedef t_RsGenericIdType< SSL_ID_SIZE , false, RS_GENERIC_ID_GXS_TUNNEL_ID_TYPE > GXSTunnelId ; typedef t_RsGenericIdType< SSL_ID_SIZE , false, RS_GENERIC_ID_GXS_DISTANT_CHAT_ID_TYPE > DistantChatPeerId ; +typedef t_RsGenericIdType< CERT_SIGN_LEN , false, RS_GENERIC_ID_NODE_GROUP_ID_TYPE > RsNodeGroupId ; diff --git a/libretroshare/src/retroshare/rspeers.h b/libretroshare/src/retroshare/rspeers.h index 3cad47cad..6d9246c81 100644 --- a/libretroshare/src/retroshare/rspeers.h +++ b/libretroshare/src/retroshare/rspeers.h @@ -185,11 +185,17 @@ const uint32_t RS_NET_PROXY_STATUS_OK = 0x0001 ; /* Groups */ -#define RS_GROUP_ID_FRIENDS "Friends" -#define RS_GROUP_ID_FAMILY "Family" -#define RS_GROUP_ID_COWORKERS "Co-Workers" -#define RS_GROUP_ID_OTHERS "Other Contacts" -#define RS_GROUP_ID_FAVORITES "Favorites" +static const RsNodeGroupId RS_GROUP_ID_FRIENDS ("00000000000000000000000000000001"); +static const RsNodeGroupId RS_GROUP_ID_FAMILY ("00000000000000000000000000000002"); +static const RsNodeGroupId RS_GROUP_ID_COWORKERS ("00000000000000000000000000000003"); +static const RsNodeGroupId RS_GROUP_ID_OTHERS ("00000000000000000000000000000004"); +static const RsNodeGroupId RS_GROUP_ID_FAVORITES ("00000000000000000000000000000005"); + +#define RS_GROUP_DEFAULT_NAME_FRIENDS "Friends" +#define RS_GROUP_DEFAULT_NAME_FAMILY "Family" +#define RS_GROUP_DEFAULT_NAME_COWORKERS "Co-Workers" +#define RS_GROUP_DEFAULT_NAME_OTHERS "Other Contacts" +#define RS_GROUP_DEFAULT_NAME_FAVORITES "Favorites" const uint32_t RS_GROUP_FLAG_STANDARD = 0x0001; @@ -295,7 +301,7 @@ class RsGroupInfo public: RsGroupInfo(); - std::string id; + RsNodeGroupId id; std::string name; uint32_t flag; @@ -399,14 +405,14 @@ public: virtual bool trustGPGCertificate(const RsPgpId &gpg_id, uint32_t trustlvl) = 0; /* Group Stuff */ - virtual bool addGroup(RsGroupInfo &groupInfo) = 0; - virtual bool editGroup(const std::string &groupId, RsGroupInfo &groupInfo) = 0; - virtual bool removeGroup(const std::string &groupId) = 0; - virtual bool getGroupInfo(const std::string &groupId, RsGroupInfo &groupInfo) = 0; - virtual bool getGroupInfoList(std::list &groupInfoList) = 0; + virtual bool addGroup(RsGroupInfo& groupInfo) = 0; + virtual bool editGroup(const RsNodeGroupId& groupId, RsGroupInfo& groupInfo) = 0; + virtual bool removeGroup(const RsNodeGroupId& groupId) = 0; + virtual bool getGroupInfo(const RsNodeGroupId& groupId, RsGroupInfo& groupInfo) = 0; + virtual bool getGroupInfoList(std::list& groupInfoList) = 0; // groupId == "" && assign == false -> remove from all groups - virtual bool assignPeerToGroup(const std::string &groupId, const RsPgpId& peerId, bool assign) = 0; - virtual bool assignPeersToGroup(const std::string &groupId, const std::list &peerIds, bool assign) = 0; + virtual bool assignPeerToGroup(const RsNodeGroupId& groupId, const RsPgpId& peerId, bool assign) = 0; + virtual bool assignPeersToGroup(const RsNodeGroupId& groupId, const std::list& peerIds, bool assign) = 0; /* Group sharing permission */ diff --git a/libretroshare/src/rsserver/p3peers.cc b/libretroshare/src/rsserver/p3peers.cc index a415f4987..e0dff3dd6 100644 --- a/libretroshare/src/rsserver/p3peers.cc +++ b/libretroshare/src/rsserver/p3peers.cc @@ -1280,7 +1280,7 @@ bool p3Peers::addGroup(RsGroupInfo &groupInfo) return res ; } -bool p3Peers::editGroup(const std::string &groupId, RsGroupInfo &groupInfo) +bool p3Peers::editGroup(const RsNodeGroupId &groupId, RsGroupInfo &groupInfo) { #ifdef P3PEERS_DEBUG std::cerr << "p3Peers::editGroup()" << std::endl; @@ -1292,7 +1292,7 @@ bool p3Peers::editGroup(const std::string &groupId, RsGroupInfo &groupInfo) return res ; } -bool p3Peers::removeGroup(const std::string &groupId) +bool p3Peers::removeGroup(const RsNodeGroupId &groupId) { #ifdef P3PEERS_DEBUG std::cerr << "p3Peers::removeGroup()" << std::endl; @@ -1303,7 +1303,7 @@ bool p3Peers::removeGroup(const std::string &groupId) return res ; } -bool p3Peers::getGroupInfo(const std::string &groupId, RsGroupInfo &groupInfo) +bool p3Peers::getGroupInfo(const RsNodeGroupId &groupId, RsGroupInfo &groupInfo) { #ifdef P3PEERS_DEBUG std::cerr << "p3Peers::getGroupInfo()" << std::endl; @@ -1321,7 +1321,7 @@ bool p3Peers::getGroupInfoList(std::list &groupInfoList) return mPeerMgr->getGroupInfoList(groupInfoList); } -bool p3Peers::assignPeerToGroup(const std::string &groupId, const RsPgpId& peerId, bool assign) +bool p3Peers::assignPeerToGroup(const RsNodeGroupId &groupId, const RsPgpId& peerId, bool assign) { std::list peerIds; peerIds.push_back(peerId); @@ -1329,7 +1329,7 @@ bool p3Peers::assignPeerToGroup(const std::string &groupId, const RsPgpId& peerI return assignPeersToGroup(groupId, peerIds, assign); } -bool p3Peers::assignPeersToGroup(const std::string &groupId, const std::list &peerIds, bool assign) +bool p3Peers::assignPeersToGroup(const RsNodeGroupId &groupId, const std::list &peerIds, bool assign) { #ifdef P3PEERS_DEBUG std::cerr << "p3Peers::assignPeersToGroup()" << std::endl; diff --git a/libretroshare/src/rsserver/p3peers.h b/libretroshare/src/rsserver/p3peers.h index 25d38c9a3..7a67039f0 100644 --- a/libretroshare/src/rsserver/p3peers.h +++ b/libretroshare/src/rsserver/p3peers.h @@ -124,12 +124,12 @@ public: /* Group Stuff */ virtual bool addGroup(RsGroupInfo &groupInfo); - virtual bool editGroup(const std::string &groupId, RsGroupInfo &groupInfo); - virtual bool removeGroup(const std::string &groupId); - virtual bool getGroupInfo(const std::string &groupId, RsGroupInfo &groupInfo); + virtual bool editGroup(const RsNodeGroupId &groupId, RsGroupInfo &groupInfo); + virtual bool removeGroup(const RsNodeGroupId &groupId); + virtual bool getGroupInfo(const RsNodeGroupId &groupId, RsGroupInfo &groupInfo); virtual bool getGroupInfoList(std::list &groupInfoList); - virtual bool assignPeerToGroup(const std::string &groupId, const RsPgpId &peerId, bool assign); - virtual bool assignPeersToGroup(const std::string &groupId, const std::list& peerIds, bool assign); + virtual bool assignPeerToGroup(const RsNodeGroupId &groupId, const RsPgpId &peerId, bool assign); + virtual bool assignPeersToGroup(const RsNodeGroupId &groupId, const std::list& peerIds, bool assign); virtual FileSearchFlags computePeerPermissionFlags(const RsPeerId& peer_id,FileStorageFlags share_flags,const std::list& parent_groups); diff --git a/libretroshare/src/serialiser/rsconfigitems.cc b/libretroshare/src/serialiser/rsconfigitems.cc index 313beb33a..6e040f0dd 100644 --- a/libretroshare/src/serialiser/rsconfigitems.cc +++ b/libretroshare/src/serialiser/rsconfigitems.cc @@ -682,7 +682,7 @@ uint32_t RsPeerConfigSerialiser::size(RsItem *i) { RsPeerStunItem *psi; RsPeerNetItem *pni; - RsPeerGroupItem *pgi; + RsPeerGroupItem_deprecated *pgi; RsPeerServicePermissionItem *pri; RsPeerBandwidthLimitsItem *pblitem; @@ -694,7 +694,7 @@ uint32_t RsPeerConfigSerialiser::size(RsItem *i) { return sizeStun(psi); } - else if (NULL != (pgi = dynamic_cast(i))) + else if (NULL != (pgi = dynamic_cast(i))) { return sizeGroup(pgi); } @@ -715,7 +715,7 @@ bool RsPeerConfigSerialiser::serialise(RsItem *i, void *data, uint32_t *pktsi { RsPeerNetItem *pni; RsPeerStunItem *psi; - RsPeerGroupItem *pgi; + RsPeerGroupItem_deprecated *pgi; RsPeerServicePermissionItem *pri; RsPeerBandwidthLimitsItem *pblitem; @@ -727,7 +727,7 @@ bool RsPeerConfigSerialiser::serialise(RsItem *i, void *data, uint32_t *pktsi { return serialiseStun(psi, data, pktsize); } - else if (NULL != (pgi = dynamic_cast(i))) + else if (NULL != (pgi = dynamic_cast(i))) { return serialiseGroup(pgi, data, pktsize); } @@ -764,7 +764,7 @@ RsItem *RsPeerConfigSerialiser::deserialise(void *data, uint32_t *pktsize) return deserialiseNet(data, pktsize); case RS_PKT_SUBTYPE_PEER_STUN: return deserialiseStun(data, pktsize); - case RS_PKT_SUBTYPE_PEER_GROUP: + case RS_PKT_SUBTYPE_PEER_GROUP_deprecated: return deserialiseGroup(data, pktsize); case RS_PKT_SUBTYPE_PEER_PERMISSIONS: return deserialisePermissions(data, pktsize); @@ -1312,16 +1312,72 @@ RsPeerStunItem *RsPeerConfigSerialiser::deserialiseStun(void *data, uint32_t *si } /*************************************************************************/ - -RsPeerGroupItem::RsPeerGroupItem() : RsItem(RS_PKT_VERSION1, RS_PKT_CLASS_CONFIG, RS_PKT_TYPE_PEER_CONFIG, RS_PKT_SUBTYPE_PEER_GROUP) +RsNodeGroupItem::RsNodeGroupItem() : RsItem(RS_PKT_VERSION1, RS_PKT_CLASS_CONFIG, RS_PKT_TYPE_PEER_CONFIG, RS_PKT_SUBTYPE_NODE_GROUP) { } -RsPeerGroupItem::~RsPeerGroupItem() +void RsNodeGroupItem::clear() +{ + id.clear(); + name.clear(); + flag = 0; + pgpList.ids.clear(); +} + +std::ostream &RsNodeGroupItem::print(std::ostream &out, uint16_t indent) +{ + printRsItemBase(out, "RsNodeGroupItem", indent); + uint16_t int_Indent = indent + 2; + + printIndent(out, int_Indent); + out << "groupId: " << id << std::endl; + + printIndent(out, int_Indent); + out << "groupName: " << name << std::endl; + + printIndent(out, int_Indent); + out << "groupFlag: " << flag << std::endl; + + std::set::iterator it; + for (it = pgpList.ids.begin(); it != pgpList.ids.end(); ++it) { + printIndent(out, int_Indent); + out << "peerId: " << it->toStdString() << std::endl; + } + + printRsItemEnd(out, "RsNodeGroupItem", indent); + return out; +} + +/* set data from RsGroupInfo to RsPeerGroupItem */ +void RsNodeGroupItem::set(RsGroupInfo &groupInfo) +{ + id = groupInfo.id; + name = groupInfo.name; + flag = groupInfo.flag; + pgpList.ids = groupInfo.peerIds; +} + +/* get data from RsGroupInfo to RsPeerGroupItem */ +void RsNodeGroupItem::get(RsGroupInfo &groupInfo) +{ + groupInfo.id = id; + groupInfo.name = name; + groupInfo.flag = flag; + groupInfo.peerIds = pgpList.ids; +} +/*************************************************************************/ +/* DEPRECATED CODE. SHOULD BE REMOVED WHEN EVERYONE USES THE NEW CLASS */ +/*************************************************************************/ + +RsPeerGroupItem_deprecated::RsPeerGroupItem_deprecated() : RsItem(RS_PKT_VERSION1, RS_PKT_CLASS_CONFIG, RS_PKT_TYPE_PEER_CONFIG, RS_PKT_SUBTYPE_PEER_GROUP_deprecated) { } -void RsPeerGroupItem::clear() +RsPeerGroupItem_deprecated::~RsPeerGroupItem_deprecated() +{ +} + +void RsPeerGroupItem_deprecated::clear() { id.clear(); name.clear(); @@ -1329,7 +1385,7 @@ void RsPeerGroupItem::clear() pgpList.ids.clear(); } -std::ostream &RsPeerGroupItem::print(std::ostream &out, uint16_t indent) +std::ostream &RsPeerGroupItem_deprecated::print(std::ostream &out, uint16_t indent) { printRsItemBase(out, "RsPeerGroupItem", indent); uint16_t int_Indent = indent + 2; @@ -1354,7 +1410,7 @@ std::ostream &RsPeerGroupItem::print(std::ostream &out, uint16_t indent) } /* set data from RsGroupInfo to RsPeerGroupItem */ -void RsPeerGroupItem::set(RsGroupInfo &groupInfo) +void RsPeerGroupItem_deprecated::set(RsGroupInfo &groupInfo) { id = groupInfo.id; name = groupInfo.name; @@ -1363,7 +1419,7 @@ void RsPeerGroupItem::set(RsGroupInfo &groupInfo) } /* get data from RsGroupInfo to RsPeerGroupItem */ -void RsPeerGroupItem::get(RsGroupInfo &groupInfo) +void RsPeerGroupItem_deprecated::get(RsGroupInfo &groupInfo) { groupInfo.id = id; groupInfo.name = name; @@ -1373,7 +1429,7 @@ void RsPeerGroupItem::get(RsGroupInfo &groupInfo) /*************************************************************************/ -uint32_t RsPeerConfigSerialiser::sizeGroup(RsPeerGroupItem *i) +uint32_t RsPeerConfigSerialiser::sizeGroup(RsPeerGroupItem_deprecated *i) { uint32_t s = 8; /* header */ s += 4; /* version */ @@ -1384,7 +1440,7 @@ uint32_t RsPeerConfigSerialiser::sizeGroup(RsPeerGroupItem *i) return s; } -bool RsPeerConfigSerialiser::serialiseGroup(RsPeerGroupItem *item, void *data, uint32_t *size) +bool RsPeerConfigSerialiser::serialiseGroup(RsPeerGroupItem_deprecated *item, void *data, uint32_t *size) { uint32_t tlvsize = RsPeerConfigSerialiser::sizeGroup(item); uint32_t offset = 0; @@ -1426,7 +1482,7 @@ bool RsPeerConfigSerialiser::serialiseGroup(RsPeerGroupItem *item, void *data, u return ok; } -RsPeerGroupItem *RsPeerConfigSerialiser::deserialiseGroup(void *data, uint32_t *size) +RsPeerGroupItem_deprecated *RsPeerConfigSerialiser::deserialiseGroup(void *data, uint32_t *size) { /* get the type and size */ uint32_t rstype = getRsItemId(data); @@ -1437,7 +1493,7 @@ RsPeerGroupItem *RsPeerConfigSerialiser::deserialiseGroup(void *data, uint32_t * if ((RS_PKT_VERSION1 != getRsItemVersion(rstype)) || (RS_PKT_CLASS_CONFIG != getRsItemClass(rstype)) || (RS_PKT_TYPE_PEER_CONFIG != getRsItemType(rstype)) || - (RS_PKT_SUBTYPE_PEER_GROUP != getRsItemSubType(rstype))) + (RS_PKT_SUBTYPE_PEER_GROUP_deprecated != getRsItemSubType(rstype))) { return NULL; /* wrong type */ } @@ -1450,7 +1506,7 @@ RsPeerGroupItem *RsPeerConfigSerialiser::deserialiseGroup(void *data, uint32_t * bool ok = true; - RsPeerGroupItem *item = new RsPeerGroupItem(); + RsPeerGroupItem_deprecated *item = new RsPeerGroupItem_deprecated(); item->clear(); /* skip the header */ diff --git a/libretroshare/src/serialiser/rsconfigitems.h b/libretroshare/src/serialiser/rsconfigitems.h index 6fc9f1f6d..acf33b0e7 100644 --- a/libretroshare/src/serialiser/rsconfigitems.h +++ b/libretroshare/src/serialiser/rsconfigitems.h @@ -50,11 +50,12 @@ const uint8_t RS_PKT_TYPE_HISTORY_CONFIG = 0x06; const uint8_t RS_PKT_SUBTYPE_KEY_VALUE = 0x01; /* PEER CONFIG SUBTYPES */ -const uint8_t RS_PKT_SUBTYPE_PEER_STUN = 0x02; -const uint8_t RS_PKT_SUBTYPE_PEER_NET = 0x03; -const uint8_t RS_PKT_SUBTYPE_PEER_GROUP = 0x04; -const uint8_t RS_PKT_SUBTYPE_PEER_PERMISSIONS = 0x05; -const uint8_t RS_PKT_SUBTYPE_PEER_BANDLIMITS = 0x06; +const uint8_t RS_PKT_SUBTYPE_PEER_STUN = 0x02; +const uint8_t RS_PKT_SUBTYPE_PEER_NET = 0x03; +const uint8_t RS_PKT_SUBTYPE_PEER_GROUP_deprecated = 0x04; +const uint8_t RS_PKT_SUBTYPE_PEER_PERMISSIONS = 0x05; +const uint8_t RS_PKT_SUBTYPE_PEER_BANDLIMITS = 0x06; +const uint8_t RS_PKT_SUBTYPE_NODE_GROUP = 0x07; /* FILE CONFIG SUBTYPES */ const uint8_t RS_PKT_SUBTYPE_FILE_TRANSFER = 0x01; @@ -134,11 +135,11 @@ class RsPeerBandwidthLimitsItem : public RsItem std::map peers ; }; -class RsPeerGroupItem : public RsItem +class RsPeerGroupItem_deprecated : public RsItem { public: - RsPeerGroupItem(); - virtual ~RsPeerGroupItem(); + RsPeerGroupItem_deprecated(); + virtual ~RsPeerGroupItem_deprecated(); virtual void clear(); std::ostream &print(std::ostream &out, uint16_t indent = 0); @@ -156,6 +157,29 @@ public: RsTlvPgpIdSet pgpList; }; +class RsNodeGroupItem: public RsItem +{ +public: + RsNodeGroupItem(); + virtual ~RsNodeGroupItem() {} + + virtual void clear(); + std::ostream &print(std::ostream &out, uint16_t indent = 0); + + explicit RsNodeGroupItem(const RsGroupInfo&) ; + + // /* set data from RsGroupInfo to RsPeerGroupItem */ + // void set(RsGroupInfo &groupInfo); + // /* get data from RsGroupInfo to RsPeerGroupItem */ + // void get(RsGroupInfo &groupInfo); + + /* Mandatory */ + RsNodeGroupId id; + std::string name; + uint32_t flag; + + RsTlvPgpIdSet pgpList; +}; class RsPeerStunItem: public RsItem { @@ -197,9 +221,9 @@ virtual uint32_t sizeStun(RsPeerStunItem *); virtual bool serialiseStun (RsPeerStunItem *item, void *data, uint32_t *size); virtual RsPeerStunItem * deserialiseStun(void *data, uint32_t *size); -virtual uint32_t sizeGroup(RsPeerGroupItem *); -virtual bool serialiseGroup (RsPeerGroupItem *item, void *data, uint32_t *size); -virtual RsPeerGroupItem * deserialiseGroup(void *data, uint32_t *size); +virtual uint32_t sizeGroup(RsPeerGroupItem_deprecated *); +virtual bool serialiseGroup (RsPeerGroupItem_deprecated *item, void *data, uint32_t *size); +virtual RsPeerGroupItem_deprecated * deserialiseGroup(void *data, uint32_t *size); virtual uint32_t sizePeerBandwidthLimits(RsPeerBandwidthLimitsItem *); virtual bool serialisePeerBandwidthLimits (RsPeerBandwidthLimitsItem *item, void *data, uint32_t *size); diff --git a/libretroshare/src/serialiser/rstlvbase.h b/libretroshare/src/serialiser/rstlvbase.h index 73e0112f4..54c6cd5ed 100644 --- a/libretroshare/src/serialiser/rstlvbase.h +++ b/libretroshare/src/serialiser/rstlvbase.h @@ -204,6 +204,7 @@ const uint16_t TLV_TYPE_PGPIDSET = 0x1023; const uint16_t TLV_TYPE_RECOGNSET = 0x1024; const uint16_t TLV_TYPE_GXSIDSET = 0x1025; const uint16_t TLV_TYPE_GXSCIRCLEIDSET= 0x1026; +const uint16_t TLV_TYPE_GXSGROUPIDSET = 0x1027; const uint16_t TLV_TYPE_SERVICESET = 0x1030; diff --git a/libretroshare/src/serialiser/rstlvidset.h b/libretroshare/src/serialiser/rstlvidset.h index e5b3d257b..06d2906af 100644 --- a/libretroshare/src/serialiser/rstlvidset.h +++ b/libretroshare/src/serialiser/rstlvidset.h @@ -115,11 +115,12 @@ template class t_RsTlvIdSet: public RsTlvItem std::set ids ; }; -typedef t_RsTlvIdSet RsTlvPeerIdSet ; -typedef t_RsTlvIdSet RsTlvPgpIdSet ; -typedef t_RsTlvIdSet RsTlvHashSet ; -typedef t_RsTlvIdSet RsTlvGxsIdSet ; -typedef t_RsTlvIdSet RsTlvGxsCircleIdSet ; +typedef t_RsTlvIdSet RsTlvPeerIdSet ; +typedef t_RsTlvIdSet RsTlvPgpIdSet ; +typedef t_RsTlvIdSet RsTlvHashSet ; +typedef t_RsTlvIdSet RsTlvGxsIdSet ; +typedef t_RsTlvIdSet RsTlvGxsCircleIdSet ; +typedef t_RsTlvIdSet RsTlvGxsGroupIdSet ; class RsTlvServiceIdSet: public RsTlvItem { From 01c0d2f0f1f0d7e0e703e524ba7ad6be9460867b Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 5 Jul 2016 23:49:43 -0400 Subject: [PATCH 032/158] finished conversion to RsNodeGroupId for file transfer and GUI --- libretroshare/src/dbase/fimonitor.cc | 4 +- libretroshare/src/dbase/fimonitor.h | 4 +- libretroshare/src/ft/ftdbase.cc | 67 ++++-- libretroshare/src/ft/ftextralist.cc | 4 +- libretroshare/src/pqi/p3peermgr.cc | 13 ++ libretroshare/src/pqi/p3peermgr.h | 2 + libretroshare/src/retroshare/rsfiles.h | 2 +- libretroshare/src/retroshare/rspeers.h | 3 +- libretroshare/src/retroshare/rstypes.h | 4 +- libretroshare/src/rsserver/p3peers.cc | 12 +- libretroshare/src/rsserver/p3peers.h | 5 +- libretroshare/src/serialiser/rsconfigitems.cc | 190 +++++++++++------- libretroshare/src/serialiser/rsconfigitems.h | 51 +++-- libretroshare/src/serialiser/rstlvbase.h | 2 +- libretroshare/src/serialiser/rstlvidset.h | 2 +- retroshare-gui/src/gui/MessengerWindow.cpp | 47 +---- retroshare-gui/src/gui/MessengerWindow.h | 3 + retroshare-gui/src/gui/RemoteDirModel.cpp | 4 +- retroshare-gui/src/gui/RemoteDirModel.h | 2 +- retroshare-gui/src/gui/ShareManager.cpp | 2 +- retroshare-gui/src/gui/common/FriendList.cpp | 96 ++++----- retroshare-gui/src/gui/common/FriendList.h | 13 +- .../src/gui/common/FriendSelectionWidget.cpp | 8 +- .../src/gui/common/GroupSelectionBox.cpp | 12 +- .../src/gui/common/GroupSelectionBox.h | 5 +- .../src/gui/connect/ConnectFriendWizard.cpp | 4 +- retroshare-gui/src/gui/groups/CreateGroup.cpp | 21 +- retroshare-gui/src/gui/groups/CreateGroup.h | 4 +- .../src/gui/msgs/MessageComposer.cpp | 8 +- 29 files changed, 338 insertions(+), 256 deletions(-) diff --git a/libretroshare/src/dbase/fimonitor.cc b/libretroshare/src/dbase/fimonitor.cc index c4f60ee81..765798484 100644 --- a/libretroshare/src/dbase/fimonitor.cc +++ b/libretroshare/src/dbase/fimonitor.cc @@ -431,7 +431,7 @@ int FileIndexMonitor::filterResults(std::list& firesults,std::list& parent_groups) const +bool FileIndexMonitor::findLocalFile(const RsFileHash& hash,FileSearchFlags hint_flags, const RsPeerId& peer_id,std::string &fullpath, uint64_t &size,FileStorageFlags& storage_flags,std::list& parent_groups) const { std::list results; bool ok = false; @@ -1668,7 +1668,7 @@ int FileIndexMonitor::RequestDirDetails(void *ref, DirDetails &details, FileSear return true ; } -void FileIndexMonitor::locked_findShareFlagsAndParentGroups(FileEntry *file,FileStorageFlags& flags,std::list& parent_groups) const +void FileIndexMonitor::locked_findShareFlagsAndParentGroups(FileEntry *file,FileStorageFlags& flags,std::list& parent_groups) const { flags.clear() ; static const FileStorageFlags PERMISSION_MASK = DIR_FLAGS_BROWSABLE_OTHERS | DIR_FLAGS_NETWORK_WIDE_OTHERS | DIR_FLAGS_BROWSABLE_GROUPS | DIR_FLAGS_NETWORK_WIDE_GROUPS ; diff --git a/libretroshare/src/dbase/fimonitor.h b/libretroshare/src/dbase/fimonitor.h index dc616625d..f57ebb5c8 100644 --- a/libretroshare/src/dbase/fimonitor.h +++ b/libretroshare/src/dbase/fimonitor.h @@ -110,7 +110,7 @@ class FileIndexMonitor: public CacheSource, public RsTickingThread virtual ~FileIndexMonitor(); /* external interface for filetransfer */ - bool findLocalFile(const RsFileHash& hash,FileSearchFlags flags,const RsPeerId& peer_id, std::string &fullpath, uint64_t &size,FileStorageFlags& storage_flags,std::list& parent_groups) const; + bool findLocalFile(const RsFileHash& hash,FileSearchFlags flags,const RsPeerId& peer_id, std::string &fullpath, uint64_t &size,FileStorageFlags& storage_flags,std::list& parent_groups) const; int SearchKeywords(std::list keywords, std::list &results,FileSearchFlags flags,const RsPeerId& peer_id) ; int SearchBoolExp(Expression *exp, std::list &results,FileSearchFlags flags,const RsPeerId& peer_id) const ; @@ -176,7 +176,7 @@ class FileIndexMonitor: public CacheSource, public RsTickingThread time_t locked_saveFileIndexes(bool update_cache) ; // Finds the share flags associated with this file entry. - void locked_findShareFlagsAndParentGroups(FileEntry *fe,FileStorageFlags& shareflags,std::list& parent_groups) const ; + void locked_findShareFlagsAndParentGroups(FileEntry *fe, FileStorageFlags& shareflags, std::list &parent_groups) const ; std::string locked_findRealRoot(std::string base) const; diff --git a/libretroshare/src/ft/ftdbase.cc b/libretroshare/src/ft/ftdbase.cc index fd0285552..ef68304d8 100644 --- a/libretroshare/src/ft/ftdbase.cc +++ b/libretroshare/src/ft/ftdbase.cc @@ -25,6 +25,7 @@ #include "ft/ftdbase.h" #include "util/rsdir.h" +#include "retroshare/rspeers.h" #include "serialiser/rsconfigitems.h" @@ -237,11 +238,13 @@ bool ftFiMonitor::saveList(bool &cleanup, std::list& sList) for(it = dirList.begin(); it != dirList.end(); ++it) { - RsFileConfigItem *fi = new RsFileConfigItem(); + RsFileConfigItem *fi = new RsFileConfigItem(); fi->file.path = (*it).filename ; fi->file.name = (*it).virtualname ; fi->flags = (*it).shareflags.toUInt32() ; - fi->parent_groups = (*it).parent_groups ; + + for(std::list::const_iterator it2( (*it).parent_groups.begin());it2!=(*it).parent_groups.end();++it2) + fi->parent_groups.ids.insert(*it2) ; sList.push_back(fi); } @@ -332,25 +335,53 @@ bool ftFiMonitor::loadList(std::list& load) continue ; } - RsFileConfigItem *fi = dynamic_cast(*it); - if (!fi) - { - delete (*it); - continue; - } + // 07/05/2016 - This ensures backward compatibility. Can be removed in a few weeks. + RsFileConfigItem_deprecated *fib = dynamic_cast(*it); + if (fib) + { + /* ensure that it exists? */ - /* ensure that it exists? */ + SharedDirInfo info ; + info.filename = RsDirUtil::convertPathToUnix(fib->file.path); + info.virtualname = fib->file.name; + info.shareflags = FileStorageFlags(fib->flags) ; + info.shareflags &= PERMISSION_MASK ; + info.shareflags &= ~DIR_FLAGS_NETWORK_WIDE_GROUPS ; // disabling this flag for know, for consistency reasons - SharedDirInfo info ; - info.filename = RsDirUtil::convertPathToUnix(fi->file.path); - info.virtualname = fi->file.name; - info.parent_groups = fi->parent_groups; - info.shareflags = FileStorageFlags(fi->flags) ; - info.shareflags &= PERMISSION_MASK ; - info.shareflags &= ~DIR_FLAGS_NETWORK_WIDE_GROUPS ; // disabling this flag for know, for consistency reasons + for(std::list::const_iterator itt(fib->parent_groups.begin());itt!=fib->parent_groups.end();++itt) + { + RsGroupInfo ginfo; + + if(rsPeers->getGroupInfoByName(*itt,ginfo) ) + { + info.parent_groups.push_back(ginfo.id) ; + std::cerr << "(II) converted old group ID \"" << *itt << "\" into corresponding new group id " << ginfo.id << std::endl; + } + else + std::cerr << "(EE) cannot convert old group ID \"" << *itt << "\" into corresponding new group id: no candidate found. " << std::endl; + } + + dirList.push_back(info) ; + } + + RsFileConfigItem *fi = dynamic_cast(*it); + if (fi) + { + /* ensure that it exists? */ + + SharedDirInfo info ; + info.filename = RsDirUtil::convertPathToUnix(fi->file.path); + info.virtualname = fi->file.name; + info.shareflags = FileStorageFlags(fi->flags) ; + info.shareflags &= PERMISSION_MASK ; + info.shareflags &= ~DIR_FLAGS_NETWORK_WIDE_GROUPS ; // disabling this flag for know, for consistency reasons + + for(std::set::const_iterator itt(fi->parent_groups.ids.begin());itt!=fi->parent_groups.ids.end();++itt) + info.parent_groups.push_back(*itt) ; + + dirList.push_back(info) ; + } - dirList.push_back(info) ; - delete *it ; } diff --git a/libretroshare/src/ft/ftextralist.cc b/libretroshare/src/ft/ftextralist.cc index d2fb76151..094e07c8d 100644 --- a/libretroshare/src/ft/ftextralist.cc +++ b/libretroshare/src/ft/ftextralist.cc @@ -395,7 +395,7 @@ bool ftExtraList::saveList(bool &cleanup, std::list& sList) std::map::const_iterator it; for(it = mFiles.begin(); it != mFiles.end(); ++it) { - RsFileConfigItem *fi = new RsFileConfigItem(); + RsFileConfigItem_deprecated *fi = new RsFileConfigItem_deprecated(); fi->file.path = (it->second).info.path; fi->file.name = (it->second).info.fname; fi->file.hash = (it->second).info.hash; @@ -428,7 +428,7 @@ bool ftExtraList::loadList(std::list& load) for(it = load.begin(); it != load.end(); ++it) { - RsFileConfigItem *fi = dynamic_cast(*it); + RsFileConfigItem_deprecated *fi = dynamic_cast(*it); if (!fi) { delete (*it); diff --git a/libretroshare/src/pqi/p3peermgr.cc b/libretroshare/src/pqi/p3peermgr.cc index f6271b003..c54019100 100644 --- a/libretroshare/src/pqi/p3peermgr.cc +++ b/libretroshare/src/pqi/p3peermgr.cc @@ -2575,6 +2575,19 @@ bool p3PeerMgrIMPL::removeGroup(const RsNodeGroupId& groupId) return changed; } +bool p3PeerMgrIMPL::getGroupInfoByName(const std::string& groupName, RsGroupInfo &groupInfo) +{ + RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/ + + for(std::map::iterator it = groupList.begin();it!=groupList.end();++it) + if(it->second.name == groupName) + { + groupInfo = it->second ; + return true ; + } + + return false ; +} bool p3PeerMgrIMPL::getGroupInfo(const RsNodeGroupId& groupId, RsGroupInfo &groupInfo) { RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/ diff --git a/libretroshare/src/pqi/p3peermgr.h b/libretroshare/src/pqi/p3peermgr.h index e73377677..ee581b275 100644 --- a/libretroshare/src/pqi/p3peermgr.h +++ b/libretroshare/src/pqi/p3peermgr.h @@ -142,6 +142,7 @@ virtual bool addGroup(RsGroupInfo &groupInfo) = 0; virtual bool editGroup(const RsNodeGroupId &groupId, RsGroupInfo &groupInfo) = 0; virtual bool removeGroup(const RsNodeGroupId &groupId) = 0; virtual bool getGroupInfo(const RsNodeGroupId &groupId, RsGroupInfo &groupInfo) = 0; +virtual bool getGroupInfoByName(const std::string& groupName, RsGroupInfo &groupInfo) = 0; virtual bool getGroupInfoList(std::list &groupInfoList) = 0; virtual bool assignPeersToGroup(const RsNodeGroupId &groupId, const std::list &peerIds, bool assign) = 0; @@ -256,6 +257,7 @@ public: virtual bool editGroup(const RsNodeGroupId &groupId, RsGroupInfo &groupInfo); virtual bool removeGroup(const RsNodeGroupId &groupId); virtual bool getGroupInfo(const RsNodeGroupId &groupId, RsGroupInfo &groupInfo); + virtual bool getGroupInfoByName(const std::string& groupName, RsGroupInfo &groupInfo) ; virtual bool getGroupInfoList(std::list &groupInfoList); virtual bool assignPeersToGroup(const RsNodeGroupId &groupId, const std::list &peerIds, bool assign); diff --git a/libretroshare/src/retroshare/rsfiles.h b/libretroshare/src/retroshare/rsfiles.h index c6480b540..e528fa916 100644 --- a/libretroshare/src/retroshare/rsfiles.h +++ b/libretroshare/src/retroshare/rsfiles.h @@ -99,7 +99,7 @@ struct SharedDirInfo std::string filename ; std::string virtualname ; FileStorageFlags shareflags ; // DIR_FLAGS_NETWORK_WIDE_OTHERS | DIR_FLAGS_BROWSABLE_GROUPS | ... - std::list parent_groups ; + std::list parent_groups ; }; class RsFiles diff --git a/libretroshare/src/retroshare/rspeers.h b/libretroshare/src/retroshare/rspeers.h index 6d9246c81..073700b71 100644 --- a/libretroshare/src/retroshare/rspeers.h +++ b/libretroshare/src/retroshare/rspeers.h @@ -409,6 +409,7 @@ public: virtual bool editGroup(const RsNodeGroupId& groupId, RsGroupInfo& groupInfo) = 0; virtual bool removeGroup(const RsNodeGroupId& groupId) = 0; virtual bool getGroupInfo(const RsNodeGroupId& groupId, RsGroupInfo& groupInfo) = 0; + virtual bool getGroupInfoByName(const std::string& groupId, RsGroupInfo& groupInfo) = 0; virtual bool getGroupInfoList(std::list& groupInfoList) = 0; // groupId == "" && assign == false -> remove from all groups virtual bool assignPeerToGroup(const RsNodeGroupId& groupId, const RsPgpId& peerId, bool assign) = 0; @@ -427,7 +428,7 @@ public: // virtual FileSearchFlags computePeerPermissionFlags( const RsPeerId& peer_id, FileStorageFlags file_sharing_flags, - const std::list& file_parent_groups) = 0; + const std::list& file_parent_groups) = 0; /* Service permission flags */ diff --git a/libretroshare/src/retroshare/rstypes.h b/libretroshare/src/retroshare/rstypes.h index 37975d605..0ef72e9dc 100644 --- a/libretroshare/src/retroshare/rstypes.h +++ b/libretroshare/src/retroshare/rstypes.h @@ -211,7 +211,7 @@ class FileInfo DwlSpeed priority ; time_t lastTS; - std::list parent_groups ; + std::list parent_groups ; }; std::ostream &operator<<(std::ostream &out, const FileInfo &info); @@ -243,7 +243,7 @@ class DirDetails uint32_t min_age ; // minimum age of files in this subtree std::list children; - std::list parent_groups; // parent groups for the shared directory + std::list parent_groups; // parent groups for the shared directory }; class FileDetail diff --git a/libretroshare/src/rsserver/p3peers.cc b/libretroshare/src/rsserver/p3peers.cc index e0dff3dd6..cbe2a2dde 100644 --- a/libretroshare/src/rsserver/p3peers.cc +++ b/libretroshare/src/rsserver/p3peers.cc @@ -1303,6 +1303,14 @@ bool p3Peers::removeGroup(const RsNodeGroupId &groupId) return res ; } +bool p3Peers::getGroupInfoByName(const std::string& groupName, RsGroupInfo &groupInfo) +{ +#ifdef P3PEERS_DEBUG + std::cerr << "p3Peers::getGroupInfo()" << std::endl; +#endif + + return mPeerMgr->getGroupInfoByName(groupName, groupInfo); +} bool p3Peers::getGroupInfo(const RsNodeGroupId &groupId, RsGroupInfo &groupInfo) { #ifdef P3PEERS_DEBUG @@ -1343,7 +1351,7 @@ bool p3Peers::assignPeersToGroup(const RsNodeGroupId &groupId, const std::list& directory_parent_groups) + const std::list& directory_parent_groups) { // We should be able to do that in O(1), using groups based on packs of bits. // @@ -1354,7 +1362,7 @@ FileSearchFlags p3Peers::computePeerPermissionFlags(const RsPeerId& peer_ssl_id, bool found = false ; RsPgpId pgp_id = getGPGId(peer_ssl_id) ; - for(std::list::const_iterator it(directory_parent_groups.begin());it!=directory_parent_groups.end() && !found;++it) + for(std::list::const_iterator it(directory_parent_groups.begin());it!=directory_parent_groups.end() && !found;++it) { RsGroupInfo info ; if(!getGroupInfo(*it,info)) diff --git a/libretroshare/src/rsserver/p3peers.h b/libretroshare/src/rsserver/p3peers.h index 7a67039f0..38fad1c7b 100644 --- a/libretroshare/src/rsserver/p3peers.h +++ b/libretroshare/src/rsserver/p3peers.h @@ -127,11 +127,12 @@ public: virtual bool editGroup(const RsNodeGroupId &groupId, RsGroupInfo &groupInfo); virtual bool removeGroup(const RsNodeGroupId &groupId); virtual bool getGroupInfo(const RsNodeGroupId &groupId, RsGroupInfo &groupInfo); - virtual bool getGroupInfoList(std::list &groupInfoList); + virtual bool getGroupInfoByName(const std::string& groupName, RsGroupInfo& groupInfo); + virtual bool getGroupInfoList(std::list &groupInfoList); virtual bool assignPeerToGroup(const RsNodeGroupId &groupId, const RsPgpId &peerId, bool assign); virtual bool assignPeersToGroup(const RsNodeGroupId &groupId, const std::list& peerIds, bool assign); - virtual FileSearchFlags computePeerPermissionFlags(const RsPeerId& peer_id,FileStorageFlags share_flags,const std::list& parent_groups); + virtual FileSearchFlags computePeerPermissionFlags(const RsPeerId& peer_id, FileStorageFlags share_flags, const std::list &parent_groups); // service permission stuff diff --git a/libretroshare/src/serialiser/rsconfigitems.cc b/libretroshare/src/serialiser/rsconfigitems.cc index 6e040f0dd..db0aa5dcf 100644 --- a/libretroshare/src/serialiser/rsconfigitems.cc +++ b/libretroshare/src/serialiser/rsconfigitems.cc @@ -43,34 +43,34 @@ uint32_t RsFileConfigSerialiser::size(RsItem *i) { RsFileTransfer *rft; - RsFileConfigItem *rfi; + RsFileConfigItem *rfj; if (NULL != (rft = dynamic_cast(i))) { return sizeTransfer(rft); } - if (NULL != (rfi = dynamic_cast(i))) - { - return sizeFileItem(rfi); - } - return 0; + if (NULL != (rfj = dynamic_cast(i))) + { + return sizeFileItem(rfj); + } + return 0; } /* serialise the data to the buffer */ bool RsFileConfigSerialiser::serialise(RsItem *i, void *data, uint32_t *pktsize) { RsFileTransfer *rft; - RsFileConfigItem *rfi; + RsFileConfigItem *rfj; if (NULL != (rft = dynamic_cast(i))) { return serialiseTransfer(rft, data, pktsize); } - if (NULL != (rfi = dynamic_cast(i))) - { - return serialiseFileItem(rfi, data, pktsize); - } - return false; + if (NULL != (rfj = dynamic_cast(i))) + { + return serialiseFileItem(rfj, data, pktsize); + } + return false; } RsItem *RsFileConfigSerialiser::deserialise(void *data, uint32_t *pktsize) @@ -90,10 +90,13 @@ RsItem *RsFileConfigSerialiser::deserialise(void *data, uint32_t *pktsize) case RS_PKT_SUBTYPE_FILE_TRANSFER: return deserialiseTransfer(data, pktsize); break; - case RS_PKT_SUBTYPE_FILE_ITEM: - return deserialiseFileItem(data, pktsize); + case RS_PKT_SUBTYPE_FILE_ITEM_deprecated: + return deserialiseFileItem_deprecated(data, pktsize); break; - default: + case RS_PKT_SUBTYPE_FILE_ITEM: + return deserialiseFileItem(data, pktsize); + break; + default: return NULL; break; } @@ -158,20 +161,20 @@ std::ostream &RsFileTransfer::print(std::ostream &out, uint16_t indent) /*************************************************************************/ /*************************************************************************/ -RsFileConfigItem::~RsFileConfigItem() +void RsFileConfigItem_deprecated::clear() { - return; -} - -void RsFileConfigItem::clear() -{ - file.TlvClear(); flags = 0; parent_groups.clear() ; } -std::ostream &RsFileConfigItem::print(std::ostream &out, uint16_t indent) +void RsFileConfigItem::clear() +{ + file.TlvClear(); + flags = 0; + parent_groups.TlvClear() ; +} +std::ostream &RsFileConfigItem_deprecated::print(std::ostream &out, uint16_t indent) { printRsItemBase(out, "RsFileConfigItem", indent); uint16_t int_Indent = indent + 2; @@ -188,6 +191,22 @@ std::ostream &RsFileConfigItem::print(std::ostream &out, uint16_t indent) return out; } +std::ostream &RsFileConfigItem::print(std::ostream &out, uint16_t indent) +{ + printRsItemBase(out, "RsFileConfigItem", indent); + uint16_t int_Indent = indent + 2; + file.print(out, int_Indent); + + printIndent(out, int_Indent); out << "flags: " << flags << std::endl; + printIndent(out, int_Indent); out << "groups:" ; + + for(std::set::const_iterator it(parent_groups.ids.begin());it!=parent_groups.ids.end();++it) + out << (*it) << " " ; + out << std::endl; + + printRsItemEnd(out, "RsFileConfigItem", indent); + return out; +} /*************************************************************************/ /*************************************************************************/ @@ -351,8 +370,7 @@ uint32_t RsFileConfigSerialiser::sizeFileItem(RsFileConfigItem *item) s += item->file.TlvSize(); s += 4; // flags - for(std::list::const_iterator it(item->parent_groups.begin());it!=item->parent_groups.end();++it) // parent groups - s += GetTlvStringSize(*it); + s += item->parent_groups.TlvSize() ; return s; } @@ -382,9 +400,7 @@ bool RsFileConfigSerialiser::serialiseFileItem(RsFileConfigItem *item, void /* add mandatory parts first */ ok &= item->file.SetTlv(data, tlvsize, &offset); ok &= setRawUInt32(data, tlvsize, &offset, item->flags); - - for(std::list::const_iterator it(item->parent_groups.begin());ok && it!=item->parent_groups.end();++it) // parent groups - ok &= SetTlvString(data, tlvsize, &offset, TLV_TYPE_STR_GROUPID, *it); + ok &= item->parent_groups.SetTlv(data, tlvsize, &offset); if (offset != tlvsize) { @@ -397,6 +413,66 @@ bool RsFileConfigSerialiser::serialiseFileItem(RsFileConfigItem *item, void return ok; } +RsFileConfigItem_deprecated *RsFileConfigSerialiser::deserialiseFileItem_deprecated(void *data, uint32_t *pktsize) +{ + /* get the type and size */ + uint32_t rstype = getRsItemId(data); + uint32_t rssize = getRsItemSize(data); + + uint32_t offset = 0; + + + if ((RS_PKT_VERSION1 != getRsItemVersion(rstype)) || + (RS_PKT_CLASS_CONFIG != getRsItemClass(rstype)) || + (RS_PKT_TYPE_FILE_CONFIG != getRsItemType(rstype)) || + (RS_PKT_SUBTYPE_FILE_ITEM_deprecated != getRsItemSubType(rstype))) + { + return NULL; /* wrong type */ + } + + if (*pktsize < rssize) /* check size */ + return NULL; /* not enough data */ + + /* set the packet length */ + *pktsize = rssize; + + bool ok = true; + + /* ready to load */ + RsFileConfigItem_deprecated *item = new RsFileConfigItem_deprecated(); + item->clear(); + + /* skip the header */ + offset += 8; + + /* get mandatory parts first */ + ok &= item->file.GetTlv(data, rssize, &offset); + ok &= getRawUInt32(data, rssize, &offset, &(item->flags)); + + while(offset < rssize) + { + std::string tmp ; + if(GetTlvString(data, rssize, &offset, TLV_TYPE_STR_GROUPID, tmp)) + item->parent_groups.push_back(tmp) ; + else + break ; + } + + if (offset != rssize) + { + /* error */ + delete item; + return NULL; + } + + if (!ok) + { + delete item; + return NULL; + } + + return item; +} RsFileConfigItem *RsFileConfigSerialiser::deserialiseFileItem(void *data, uint32_t *pktsize) { /* get the type and size */ @@ -409,7 +485,7 @@ RsFileConfigItem *RsFileConfigSerialiser::deserialiseFileItem(void *data, uint32 if ((RS_PKT_VERSION1 != getRsItemVersion(rstype)) || (RS_PKT_CLASS_CONFIG != getRsItemClass(rstype)) || (RS_PKT_TYPE_FILE_CONFIG != getRsItemType(rstype)) || - (RS_PKT_SUBTYPE_FILE_ITEM != getRsItemSubType(rstype))) + (RS_PKT_SUBTYPE_FILE_ITEM_deprecated != getRsItemSubType(rstype))) { return NULL; /* wrong type */ } @@ -423,7 +499,7 @@ RsFileConfigItem *RsFileConfigSerialiser::deserialiseFileItem(void *data, uint32 bool ok = true; /* ready to load */ - RsFileConfigItem *item = new RsFileConfigItem(); + RsFileConfigItem *item = new RsFileConfigItem(); item->clear(); /* skip the header */ @@ -432,15 +508,7 @@ RsFileConfigItem *RsFileConfigSerialiser::deserialiseFileItem(void *data, uint32 /* get mandatory parts first */ ok &= item->file.GetTlv(data, rssize, &offset); ok &= getRawUInt32(data, rssize, &offset, &(item->flags)); - - while(offset < rssize) - { - std::string tmp ; - if(GetTlvString(data, rssize, &offset, TLV_TYPE_STR_GROUPID, tmp)) - item->parent_groups.push_back(tmp) ; - else - break ; - } + ok &= item->parent_groups.GetTlv(data, rssize, &offset) ; if (offset != rssize) { @@ -1316,6 +1384,15 @@ RsNodeGroupItem::RsNodeGroupItem() : RsItem(RS_PKT_VERSION1, RS_PKT_CLASS_CONFIG { } +RsNodeGroupItem::RsNodeGroupItem(const RsGroupInfo& g) + :RsItem(RS_PKT_VERSION1, RS_PKT_CLASS_CONFIG, RS_PKT_TYPE_PEER_CONFIG, RS_PKT_SUBTYPE_NODE_GROUP) +{ + id = g.id ; + name = g.name ; + flag = g.flag ; + pgpList.ids = g.peerIds; +} + void RsNodeGroupItem::clear() { id.clear(); @@ -1348,23 +1425,6 @@ std::ostream &RsNodeGroupItem::print(std::ostream &out, uint16_t indent) return out; } -/* set data from RsGroupInfo to RsPeerGroupItem */ -void RsNodeGroupItem::set(RsGroupInfo &groupInfo) -{ - id = groupInfo.id; - name = groupInfo.name; - flag = groupInfo.flag; - pgpList.ids = groupInfo.peerIds; -} - -/* get data from RsGroupInfo to RsPeerGroupItem */ -void RsNodeGroupItem::get(RsGroupInfo &groupInfo) -{ - groupInfo.id = id; - groupInfo.name = name; - groupInfo.flag = flag; - groupInfo.peerIds = pgpList.ids; -} /*************************************************************************/ /* DEPRECATED CODE. SHOULD BE REMOVED WHEN EVERYONE USES THE NEW CLASS */ /*************************************************************************/ @@ -1409,24 +1469,6 @@ std::ostream &RsPeerGroupItem_deprecated::print(std::ostream &out, uint16_t inde return out; } -/* set data from RsGroupInfo to RsPeerGroupItem */ -void RsPeerGroupItem_deprecated::set(RsGroupInfo &groupInfo) -{ - id = groupInfo.id; - name = groupInfo.name; - flag = groupInfo.flag; - pgpList.ids = groupInfo.peerIds; -} - -/* get data from RsGroupInfo to RsPeerGroupItem */ -void RsPeerGroupItem_deprecated::get(RsGroupInfo &groupInfo) -{ - groupInfo.id = id; - groupInfo.name = name; - groupInfo.flag = flag; - groupInfo.peerIds = pgpList.ids; -} - /*************************************************************************/ uint32_t RsPeerConfigSerialiser::sizeGroup(RsPeerGroupItem_deprecated *i) diff --git a/libretroshare/src/serialiser/rsconfigitems.h b/libretroshare/src/serialiser/rsconfigitems.h index acf33b0e7..33ee08891 100644 --- a/libretroshare/src/serialiser/rsconfigitems.h +++ b/libretroshare/src/serialiser/rsconfigitems.h @@ -58,8 +58,9 @@ const uint8_t RS_PKT_SUBTYPE_PEER_BANDLIMITS = 0x06; const uint8_t RS_PKT_SUBTYPE_NODE_GROUP = 0x07; /* FILE CONFIG SUBTYPES */ -const uint8_t RS_PKT_SUBTYPE_FILE_TRANSFER = 0x01; -const uint8_t RS_PKT_SUBTYPE_FILE_ITEM = 0x02; +const uint8_t RS_PKT_SUBTYPE_FILE_TRANSFER = 0x01; +const uint8_t RS_PKT_SUBTYPE_FILE_ITEM_deprecated = 0x02; +const uint8_t RS_PKT_SUBTYPE_FILE_ITEM = 0x03; /**************************************************************************/ @@ -327,23 +328,39 @@ class RsFileTransfer: public RsItem const uint32_t RS_FILE_CONFIG_CLEANUP_DELETE = 0x0001; /* Used by ft / extralist / configdirs / anyone who wants a basic file */ -class RsFileConfigItem: public RsItem +class RsFileConfigItem_deprecated: public RsItem { - public: - RsFileConfigItem() - :RsItem(RS_PKT_VERSION1, RS_PKT_CLASS_CONFIG, - RS_PKT_TYPE_FILE_CONFIG, - RS_PKT_SUBTYPE_FILE_ITEM) - { return; } -virtual ~RsFileConfigItem(); -virtual void clear(); -std::ostream &print(std::ostream &out, uint16_t indent = 0); +public: + RsFileConfigItem_deprecated() + :RsItem(RS_PKT_VERSION1, RS_PKT_CLASS_CONFIG, + RS_PKT_TYPE_FILE_CONFIG, + RS_PKT_SUBTYPE_FILE_ITEM_deprecated) + {} + virtual ~RsFileConfigItem_deprecated() {} + virtual void clear(); + std::ostream &print(std::ostream &out, uint16_t indent = 0); - RsTlvFileItem file; - uint32_t flags; - std::list parent_groups ; + RsTlvFileItem file; + uint32_t flags; + std::list parent_groups ; }; +class RsFileConfigItem: public RsItem +{ +public: + RsFileConfigItem() + :RsItem(RS_PKT_VERSION1, RS_PKT_CLASS_CONFIG, + RS_PKT_TYPE_FILE_CONFIG, + RS_PKT_SUBTYPE_FILE_ITEM) + {} + virtual ~RsFileConfigItem() {} + virtual void clear(); + std::ostream &print(std::ostream &out, uint16_t indent = 0); + + RsTlvFileItem file; + uint32_t flags; + RsTlvNodeGroupIdSet parent_groups ; +}; /**************************************************************************/ class RsFileConfigSerialiser: public RsSerialType @@ -365,9 +382,11 @@ virtual uint32_t sizeTransfer(RsFileTransfer *); virtual bool serialiseTransfer(RsFileTransfer *item, void *data, uint32_t *size); virtual RsFileTransfer * deserialiseTransfer(void *data, uint32_t *size); +virtual RsFileConfigItem_deprecated * deserialiseFileItem_deprecated(void *data, uint32_t *size); + virtual uint32_t sizeFileItem(RsFileConfigItem *); virtual bool serialiseFileItem(RsFileConfigItem *item, void *data, uint32_t *size); -virtual RsFileConfigItem * deserialiseFileItem(void *data, uint32_t *size); +virtual RsFileConfigItem *deserialiseFileItem(void *data, uint32_t *size); }; diff --git a/libretroshare/src/serialiser/rstlvbase.h b/libretroshare/src/serialiser/rstlvbase.h index 54c6cd5ed..f33a7d8ee 100644 --- a/libretroshare/src/serialiser/rstlvbase.h +++ b/libretroshare/src/serialiser/rstlvbase.h @@ -204,7 +204,7 @@ const uint16_t TLV_TYPE_PGPIDSET = 0x1023; const uint16_t TLV_TYPE_RECOGNSET = 0x1024; const uint16_t TLV_TYPE_GXSIDSET = 0x1025; const uint16_t TLV_TYPE_GXSCIRCLEIDSET= 0x1026; -const uint16_t TLV_TYPE_GXSGROUPIDSET = 0x1027; +const uint16_t TLV_TYPE_NODEGROUPIDSET= 0x1027; const uint16_t TLV_TYPE_SERVICESET = 0x1030; diff --git a/libretroshare/src/serialiser/rstlvidset.h b/libretroshare/src/serialiser/rstlvidset.h index 06d2906af..e70b055cf 100644 --- a/libretroshare/src/serialiser/rstlvidset.h +++ b/libretroshare/src/serialiser/rstlvidset.h @@ -120,7 +120,7 @@ typedef t_RsTlvIdSet RsTlvPgpIdSet ; typedef t_RsTlvIdSet RsTlvHashSet ; typedef t_RsTlvIdSet RsTlvGxsIdSet ; typedef t_RsTlvIdSet RsTlvGxsCircleIdSet ; -typedef t_RsTlvIdSet RsTlvGxsGroupIdSet ; +typedef t_RsTlvIdSet RsTlvNodeGroupIdSet ; class RsTlvServiceIdSet: public RsTlvItem { diff --git a/retroshare-gui/src/gui/MessengerWindow.cpp b/retroshare-gui/src/gui/MessengerWindow.cpp index 542f6f4e8..13ad9d844 100644 --- a/retroshare-gui/src/gui/MessengerWindow.cpp +++ b/retroshare-gui/src/gui/MessengerWindow.cpp @@ -56,8 +56,9 @@ *****/ MessengerWindow* MessengerWindow::_instance = NULL; -static std::set *expandedPeers = NULL; -static std::set *expandedGroups = NULL; + +std::set MessengerWindow::expandedPeers ; +std::set MessengerWindow::expandedGroups ; /*static*/ void MessengerWindow::showYourself () { @@ -79,16 +80,6 @@ void MessengerWindow::releaseInstance() if (_instance) { delete _instance; } - if (expandedPeers) { - /* delete saved expanded peers */ - delete(expandedPeers); - expandedPeers = NULL; - } - if (expandedGroups) { - /* delete saved expanded groups */ - delete(expandedGroups); - expandedGroups = NULL; - } } /** Constructor */ @@ -108,21 +99,15 @@ MessengerWindow::MessengerWindow(QWidget* parent, Qt::WindowFlags flags) connect(NotifyQt::getInstance(), SIGNAL(ownStatusMessageChanged()), this, SLOT(loadmystatusmessage())); connect(NotifyQt::getInstance(), SIGNAL(peerStatusChanged(QString,int)), this, SLOT(updateOwnStatus(QString,int))); - if (expandedPeers != NULL) { - for (std::set::iterator peerIt = expandedPeers->begin(); peerIt != expandedPeers->end(); ++peerIt) { + for (std::set::iterator peerIt = expandedPeers.begin(); peerIt != expandedPeers.end(); ++peerIt) { ui.friendList->addPeerToExpand(*peerIt); } - delete expandedPeers; - expandedPeers = NULL; - } + expandedPeers.clear(); - if (expandedGroups != NULL) { - for (std::set::iterator groupIt = expandedGroups->begin(); groupIt != expandedGroups->end(); ++groupIt) { + for (std::set::iterator groupIt = expandedGroups.begin(); groupIt != expandedGroups.end(); ++groupIt) { ui.friendList->addGroupToExpand(*groupIt); } - delete expandedGroups; - expandedGroups = NULL; - } + expandedGroups.clear(); ui.messagelineEdit->setMinimumWidth(20); @@ -203,22 +188,12 @@ void MessengerWindow::addFriend() void MessengerWindow::closeEvent (QCloseEvent * /*event*/) { /* save the expanded peers */ - if (expandedPeers == NULL) { - expandedPeers = new std::set; - } else { - expandedPeers->clear(); - } - - ui.friendList->getExpandedPeers(*expandedPeers); + expandedPeers.clear(); + ui.friendList->getExpandedPeers(expandedPeers); /* save the expanded groups */ - if (expandedGroups == NULL) { - expandedGroups = new std::set; - } else { - expandedGroups->clear(); - } - - ui.friendList->getExpandedGroups(*expandedGroups); + expandedGroups.clear(); + ui.friendList->getExpandedGroups(expandedGroups); } /** Shows Share Manager */ diff --git a/retroshare-gui/src/gui/MessengerWindow.h b/retroshare-gui/src/gui/MessengerWindow.h index ff262be11..cd8f23742 100644 --- a/retroshare-gui/src/gui/MessengerWindow.h +++ b/retroshare-gui/src/gui/MessengerWindow.h @@ -66,6 +66,9 @@ private: /** Qt Designer generated object */ Ui::MessengerWindow ui; + + static std::set expandedPeers ; + static std::set expandedGroups ; }; #endif diff --git a/retroshare-gui/src/gui/RemoteDirModel.cpp b/retroshare-gui/src/gui/RemoteDirModel.cpp index a2220f2ff..d6c95b091 100644 --- a/retroshare-gui/src/gui/RemoteDirModel.cpp +++ b/retroshare-gui/src/gui/RemoteDirModel.cpp @@ -212,12 +212,12 @@ QString RetroshareDirModel::getFlagsString(FileStorageFlags flags) return QString(str) ; } -QString RetroshareDirModel::getGroupsString(const std::list& group_ids) +QString RetroshareDirModel::getGroupsString(const std::list& group_ids) { QString groups_str ; RsGroupInfo group_info ; - for(std::list::const_iterator it(group_ids.begin());it!=group_ids.end();) + for(std::list::const_iterator it(group_ids.begin());it!=group_ids.end();) if(rsPeers->getGroupInfo(*it,group_info)) { groups_str += GroupDefs::name(group_info) ; diff --git a/retroshare-gui/src/gui/RemoteDirModel.h b/retroshare-gui/src/gui/RemoteDirModel.h index a16dcfc3f..f308e7c70 100644 --- a/retroshare-gui/src/gui/RemoteDirModel.h +++ b/retroshare-gui/src/gui/RemoteDirModel.h @@ -91,7 +91,7 @@ class RetroshareDirModel : public QAbstractItemModel void treeStyle(); void downloadDirectory(const DirDetails & details, int prefixLen); static QString getFlagsString(FileStorageFlags f) ; - static QString getGroupsString(const std::list&) ; + static QString getGroupsString(const std::list &) ; QString getAgeIndicatorString(const DirDetails &) const; // void getAgeIndicatorRec(const DirDetails &details, QString &ret) const; diff --git a/retroshare-gui/src/gui/ShareManager.cpp b/retroshare-gui/src/gui/ShareManager.cpp index 5b335bbf1..3e9477fdd 100644 --- a/retroshare-gui/src/gui/ShareManager.cpp +++ b/retroshare-gui/src/gui/ShareManager.cpp @@ -249,7 +249,7 @@ void ShareManager::updateGroups() QString group_string; int n = 0; - for (std::list::const_iterator it2((*it).parent_groups.begin());it2!=(*it).parent_groups.end();++it2,++n) + for (std::list::const_iterator it2((*it).parent_groups.begin());it2!=(*it).parent_groups.end();++it2,++n) { if (n>0) group_string += ", " ; diff --git a/retroshare-gui/src/gui/common/FriendList.cpp b/retroshare-gui/src/gui/common/FriendList.cpp index d7caa0176..6f0b8d05b 100644 --- a/retroshare-gui/src/gui/common/FriendList.cpp +++ b/retroshare-gui/src/gui/common/FriendList.cpp @@ -116,9 +116,7 @@ FriendList::FriendList(QWidget *parent) : mShowGroups(true), mShowState(false), mHideUnconnected(false), - groupsHasChanged(false), - openGroups(NULL), - openPeers(NULL) + groupsHasChanged(false) { ui->setupUi(this); @@ -219,7 +217,7 @@ void FriendList::processSettings(bool load) int arrayIndex = Settings->beginReadArray("Groups"); for (int index = 0; index < arrayIndex; ++index) { Settings->setArrayIndex(index); - addGroupToExpand(Settings->value("open").toString().toStdString()); + addGroupToExpand(RsNodeGroupId(Settings->value("open").toString().toStdString())); } Settings->endArray(); } else { @@ -236,11 +234,11 @@ void FriendList::processSettings(bool load) // open groups Settings->beginWriteArray("Groups"); int arrayIndex = 0; - std::set expandedPeers; + std::set expandedPeers; getExpandedGroups(expandedPeers); - foreach (std::string groupId, expandedPeers) { + foreach (RsNodeGroupId groupId, expandedPeers) { Settings->setArrayIndex(arrayIndex++); - Settings->setValue("open", QString::fromStdString(groupId)); + Settings->setValue("open", QString::fromStdString(groupId.toStdString())); } Settings->endArray(); } @@ -369,7 +367,7 @@ void FriendList::peerTreeWidgetCustomPopupMenu() addToGroupMenu = new QMenu(tr("Add to group"), &contextMnu); } QAction* addToGroupAction = new QAction(GroupDefs::name(*groupIt), addToGroupMenu); - addToGroupAction->setData(QString::fromStdString(groupIt->id)); + addToGroupAction->setData(QString::fromStdString(groupIt->id.toStdString())); connect(addToGroupAction, SIGNAL(triggered()), this, SLOT(addToGroup())); addToGroupMenu->addAction(addToGroupAction); } @@ -378,7 +376,7 @@ void FriendList::peerTreeWidgetCustomPopupMenu() moveToGroupMenu = new QMenu(tr("Move to group"), &contextMnu); } QAction* moveToGroupAction = new QAction(GroupDefs::name(*groupIt), moveToGroupMenu); - moveToGroupAction->setData(QString::fromStdString(groupIt->id)); + moveToGroupAction->setData(QString::fromStdString(groupIt->id.toStdString())); connect(moveToGroupAction, SIGNAL(triggered()), this, SLOT(moveToGroup())); moveToGroupMenu->addAction(moveToGroupAction); } else { @@ -456,7 +454,7 @@ void FriendList::peerTreeWidgetCustomPopupMenu() void FriendList::createNewGroup() { - CreateGroup createGrpDialog ("", this); + CreateGroup createGrpDialog (RsNodeGroupId(), this); createGrpDialog.exec(); } @@ -596,7 +594,7 @@ void FriendList::insertPeers() if (mShowGroups && groupsHasChanged) { if (parent) { if (parent->type() == TYPE_GROUP) { - std::string groupId = getRsId(parent); + RsNodeGroupId groupId(getRsId(parent)); // the parent is a group, check if the gpg id is assigned to the group for (groupIt = groupInfoList.begin(); groupIt != groupInfoList.end(); ++groupIt) { @@ -630,7 +628,7 @@ void FriendList::insertPeers() } } else if (groupsHasChanged) { // remove deleted groups - std::string groupId = getRsId(item); + RsNodeGroupId groupId ( getRsId(item)); for (groupIt = groupInfoList.begin(); groupIt != groupInfoList.end(); ++groupIt) { if (groupIt->id == groupId) { break; @@ -671,7 +669,7 @@ void FriendList::insertPeers() int itemCount = peerTreeWidget->topLevelItemCount(); for (int index = 0; index < itemCount; ++index) { QTreeWidgetItem *groupItemLoop = peerTreeWidget->topLevelItem(index); - if (groupItemLoop->type() == TYPE_GROUP && getRsId(groupItemLoop) == groupInfo->id) { + if (groupItemLoop->type() == TYPE_GROUP && RsNodeGroupId(getRsId(groupItemLoop)) == groupInfo->id) { groupItem = groupItemLoop; break; } @@ -690,7 +688,7 @@ void FriendList::insertPeers() groupItem->setForeground(COLUMN_NAME, QBrush(textColorGroup())); /* used to find back the item */ - groupItem->setData(COLUMN_DATA, ROLE_ID, QString::fromStdString(groupInfo->id)); + groupItem->setData(COLUMN_DATA, ROLE_ID, QString::fromStdString(groupInfo->id.toStdString())); groupItem->setData(COLUMN_DATA, ROLE_STANDARD, (groupInfo->flag & RS_GROUP_FLAG_STANDARD) ? true : false); /* Sort data */ @@ -716,7 +714,7 @@ void FriendList::insertPeers() } } - if (openGroups != NULL && openGroups->find(groupInfo->id) != openGroups->end()) { + if (openGroups.find(groupInfo->id) != openGroups.end()) { groupItem->setExpanded(true); } @@ -1182,7 +1180,7 @@ void FriendList::insertPeers() gpgItem->setFont(i, gpgFont); } - if (openPeers != NULL && openPeers->find(gpgId.toStdString()) != openPeers->end()) { + if (openPeers.find(gpgId.toStdString()) != openPeers.end()) { gpgItem->setExpanded(true); } } @@ -1217,14 +1215,6 @@ void FriendList::insertPeers() } groupsHasChanged = false; - if (openGroups != NULL) { - delete(openGroups); - openGroups = NULL; - } - if (openPeers != NULL) { - delete(openPeers); - openPeers = NULL; - } ui->peerTreeWidget->resort(); } @@ -1232,13 +1222,13 @@ void FriendList::insertPeers() /** * Returns a list with all groupIds that are expanded */ -bool FriendList::getExpandedGroups(std::set &groups) const +bool FriendList::getExpandedGroups(std::set &groups) const { int itemCount = ui->peerTreeWidget->topLevelItemCount(); for (int index = 0; index < itemCount; ++index) { QTreeWidgetItem *item = ui->peerTreeWidget->topLevelItem(index); if (item->type() == TYPE_GROUP && item->isExpanded()) { - groups.insert(item->data(COLUMN_DATA, ROLE_ID).toString().toStdString()); + groups.insert(RsNodeGroupId(item->data(COLUMN_DATA, ROLE_ID).toString().toStdString())); } } return true; @@ -1626,7 +1616,7 @@ void FriendList::getSslIdsFromItem(QTreeWidgetItem *item, std::list &s case TYPE_GROUP: { RsGroupInfo groupInfo; - if (rsPeers->getGroupInfo(peerId, groupInfo)) { + if (rsPeers->getGroupInfo(RsNodeGroupId(peerId), groupInfo)) { std::set::iterator gpgIt; for (gpgIt = groupInfo.peerIds.begin(); gpgIt != groupInfo.peerIds.end(); ++gpgIt) { rsPeers->getAssociatedSSLIds(*gpgIt, sslIds); @@ -1649,10 +1639,10 @@ void FriendList::addToGroup() return; } - std::string groupId = qobject_cast(sender())->data().toString().toStdString(); + RsNodeGroupId groupId ( qobject_cast(sender())->data().toString().toStdString()); RsPgpId gpgId ( getRsId(c)); - if (gpgId.isNull() || groupId.empty()) { + if (gpgId.isNull() || groupId.isNull()) { return; } @@ -1675,15 +1665,15 @@ void FriendList::moveToGroup() return; } - std::string groupId = qobject_cast(sender())->data().toString().toStdString(); + RsNodeGroupId groupId ( qobject_cast(sender())->data().toString().toStdString()); RsPgpId gpgId ( getRsId(c)); - if (gpgId.isNull() || groupId.empty()) { + if (gpgId.isNull() || groupId.isNull()) { return; } // remove from all groups - rsPeers->assignPeerToGroup("", gpgId, false); + rsPeers->assignPeerToGroup(RsNodeGroupId(), gpgId, false); // automatically expand the group, the peer is added to addGroupToExpand(groupId); @@ -1704,7 +1694,7 @@ void FriendList::removeFromGroup() return; } - std::string groupId = qobject_cast(sender())->data().toString().toStdString(); + RsNodeGroupId groupId ( qobject_cast(sender())->data().toString().toStdString()); RsPgpId gpgId ( getRsId(c)); if (gpgId.isNull()) { @@ -1727,14 +1717,13 @@ void FriendList::editGroup() return; } - std::string groupId = getRsId(c); + RsNodeGroupId groupId ( getRsId(c)); - if (groupId.empty()) { - return; + if (!groupId.isNull()) + { + CreateGroup editGrpDialog(groupId, this); + editGrpDialog.exec(); } - - CreateGroup editGrpDialog(groupId, this); - editGrpDialog.exec(); } void FriendList::removeGroup() @@ -1749,13 +1738,10 @@ void FriendList::removeGroup() return; } - std::string groupId = getRsId(c); + RsNodeGroupId groupId ( getRsId(c)); - if (groupId.empty()) { - return; - } - - rsPeers->removeGroup(groupId); + if (!groupId.isNull()) + rsPeers->removeGroup(groupId); } void FriendList::exportFriendlistClicked() @@ -2089,7 +2075,7 @@ bool FriendList::importFriendlist(QString &fileName, bool &errorPeers, bool &err // get name and flags and try to get the group ID std::string groupName = group.attribute("name").toStdString(); uint32_t flag = group.attribute("flag").toInt(); - std::string groupId; + RsNodeGroupId groupId; if(getOrCreateGroup(groupName, flag, groupId)) { // group id found! QDomElement pgpID = group.firstChildElement("pgpID"); @@ -2123,7 +2109,7 @@ bool FriendList::importFriendlist(QString &fileName, bool &errorPeers, bool &err * @param id groupd id for the given name * @return success or fail */ -bool FriendList::getGroupIdByName(const std::string &name, std::string &id) +bool FriendList::getGroupIdByName(const std::string &name, RsNodeGroupId &id) { std::list grpList; if(!rsPeers->getGroupInfoList(grpList)) @@ -2146,14 +2132,14 @@ bool FriendList::getGroupIdByName(const std::string &name, std::string &id) * @param id groupd id * @return success or failure */ -bool FriendList::getOrCreateGroup(const std::string &name, const uint &flag, std::string &id) +bool FriendList::getOrCreateGroup(const std::string &name, const uint &flag, RsNodeGroupId &id) { if(getGroupIdByName(name, id)) return true; // -> create one RsGroupInfo grp; - grp.id = "0"; // RS will generate an ID + grp.id.clear(); // RS will generate an ID grp.name = name; grp.flag = flag; @@ -2271,12 +2257,9 @@ void FriendList::filterItems(const QString &text) * Add a groupId to the openGroups list. These groups * will be expanded, when they're added to the QTreeWidget */ -void FriendList::addGroupToExpand(const std::string &groupId) +void FriendList::addGroupToExpand(const RsNodeGroupId &groupId) { - if (openGroups == NULL) { - openGroups = new std::set; - } - openGroups->insert(groupId); + openGroups.insert(groupId); } /** @@ -2285,10 +2268,7 @@ void FriendList::addGroupToExpand(const std::string &groupId) */ void FriendList::addPeerToExpand(const std::string &gpgId) { - if (openPeers == NULL) { - openPeers = new std::set; - } - openPeers->insert(gpgId); + openPeers.insert(gpgId); } void FriendList::createDisplayMenu() diff --git a/retroshare-gui/src/gui/common/FriendList.h b/retroshare-gui/src/gui/common/FriendList.h index cd950a639..6b92530d8 100644 --- a/retroshare-gui/src/gui/common/FriendList.h +++ b/retroshare-gui/src/gui/common/FriendList.h @@ -63,8 +63,8 @@ public: // Add a tool button to the tool area void addToolButton(QToolButton *toolButton); void processSettings(bool load); - void addGroupToExpand(const std::string &groupId); - bool getExpandedGroups(std::set &groups) const; + void addGroupToExpand(const RsNodeGroupId &groupId); + bool getExpandedGroups(std::set &groups) const; void addPeerToExpand(const std::string &gpgId); bool getExpandedPeers(std::set &peers) const; @@ -119,8 +119,9 @@ private: QString mFilterText; bool groupsHasChanged; - std::set *openGroups; - std::set *openPeers; + std::set openGroups; +#warning this would needs an ID, not a std::string. + std::set openPeers; /* Color definitions (for standard see qss.default) */ QColor mTextColorGroup; @@ -129,8 +130,8 @@ private: QTreeWidgetItem *getCurrentPeer() const; void getSslIdsFromItem(QTreeWidgetItem *item, std::list &sslIds); - bool getOrCreateGroup(const std::string &name, const uint &flag, std::string &id); - bool getGroupIdByName(const std::string &name, std::string &id); + bool getOrCreateGroup(const std::string &name, const uint &flag, RsNodeGroupId &id); + bool getGroupIdByName(const std::string &name, RsNodeGroupId &id); bool importExportFriendlistFileDialog(QString &fileName, bool import); bool exportFriendlist(QString &fileName); diff --git a/retroshare-gui/src/gui/common/FriendSelectionWidget.cpp b/retroshare-gui/src/gui/common/FriendSelectionWidget.cpp index f6eb99e13..568fbe79a 100644 --- a/retroshare-gui/src/gui/common/FriendSelectionWidget.cpp +++ b/retroshare-gui/src/gui/common/FriendSelectionWidget.cpp @@ -271,9 +271,9 @@ void FriendSelectionWidget::secured_fillList() selectedIds(sslIdsSelected,true); } - std::set groupIdsSelected; + std::set groupIdsSelected; if (mShowTypes & SHOW_GROUP) { - selectedIds(groupIdsSelected,true); + selectedIds(groupIdsSelected,true); } std::set gpgIdsSelected; @@ -347,7 +347,7 @@ void FriendSelectionWidget::secured_fillList() groupItem->setTextAlignment(COLUMN_NAME, Qt::AlignLeft | Qt::AlignVCenter); groupItem->setIcon(COLUMN_NAME, QIcon(IMAGE_GROUP16)); - groupItem->setData(COLUMN_DATA, ROLE_ID, QString::fromStdString(groupInfo->id)); + groupItem->setData(COLUMN_DATA, ROLE_ID, QString::fromStdString(groupInfo->id.toStdString())); groupItem->setExpanded(true); @@ -363,7 +363,7 @@ void FriendSelectionWidget::secured_fillList() groupItem->setCheckState(0, Qt::Unchecked); } - emit itemAdded(IDTYPE_GROUP, QString::fromStdString(groupInfo->id), groupItem); + emit itemAdded(IDTYPE_GROUP, QString::fromStdString(groupInfo->id.toStdString()), groupItem); if (std::find(groupIdsSelected.begin(), groupIdsSelected.end(), groupInfo->id) != groupIdsSelected.end()) { setSelected(mListModus, groupItem, true); diff --git a/retroshare-gui/src/gui/common/GroupSelectionBox.cpp b/retroshare-gui/src/gui/common/GroupSelectionBox.cpp index 613459019..2e0cc9c32 100644 --- a/retroshare-gui/src/gui/common/GroupSelectionBox.cpp +++ b/retroshare-gui/src/gui/common/GroupSelectionBox.cpp @@ -20,7 +20,7 @@ GroupSelectionBox::GroupSelectionBox(QWidget *parent) void GroupSelectionBox::fillGroups() { - std::list selectedIds; + std::list selectedIds; selectedGroupIds(selectedIds); clear(); @@ -30,7 +30,7 @@ void GroupSelectionBox::fillGroups() for (std::list::const_iterator it(groupIds.begin()); it != groupIds.end(); ++it) { QListWidgetItem *item = new QListWidgetItem(GroupDefs::name(*it)); - item->setData(ROLE_ID, QString::fromStdString(it->id)); + item->setData(ROLE_ID, QString::fromStdString(it->id.toStdString())); item->setBackgroundColor(QColor(183,236,181)); addItem(item); } @@ -38,27 +38,27 @@ void GroupSelectionBox::fillGroups() setSelectedGroupIds(selectedIds); } -void GroupSelectionBox::selectedGroupIds(std::list &groupIds) const +void GroupSelectionBox::selectedGroupIds(std::list &groupIds) const { int itemCount = count(); for (int i = 0; i < itemCount; ++i) { QListWidgetItem *listItem = item(i); if (listItem->checkState() == Qt::Checked) { - groupIds.push_back(item(i)->data(ROLE_ID).toString().toStdString()); + groupIds.push_back(RsNodeGroupId(item(i)->data(ROLE_ID).toString().toStdString())); std::cerr << "Adding selected item " << groupIds.back() << std::endl; } } } -void GroupSelectionBox::setSelectedGroupIds(const std::list& groupIds) +void GroupSelectionBox::setSelectedGroupIds(const std::list& groupIds) { int itemCount = count(); for (int i = 0; i < itemCount; ++i) { QListWidgetItem *listItem = item(i); - if (std::find(groupIds.begin(), groupIds.end(), listItem->data(ROLE_ID).toString().toStdString()) != groupIds.end()) { + if (std::find(groupIds.begin(), groupIds.end(), RsNodeGroupId(listItem->data(ROLE_ID).toString().toStdString())) != groupIds.end()) { listItem->setCheckState(Qt::Checked); } else { listItem->setCheckState(Qt::Unchecked); diff --git a/retroshare-gui/src/gui/common/GroupSelectionBox.h b/retroshare-gui/src/gui/common/GroupSelectionBox.h index f8e8477fb..4afc9cc94 100644 --- a/retroshare-gui/src/gui/common/GroupSelectionBox.h +++ b/retroshare-gui/src/gui/common/GroupSelectionBox.h @@ -1,4 +1,5 @@ #include +#include class GroupSelectionBox: public QListWidget { @@ -7,10 +8,10 @@ class GroupSelectionBox: public QListWidget public: GroupSelectionBox(QWidget *parent); - void selectedGroupIds(std::list &groupIds) const; + void selectedGroupIds(std::list &groupIds) const; void selectedGroupNames(QList &groupNames) const; - void setSelectedGroupIds(const std::list &groupIds); + void setSelectedGroupIds(const std::list &groupIds); private slots: void fillGroups(); diff --git a/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp b/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp index 7990b92c4..afbcb4422 100755 --- a/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp +++ b/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp @@ -297,7 +297,7 @@ static void fillGroups(ConnectFriendWizard *wizard, QComboBox *comboBox, const Q GroupDefs::sortByName(groupInfoList); comboBox->addItem("", ""); // empty value for (std::list::iterator groupIt = groupInfoList.begin(); groupIt != groupInfoList.end(); ++groupIt) { - comboBox->addItem(GroupDefs::name(*groupIt), QString::fromStdString(groupIt->id)); + comboBox->addItem(GroupDefs::name(*groupIt), QString::fromStdString(groupIt->id.toStdString())); } if (groupId.isEmpty() == false) { @@ -853,7 +853,7 @@ void ConnectFriendWizard::accept() } if (!groupId.isEmpty()) - rsPeers->assignPeerToGroup(groupId.toStdString(), peerDetails.gpg_id, true); + rsPeers->assignPeerToGroup(RsNodeGroupId(groupId.toStdString()), peerDetails.gpg_id, true); } if ((accept_connection) && (!peerDetails.id.isNull())) diff --git a/retroshare-gui/src/gui/groups/CreateGroup.cpp b/retroshare-gui/src/gui/groups/CreateGroup.cpp index 7a919f93a..3fef40542 100644 --- a/retroshare-gui/src/gui/groups/CreateGroup.cpp +++ b/retroshare-gui/src/gui/groups/CreateGroup.cpp @@ -31,7 +31,7 @@ #include /** Default constructor */ -CreateGroup::CreateGroup(const std::string &groupId, QWidget *parent) +CreateGroup::CreateGroup(const RsNodeGroupId &groupId, QWidget *parent) : QDialog(parent, Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint) { /* Invoke Qt Designer generated QObject setup routine */ @@ -51,7 +51,7 @@ CreateGroup::CreateGroup(const std::string &groupId, QWidget *parent) ui.friendList->setShowType(FriendSelectionWidget::SHOW_GROUP | FriendSelectionWidget::SHOW_GPG); ui.friendList->start(); - if (mGroupId.empty() == false) { + if (!mGroupId.isNull()) { /* edit exisiting group */ RsGroupInfo groupInfo; if (rsPeers->getGroupInfo(mGroupId, groupInfo)) { @@ -83,7 +83,7 @@ CreateGroup::CreateGroup(const std::string &groupId, QWidget *parent) std::list::iterator groupIt; for (groupIt = groupInfoList.begin(); groupIt != groupInfoList.end(); ++groupIt) { - if (mGroupId.empty() || groupIt->id != mGroupId) { + if (mGroupId.isNull() || groupIt->id != mGroupId) { mUsedGroupNames.append(GroupDefs::name(*groupIt)); } } @@ -114,14 +114,19 @@ void CreateGroup::changeGroup() { RsGroupInfo groupInfo; - if (mGroupId.empty()) { + if (mGroupId.isNull()) + { // add new group groupInfo.name = misc::removeNewLine(ui.groupName->text()).toUtf8().constData(); - if (!rsPeers->addGroup(groupInfo)) { + + if (!rsPeers->addGroup(groupInfo)) return; - } - } else { - if (rsPeers->getGroupInfo(mGroupId, groupInfo) == true) { + + } + else + { + if (rsPeers->getGroupInfo(mGroupId, groupInfo)) + { if (!mIsStandard) { groupInfo.name = misc::removeNewLine(ui.groupName->text()).toUtf8().constData(); if (!rsPeers->editGroup(mGroupId, groupInfo)) { diff --git a/retroshare-gui/src/gui/groups/CreateGroup.h b/retroshare-gui/src/gui/groups/CreateGroup.h index b8177c611..59d75dc42 100644 --- a/retroshare-gui/src/gui/groups/CreateGroup.h +++ b/retroshare-gui/src/gui/groups/CreateGroup.h @@ -30,7 +30,7 @@ class CreateGroup : public QDialog public: /** Default constructor */ - CreateGroup(const std::string &groupId, QWidget *parent = 0); + CreateGroup(const RsNodeGroupId &groupId, QWidget *parent = 0); /** Default destructor */ ~CreateGroup(); @@ -39,7 +39,7 @@ private slots: void groupNameChanged(QString); private: - std::string mGroupId; + RsNodeGroupId mGroupId; QStringList mUsedGroupNames; bool mIsStandard; diff --git a/retroshare-gui/src/gui/msgs/MessageComposer.cpp b/retroshare-gui/src/gui/msgs/MessageComposer.cpp index 0a3bf70af..a190e9c3e 100644 --- a/retroshare-gui/src/gui/msgs/MessageComposer.cpp +++ b/retroshare-gui/src/gui/msgs/MessageComposer.cpp @@ -887,7 +887,7 @@ void MessageComposer::calculateTitle() setWindowTitle(tr("Compose") + ": " + misc::removeNewLine(ui.titleEdit->text())); } -static void calculateGroupsOfSslIds(const std::list &existingGroupInfos, std::list &checkSslIds, std::list &checkGroupIds) +static void calculateGroupsOfSslIds(const std::list &existingGroupInfos, std::list &checkSslIds, std::list &checkGroupIds) { checkGroupIds.clear(); @@ -1342,7 +1342,7 @@ bool MessageComposer::sendMessage_internal(bool bDraftbox) { case PEER_TYPE_GROUP: { RsGroupInfo groupInfo; - if (rsPeers->getGroupInfo(id, groupInfo) == false) { + if (rsPeers->getGroupInfo(RsNodeGroupId(id), groupInfo) == false) { // group not found continue; } @@ -1587,7 +1587,7 @@ void MessageComposer::setRecipientToRow(int row, enumType type, destinationType icon = QIcon(IMAGE_GROUP16); RsGroupInfo groupInfo; - if (rsPeers->getGroupInfo(id, groupInfo)) { + if (rsPeers->getGroupInfo(RsNodeGroupId(id), groupInfo)) { name = GroupDefs::name(groupInfo); } else { name = tr("Unknown"); @@ -1771,7 +1771,7 @@ void MessageComposer::editingRecipientFinished() QString groupName = GroupDefs::name(*groupIt); if (text.compare(groupName, Qt::CaseSensitive) == 0) { // found it - setRecipientToRow(row, type, PEER_TYPE_GROUP, groupIt->id); + setRecipientToRow(row, type, PEER_TYPE_GROUP, groupIt->id.toStdString()); return; } } From 269f9457bebd4881831f908dc5cc2a5183722f0d Mon Sep 17 00:00:00 2001 From: csoler Date: Wed, 6 Jul 2016 22:02:56 -0400 Subject: [PATCH 033/158] fixed load/save of new group ids and backward compatibility with FriendList --- libretroshare/src/pqi/p3peermgr.cc | 19 ++++- libretroshare/src/serialiser/rsconfigitems.cc | 77 +++++++++++++++---- libretroshare/src/serialiser/rsconfigitems.h | 7 +- retroshare-gui/src/gui/common/FriendList.cpp | 12 ++- retroshare-gui/src/gui/common/GroupDefs.cpp | 2 +- retroshare-gui/src/gui/groups/CreateGroup.cpp | 9 ++- retroshare-gui/src/gui/groups/CreateGroup.ui | 38 +++++---- 7 files changed, 124 insertions(+), 40 deletions(-) diff --git a/libretroshare/src/pqi/p3peermgr.cc b/libretroshare/src/pqi/p3peermgr.cc index c54019100..c12692d28 100644 --- a/libretroshare/src/pqi/p3peermgr.cc +++ b/libretroshare/src/pqi/p3peermgr.cc @@ -2065,7 +2065,10 @@ bool p3PeerMgrIMPL::saveList(bool &cleanup, std::list& saveData) /* save groups */ for ( std::map::iterator groupIt = groupList.begin(); groupIt != groupList.end(); ++groupIt) - saveData.push_back(new RsNodeGroupItem(groupIt->second)); // no delete + { + RsNodeGroupItem *itm = new RsNodeGroupItem(groupIt->second); + saveData.push_back(itm) ; + } return true; } @@ -2311,9 +2314,13 @@ bool p3PeerMgrIMPL::loadList(std::list& load) if(gitem->id == std::string(RS_GROUP_DEFAULT_NAME_FAVORITES)) ginfo.id = RS_GROUP_ID_FAVORITES ; if(gitem->id == std::string(RS_GROUP_DEFAULT_NAME_OTHERS )) ginfo.id = RS_GROUP_ID_OTHERS ; - groupList[ginfo.id] = ginfo ; - - std::cerr << "(II) Creating new group for old format local group \"" << gitem->name << "\". Id=" << ginfo.id << std::endl; + if(!ginfo.id.isNull()) + { + groupList[ginfo.id] = ginfo ; + std::cerr << "(II) Creating new group for old format local group \"" << gitem->name << "\". Id=" << ginfo.id << std::endl; + } + else + std::cerr << "(EE) no group corresponding to old format group with ID=\"" << gitem->id << "\"" << std::endl; continue; } @@ -2335,6 +2342,7 @@ bool p3PeerMgrIMPL::loadList(std::list& load) info.name = gitem2->name ; info.flag = gitem2->flag ; + std::cerr << "(II) Loaded group in new format. ID = " << info.id << std::endl; groupList[info.id] = info ; continue; @@ -2483,6 +2491,8 @@ bool p3PeerMgrIMPL::addGroup(RsGroupInfo &groupInfo) groupItem.flag &= ~RS_GROUP_FLAG_STANDARD; groupList[groupInfo.id] = groupItem; + + std::cerr << "(II) Added new group with ID " << groupInfo.id << ", name=\"" << groupInfo.name << "\"" << std::endl; } RsServer::notify()->notifyListChange(NOTIFY_LIST_GROUPLIST, NOTIFY_TYPE_ADD); @@ -2586,6 +2596,7 @@ bool p3PeerMgrIMPL::getGroupInfoByName(const std::string& groupName, RsGroupInfo return true ; } + std::cerr << "(EE) getGroupInfoByName: no known group for name " << groupName << std::endl; return false ; } bool p3PeerMgrIMPL::getGroupInfo(const RsNodeGroupId& groupId, RsGroupInfo &groupInfo) diff --git a/libretroshare/src/serialiser/rsconfigitems.cc b/libretroshare/src/serialiser/rsconfigitems.cc index db0aa5dcf..20430aae3 100644 --- a/libretroshare/src/serialiser/rsconfigitems.cc +++ b/libretroshare/src/serialiser/rsconfigitems.cc @@ -750,7 +750,7 @@ uint32_t RsPeerConfigSerialiser::size(RsItem *i) { RsPeerStunItem *psi; RsPeerNetItem *pni; - RsPeerGroupItem_deprecated *pgi; + RsNodeGroupItem *pgi; RsPeerServicePermissionItem *pri; RsPeerBandwidthLimitsItem *pblitem; @@ -762,7 +762,7 @@ uint32_t RsPeerConfigSerialiser::size(RsItem *i) { return sizeStun(psi); } - else if (NULL != (pgi = dynamic_cast(i))) + else if (NULL != (pgi = dynamic_cast(i))) { return sizeGroup(pgi); } @@ -783,7 +783,7 @@ bool RsPeerConfigSerialiser::serialise(RsItem *i, void *data, uint32_t *pktsi { RsPeerNetItem *pni; RsPeerStunItem *psi; - RsPeerGroupItem_deprecated *pgi; + RsNodeGroupItem *pgi; RsPeerServicePermissionItem *pri; RsPeerBandwidthLimitsItem *pblitem; @@ -795,7 +795,7 @@ bool RsPeerConfigSerialiser::serialise(RsItem *i, void *data, uint32_t *pktsi { return serialiseStun(psi, data, pktsize); } - else if (NULL != (pgi = dynamic_cast(i))) + else if (NULL != (pgi = dynamic_cast(i))) { return serialiseGroup(pgi, data, pktsize); } @@ -833,8 +833,10 @@ RsItem *RsPeerConfigSerialiser::deserialise(void *data, uint32_t *pktsize) case RS_PKT_SUBTYPE_PEER_STUN: return deserialiseStun(data, pktsize); case RS_PKT_SUBTYPE_PEER_GROUP_deprecated: - return deserialiseGroup(data, pktsize); - case RS_PKT_SUBTYPE_PEER_PERMISSIONS: + return deserialiseGroup_deprecated(data, pktsize); + case RS_PKT_SUBTYPE_NODE_GROUP: + return deserialiseGroup(data, pktsize); + case RS_PKT_SUBTYPE_PEER_PERMISSIONS: return deserialisePermissions(data, pktsize); case RS_PKT_SUBTYPE_PEER_BANDLIMITS: return deserialisePeerBandwidthLimits(data, pktsize); @@ -1469,20 +1471,67 @@ std::ostream &RsPeerGroupItem_deprecated::print(std::ostream &out, uint16_t inde return out; } +RsPeerGroupItem_deprecated *RsPeerConfigSerialiser::deserialiseGroup_deprecated(void *data, uint32_t *size) +{ + /* get the type and size */ + uint32_t rstype = getRsItemId(data); + uint32_t rssize = getRsItemSize(data); + + uint32_t offset = 0; + + if ((RS_PKT_VERSION1 != getRsItemVersion(rstype)) || + (RS_PKT_CLASS_CONFIG != getRsItemClass(rstype)) || + (RS_PKT_TYPE_PEER_CONFIG != getRsItemType(rstype)) || + (RS_PKT_SUBTYPE_PEER_GROUP_deprecated != getRsItemSubType(rstype))) + { + return NULL; /* wrong type */ + } + + if (*size < rssize) /* check size */ + return NULL; /* not enough data */ + + /* set the packet length */ + *size = rssize; + + bool ok = true; + + RsPeerGroupItem_deprecated *item = new RsPeerGroupItem_deprecated(); + item->clear(); + + /* skip the header */ + offset += 8; + + /* get mandatory parts first */ + uint32_t version; + ok &= getRawUInt32(data, rssize, &offset, &version); + ok &= GetTlvString(data, rssize, &offset, TLV_TYPE_STR_KEY, item->id); + ok &= GetTlvString(data, rssize, &offset, TLV_TYPE_STR_NAME, item->name); + ok &= getRawUInt32(data, rssize, &offset, &(item->flag)); + ok &= item->pgpList.GetTlv(data, rssize, &offset); + + if (offset != rssize) + { + /* error */ + delete item; + return NULL; + } + + return item; +} /*************************************************************************/ -uint32_t RsPeerConfigSerialiser::sizeGroup(RsPeerGroupItem_deprecated *i) +uint32_t RsPeerConfigSerialiser::sizeGroup(RsNodeGroupItem *i) { uint32_t s = 8; /* header */ s += 4; /* version */ - s += GetTlvStringSize(i->id); + s += RsNodeGroupId::serial_size(); s += GetTlvStringSize(i->name); s += 4; /* flag */ s += i->pgpList.TlvSize(); return s; } -bool RsPeerConfigSerialiser::serialiseGroup(RsPeerGroupItem_deprecated *item, void *data, uint32_t *size) +bool RsPeerConfigSerialiser::serialiseGroup(RsNodeGroupItem *item, void *data, uint32_t *size) { uint32_t tlvsize = RsPeerConfigSerialiser::sizeGroup(item); uint32_t offset = 0; @@ -1508,7 +1557,7 @@ bool RsPeerConfigSerialiser::serialiseGroup(RsPeerGroupItem_deprecated *item, vo /* add mandatory parts first */ ok &= setRawUInt32(data, tlvsize, &offset, 0); - ok &= SetTlvString(data, tlvsize, &offset, TLV_TYPE_STR_KEY, item->id); + ok &= item->id.serialise(data, tlvsize, offset); ok &= SetTlvString(data, tlvsize, &offset, TLV_TYPE_STR_NAME, item->name); ok &= setRawUInt32(data, tlvsize, &offset, item->flag); ok &= item->pgpList.SetTlv(data, tlvsize, &offset); @@ -1524,7 +1573,7 @@ bool RsPeerConfigSerialiser::serialiseGroup(RsPeerGroupItem_deprecated *item, vo return ok; } -RsPeerGroupItem_deprecated *RsPeerConfigSerialiser::deserialiseGroup(void *data, uint32_t *size) +RsNodeGroupItem *RsPeerConfigSerialiser::deserialiseGroup(void *data, uint32_t *size) { /* get the type and size */ uint32_t rstype = getRsItemId(data); @@ -1535,7 +1584,7 @@ RsPeerGroupItem_deprecated *RsPeerConfigSerialiser::deserialiseGroup(void *data, if ((RS_PKT_VERSION1 != getRsItemVersion(rstype)) || (RS_PKT_CLASS_CONFIG != getRsItemClass(rstype)) || (RS_PKT_TYPE_PEER_CONFIG != getRsItemType(rstype)) || - (RS_PKT_SUBTYPE_PEER_GROUP_deprecated != getRsItemSubType(rstype))) + (RS_PKT_SUBTYPE_NODE_GROUP != getRsItemSubType(rstype))) { return NULL; /* wrong type */ } @@ -1548,7 +1597,7 @@ RsPeerGroupItem_deprecated *RsPeerConfigSerialiser::deserialiseGroup(void *data, bool ok = true; - RsPeerGroupItem_deprecated *item = new RsPeerGroupItem_deprecated(); + RsNodeGroupItem *item = new RsNodeGroupItem(); item->clear(); /* skip the header */ @@ -1557,7 +1606,7 @@ RsPeerGroupItem_deprecated *RsPeerConfigSerialiser::deserialiseGroup(void *data, /* get mandatory parts first */ uint32_t version; ok &= getRawUInt32(data, rssize, &offset, &version); - ok &= GetTlvString(data, rssize, &offset, TLV_TYPE_STR_KEY, item->id); + ok &= item->id.deserialise(data, rssize, offset); ok &= GetTlvString(data, rssize, &offset, TLV_TYPE_STR_NAME, item->name); ok &= getRawUInt32(data, rssize, &offset, &(item->flag)); ok &= item->pgpList.GetTlv(data, rssize, &offset); diff --git a/libretroshare/src/serialiser/rsconfigitems.h b/libretroshare/src/serialiser/rsconfigitems.h index 33ee08891..3d3d50a97 100644 --- a/libretroshare/src/serialiser/rsconfigitems.h +++ b/libretroshare/src/serialiser/rsconfigitems.h @@ -222,9 +222,10 @@ virtual uint32_t sizeStun(RsPeerStunItem *); virtual bool serialiseStun (RsPeerStunItem *item, void *data, uint32_t *size); virtual RsPeerStunItem * deserialiseStun(void *data, uint32_t *size); -virtual uint32_t sizeGroup(RsPeerGroupItem_deprecated *); -virtual bool serialiseGroup (RsPeerGroupItem_deprecated *item, void *data, uint32_t *size); -virtual RsPeerGroupItem_deprecated * deserialiseGroup(void *data, uint32_t *size); +virtual uint32_t sizeGroup(RsNodeGroupItem *); +virtual bool serialiseGroup (RsNodeGroupItem *item, void *data, uint32_t *size); +virtual RsNodeGroupItem *deserialiseGroup(void *data, uint32_t *size); +virtual RsPeerGroupItem_deprecated * deserialiseGroup_deprecated(void *data, uint32_t *size); virtual uint32_t sizePeerBandwidthLimits(RsPeerBandwidthLimitsItem *); virtual bool serialisePeerBandwidthLimits (RsPeerBandwidthLimitsItem *item, void *data, uint32_t *size); diff --git a/retroshare-gui/src/gui/common/FriendList.cpp b/retroshare-gui/src/gui/common/FriendList.cpp index 6f0b8d05b..47b5c67ed 100644 --- a/retroshare-gui/src/gui/common/FriendList.cpp +++ b/retroshare-gui/src/gui/common/FriendList.cpp @@ -217,7 +217,17 @@ void FriendList::processSettings(bool load) int arrayIndex = Settings->beginReadArray("Groups"); for (int index = 0; index < arrayIndex; ++index) { Settings->setArrayIndex(index); - addGroupToExpand(RsNodeGroupId(Settings->value("open").toString().toStdString())); + + std::string gids = Settings->value("open").toString().toStdString(); + + RsGroupInfo ginfo ; + + if(rsPeers->getGroupInfoByName(gids,ginfo)) // backward compatibility + addGroupToExpand(ginfo.id) ; + else if(rsPeers->getGroupInfo(RsNodeGroupId(gids),ginfo)) // backward compatibility + addGroupToExpand(ginfo.id) ; + else + std::cerr << "(EE) Cannot find group info for openned group \"" << gids << "\"" << std::endl; } Settings->endArray(); } else { diff --git a/retroshare-gui/src/gui/common/GroupDefs.cpp b/retroshare-gui/src/gui/common/GroupDefs.cpp index 2b493124e..8a5e85ecd 100644 --- a/retroshare-gui/src/gui/common/GroupDefs.cpp +++ b/retroshare-gui/src/gui/common/GroupDefs.cpp @@ -51,7 +51,7 @@ const QString GroupDefs::name(const RsGroupInfo &groupInfo) return qApp->translate("GroupDefs", "Favorites"); } - std::cerr << "GroupDefs::name: Unknown group id requested " << groupInfo.id; + std::cerr << "GroupDefs::name: Unknown group id requested " << groupInfo.id << std::endl; return ""; } diff --git a/retroshare-gui/src/gui/groups/CreateGroup.cpp b/retroshare-gui/src/gui/groups/CreateGroup.cpp index 3fef40542..913b86a38 100644 --- a/retroshare-gui/src/gui/groups/CreateGroup.cpp +++ b/retroshare-gui/src/gui/groups/CreateGroup.cpp @@ -45,6 +45,11 @@ CreateGroup::CreateGroup(const RsNodeGroupId &groupId, QWidget *parent) mGroupId = groupId; + if(!mGroupId.isNull()) + ui.groupId_LE->setText(QString::fromStdString(mGroupId.toStdString())) ; + else + ui.groupId_LE->setText(tr("To be defined")) ; + /* Initialize friends list */ ui.friendList->setHeaderText(tr("Friends")); ui.friendList->setModus(FriendSelectionWidget::MODUS_CHECK); @@ -104,9 +109,9 @@ CreateGroup::~CreateGroup() void CreateGroup::groupNameChanged(QString text) { if (text.isEmpty() || mUsedGroupNames.contains(misc::removeNewLine(text))) { - ui.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); + ui.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false); } else { - ui.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); + ui.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); } } diff --git a/retroshare-gui/src/gui/groups/CreateGroup.ui b/retroshare-gui/src/gui/groups/CreateGroup.ui index 3eb4bc2fd..7abcd5a4e 100644 --- a/retroshare-gui/src/gui/groups/CreateGroup.ui +++ b/retroshare-gui/src/gui/groups/CreateGroup.ui @@ -6,8 +6,8 @@ 0 0 - 386 - 298 + 575 + 485 @@ -23,9 +23,6 @@ 0 - - - @@ -36,27 +33,35 @@ - - - 6 - - - 0 - - + + - Group Name + Group Name: - + Enter a name for your group + + + + Group ID: + + + + + + + true + + + @@ -79,6 +84,9 @@ + + + From a69629cf73a5880575f47b13f8165dc7f69187e8 Mon Sep 17 00:00:00 2001 From: csoler Date: Wed, 6 Jul 2016 22:16:05 -0400 Subject: [PATCH 034/158] added missing own id from group list, and removed possible duplicates in random group ids --- libretroshare/src/pqi/p3peermgr.cc | 6 ++++-- retroshare-gui/src/gui/common/FriendSelectionWidget.cpp | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/libretroshare/src/pqi/p3peermgr.cc b/libretroshare/src/pqi/p3peermgr.cc index c12692d28..a2c21284c 100644 --- a/libretroshare/src/pqi/p3peermgr.cc +++ b/libretroshare/src/pqi/p3peermgr.cc @@ -2304,7 +2304,8 @@ bool p3PeerMgrIMPL::loadList(std::list& load) ginfo.flag = gitem->flag ; ginfo.name = gitem->name ; ginfo.peerIds = gitem->pgpList.ids ; - ginfo.id = RsNodeGroupId::random() ; + + do { ginfo.id = RsNodeGroupId::random(); } while(groupList.find(ginfo.id) != groupList.end()) ; // Ensure backward compatibility when loading the group in old format. The id must matchthe standard default id. @@ -2484,7 +2485,8 @@ bool p3PeerMgrIMPL::addGroup(RsGroupInfo &groupInfo) { RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/ - groupInfo.id = RsNodeGroupId::random() ;//groupItem->id; // at creation time, we generate a random id. + do { groupInfo.id = RsNodeGroupId::random(); } while(groupList.find(groupInfo.id) != groupList.end()) ; + RsGroupInfo groupItem(groupInfo) ; // remove standard flag diff --git a/retroshare-gui/src/gui/common/FriendSelectionWidget.cpp b/retroshare-gui/src/gui/common/FriendSelectionWidget.cpp index 568fbe79a..1f9d694fd 100644 --- a/retroshare-gui/src/gui/common/FriendSelectionWidget.cpp +++ b/retroshare-gui/src/gui/common/FriendSelectionWidget.cpp @@ -305,6 +305,9 @@ void FriendSelectionWidget::secured_fillList() else rsPeers->getGPGAcceptedList(gpgIds); + // add own pgp id to the list + gpgIds.push_back(rsPeers->getGPGOwnId()) ; + std::list sslIds; std::list::iterator sslIt; From 0125f91b2d7dcb2343baa51caec628168c6b6e1e Mon Sep 17 00:00:00 2001 From: csoler Date: Wed, 6 Jul 2016 22:36:59 -0400 Subject: [PATCH 035/158] fixed deserialise bug in FileItem --- libretroshare/src/serialiser/rsconfigitems.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libretroshare/src/serialiser/rsconfigitems.cc b/libretroshare/src/serialiser/rsconfigitems.cc index 20430aae3..9b94d454d 100644 --- a/libretroshare/src/serialiser/rsconfigitems.cc +++ b/libretroshare/src/serialiser/rsconfigitems.cc @@ -485,7 +485,7 @@ RsFileConfigItem *RsFileConfigSerialiser::deserialiseFileItem(void *data, uint32 if ((RS_PKT_VERSION1 != getRsItemVersion(rstype)) || (RS_PKT_CLASS_CONFIG != getRsItemClass(rstype)) || (RS_PKT_TYPE_FILE_CONFIG != getRsItemType(rstype)) || - (RS_PKT_SUBTYPE_FILE_ITEM_deprecated != getRsItemSubType(rstype))) + (RS_PKT_SUBTYPE_FILE_ITEM != getRsItemSubType(rstype))) { return NULL; /* wrong type */ } From d089e2ef1a1390a11edc2639e99852cb5763b22e Mon Sep 17 00:00:00 2001 From: csoler Date: Sat, 9 Jul 2016 18:06:59 -0400 Subject: [PATCH 036/158] added a GroupChooser class to choose groups of friend nodes --- .gitignore | 3 + .../src/gui/common/GroupChooser.cpp | 111 ++++++++++++++++++ retroshare-gui/src/gui/common/GroupChooser.h | 44 +++++++ retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp | 85 +++++++------- retroshare-gui/src/gui/gxs/GxsGroupDialog.ui | 59 +++------- retroshare-gui/src/retroshare-gui.pro | 2 + 6 files changed, 218 insertions(+), 86 deletions(-) create mode 100644 retroshare-gui/src/gui/common/GroupChooser.cpp create mode 100644 retroshare-gui/src/gui/common/GroupChooser.h diff --git a/.gitignore b/.gitignore index eb9b055b3..85b1c28a6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ /RetroShare.pro.user *.o +*.sw? +*.so +*.so.* moc_*.cpp qrc_*.cpp ui_*.h diff --git a/retroshare-gui/src/gui/common/GroupChooser.cpp b/retroshare-gui/src/gui/common/GroupChooser.cpp new file mode 100644 index 000000000..c41ed1e8a --- /dev/null +++ b/retroshare-gui/src/gui/common/GroupChooser.cpp @@ -0,0 +1,111 @@ +/* + * Retroshare Gxs Support + * + * Copyright 2012-2013 by Robert Fernie. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License Version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + * + * Please report all bugs and problems to "retroshare@lunamutt.com". + * + */ + +#include "GroupChooser.h" + +#include +#include + +#include + +/** Constructor */ +GroupChooser::GroupChooser(QWidget *parent) +: QComboBox(parent), mFlags(0) +{ + return; +} + +void GroupChooser::loadGroups(uint32_t chooserFlags, const RsNodeGroupId& defaultId) +{ + mFlags = chooserFlags; + mDefaultGroupId = defaultId; + + loadGroups(); +} + + +static bool MakeNodeGroupDesc(const RsGroupInfo& info, QString &desc) +{ + desc.clear(); + desc = QString::fromUtf8(info.name.c_str()); + + desc += " (Node group) ["; + desc += QString::fromStdString(info.id.toStdString().substr(0,5)); + desc += "...]"; + + return true; +} + + +void GroupChooser::loadGroups() +{ + std::list ids; + + rsPeers->getGroupInfoList(ids); + + if (ids.empty()) + { + std::cerr << "GroupChooser::loadGroups() ERROR no ids"; + std::cerr << std::endl; + return; + } + + int i = 0; + int def = -1; + for( std::list::iterator it = ids.begin(); it != ids.end(); ++it, ++i) + { + /* add to Chooser */ + QString str; + if (!MakeNodeGroupDesc(*it, str)) + { + std::cerr << "GroupChooser::loadGroups() ERROR Desc for Id: " << it->id; + std::cerr << std::endl; + continue; + } + QString id = QString::fromStdString(it->id.toStdString()); + + addItem(str, id); + + if (mDefaultGroupId == it->id) + def = i; + } + + if (def >= 0) + { + setCurrentIndex(def); + } +} + +bool GroupChooser::getChosenGroup(RsNodeGroupId& id) +{ + if (count() < 1) + return false; + + int idx = currentIndex(); + + QVariant var = itemData(idx); + id = RsNodeGroupId(var.toString().toStdString()); + + return true; +} + diff --git a/retroshare-gui/src/gui/common/GroupChooser.h b/retroshare-gui/src/gui/common/GroupChooser.h new file mode 100644 index 000000000..91c06954a --- /dev/null +++ b/retroshare-gui/src/gui/common/GroupChooser.h @@ -0,0 +1,44 @@ +/* + * Retroshare Gxs Support + * + * Copyright 2012-2013 by Robert Fernie. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License Version 2.1 as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA. + * + * Please report all bugs and problems to "retroshare@lunamutt.com". + * + */ + + +#pragma once + +#include +#include + +class GroupChooser : public QComboBox +{ +public: + GroupChooser(QWidget *parent = NULL); + + void loadGroups(uint32_t chooserFlags, const RsNodeGroupId& defaultId); + bool getChosenGroup(RsNodeGroupId& id); + +private: + void loadGroups(); + uint32_t mFlags; + + RsNodeGroupId mDefaultGroupId; +}; + diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp index f519cb4bf..3a7ab9f6a 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp @@ -125,7 +125,7 @@ void GxsGroupDialog::init() ui.idChooser->loadIds(0,RsGxsId()); ui.circleComboBox->loadCircles(GXS_CIRCLE_CHOOSER_EXTERNAL, RsGxsCircleId()); - ui.localComboBox->loadCircles(GXS_CIRCLE_CHOOSER_PERSONAL, RsGxsCircleId()); + ui.localComboBox->loadGroups(0, RsNodeGroupId()); ui.groupDesc->setPlaceholderText(tr("Set a descriptive description here")); @@ -444,19 +444,21 @@ void GxsGroupDialog::updateFromExistingMeta(const QString &description) case GXS_CIRCLE_TYPE_YOUR_FRIENDS_ONLY: ui.typeLocal->setChecked(true); distribution_string = tr("Your friends only") ; - ui.localComboBox->loadCircles(GXS_CIRCLE_CHOOSER_PERSONAL, mGrpMeta.mInternalCircle); - ui.distributionCircleComboBox->setVisible(true) ; - ui.distributionCircleComboBox->loadCircles(GXS_CIRCLE_CHOOSER_PERSONAL, mGrpMeta.mInternalCircle); - break; + ui.localComboBox->loadGroups(0, RsNodeGroupId(mGrpMeta.mInternalCircle)); + ui.distributionCircleComboBox->setVisible(false) ; + ui.localComboBox->setVisible(true) ; + break; case GXS_CIRCLE_TYPE_PUBLIC: ui.typePublic->setChecked(true); distribution_string = tr("Public") ; ui.distributionCircleComboBox->setVisible(false) ; - break; + ui.localComboBox->setVisible(false) ; + break; case GXS_CIRCLE_TYPE_EXTERNAL: ui.typeGroup->setChecked(true); distribution_string = tr("Restricted to circle:") ; - ui.distributionCircleComboBox->setVisible(true) ; + ui.localComboBox->setVisible(false) ; + ui.distributionCircleComboBox->setVisible(true) ; ui.distributionCircleComboBox->loadCircles(GXS_CIRCLE_CHOOSER_EXTERNAL, mGrpMeta.mCircleId); ui.circleComboBox->loadCircles(GXS_CIRCLE_CHOOSER_EXTERNAL, mGrpMeta.mCircleId); break; @@ -720,41 +722,42 @@ void GxsGroupDialog::updateCircleOptions() bool GxsGroupDialog::setCircleParameters(RsGroupMetaData &meta) { - meta.mCircleType = GXS_CIRCLE_TYPE_PUBLIC; - meta.mCircleId.clear(); - meta.mOriginator.clear(); - meta.mInternalCircle.clear(); + meta.mCircleType = GXS_CIRCLE_TYPE_PUBLIC; + meta.mCircleId.clear(); + meta.mOriginator.clear(); + meta.mInternalCircle.clear(); - if (ui.typePublic->isChecked()) - { - meta.mCircleType = GXS_CIRCLE_TYPE_PUBLIC; - meta.mCircleId.clear(); - } - else if (ui.typeGroup->isChecked()) - { - meta.mCircleType = GXS_CIRCLE_TYPE_EXTERNAL; - if (!ui.circleComboBox->getChosenCircle(meta.mCircleId)) - { - return false; - } - } - else if (ui.typeLocal->isChecked()) - { - meta.mCircleType = GXS_CIRCLE_TYPE_YOUR_FRIENDS_ONLY; - meta.mCircleId.clear(); - meta.mOriginator.clear(); - meta.mInternalCircle.clear() ; - - if (!ui.localComboBox->getChosenCircle(meta.mInternalCircle)) - { - return false; - } - } - else - { - return false; - } - return true; + if (ui.typePublic->isChecked()) + { + meta.mCircleType = GXS_CIRCLE_TYPE_PUBLIC; + meta.mCircleId.clear(); + } + else if (ui.typeGroup->isChecked()) + { + meta.mCircleType = GXS_CIRCLE_TYPE_EXTERNAL; + if (!ui.circleComboBox->getChosenCircle(meta.mCircleId)) + { + return false; + } + } + else if (ui.typeLocal->isChecked()) + { + meta.mCircleType = GXS_CIRCLE_TYPE_YOUR_FRIENDS_ONLY; + meta.mCircleId.clear(); + meta.mOriginator.clear(); + meta.mInternalCircle.clear() ; + + RsNodeGroupId ngi ; + + if (!ui.localComboBox->getChosenGroup(ngi)) + return false; + + meta.mInternalCircle = RsGxsCircleId(ngi) ; + } + else + return false; + + return true; } void GxsGroupDialog::cancelDialog() diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui index eb5228c81..861f2d2ae 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui @@ -6,32 +6,23 @@ 0 0 - 828 - 612 + 860 + 775 Create New - - 0 - - - 0 - - - 0 - - - 0 - 6 0 + + 0 + @@ -57,16 +48,7 @@ 0 - - 4 - - - 4 - - - 4 - - + 4 @@ -130,16 +112,7 @@ 9 - - 3 - - - 3 - - - 3 - - + 3 @@ -261,16 +234,7 @@ - - 0 - - - 0 - - - 0 - - + 0 @@ -408,7 +372,7 @@ - + @@ -874,6 +838,11 @@ QTextEdit
gui/common/MimeTextEdit.h
+ + GroupChooser + QComboBox +
gui/common/GroupChooser.h
+
diff --git a/retroshare-gui/src/retroshare-gui.pro b/retroshare-gui/src/retroshare-gui.pro index 69278042a..b54ae7293 100644 --- a/retroshare-gui/src/retroshare-gui.pro +++ b/retroshare-gui/src/retroshare-gui.pro @@ -466,6 +466,7 @@ HEADERS += rshare.h \ gui/common/AvatarDefs.h \ gui/common/GroupFlagsWidget.h \ gui/common/GroupSelectionBox.h \ + gui/common/GroupChooser.h \ gui/common/StatusDefs.h \ gui/common/TagDefs.h \ gui/common/GroupDefs.h \ @@ -775,6 +776,7 @@ SOURCES += main.cpp \ gui/common/AvatarDialog.cpp \ gui/common/GroupFlagsWidget.cpp \ gui/common/GroupSelectionBox.cpp \ + gui/common/GroupChooser.cpp \ gui/common/StatusDefs.cpp \ gui/common/TagDefs.cpp \ gui/common/GroupDefs.cpp \ From 95915fa31de10703adc12cce5419f4a2f54939f8 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 10 Jul 2016 22:46:37 -0400 Subject: [PATCH 037/158] removed cross deadlock between p3GxsReputation and p3IdService --- libretroshare/src/services/p3gxsreputation.cc | 73 +++++++++++-------- 1 file changed, 41 insertions(+), 32 deletions(-) diff --git a/libretroshare/src/services/p3gxsreputation.cc b/libretroshare/src/services/p3gxsreputation.cc index 680700ce3..56c2d8cc2 100644 --- a/libretroshare/src/services/p3gxsreputation.cc +++ b/libretroshare/src/services/p3gxsreputation.cc @@ -333,48 +333,57 @@ void p3GxsReputation::updateIdentityFlags() void p3GxsReputation::cleanup() { - // remove opinions from friends that havn't been seen online for more than the specified delay + // remove opinions from friends that havn't been seen online for more than the specified delay #ifdef DEBUG_REPUTATION #endif - std::cerr << "p3GxsReputation::cleanup() " << std::endl; + std::cerr << "p3GxsReputation::cleanup() " << std::endl; - // remove optionions about identities that do not exist anymore. That will in particular avoid asking p3idservice about deleted - // identities, which would cause an excess of hits to the database. + // remove optionions about identities that do not exist anymore. That will in particular avoid asking p3idservice about deleted + // identities, which would cause an excess of hits to the database. + // We do it in two steps to avoid a deadlock when calling rsIdentity from here. - bool updated = false ; - time_t now = time(NULL) ; + bool updated = false ; + time_t now = time(NULL) ; - RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ + std::list ids_to_check_for_last_usage_ts; - for(std::map::iterator it(mReputations.begin());it!=mReputations.end();) - if(it->second.mOpinions.empty() && it->second.mOwnOpinion == RsReputations::OPINION_NEUTRAL) - { - std::map::iterator tmp(it) ; - ++tmp ; - mReputations.erase(it) ; - it = tmp ; + { + RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ + + for(std::map::iterator it(mReputations.begin());it!=mReputations.end();) + if(it->second.mOpinions.empty() && it->second.mOwnOpinion == RsReputations::OPINION_NEUTRAL) + { + std::map::iterator tmp(it) ; + ++tmp ; + mReputations.erase(it) ; + it = tmp ; #ifdef DEBUG_REPUTATION - std::cerr << " ID " << it->first << ": own is neutral and no opinions from friends => remove entry" << std::endl; + std::cerr << " ID " << it->first << ": own is neutral and no opinions from friends => remove entry" << std::endl; #endif - updated = true ; - } - else if(rsIdentity->getLastUsageTS(it->first) + REPUTATION_INFO_KEEP_DELAY < now) - { -#ifdef DEBUG_REPUTATION - std::cerr << " Identity " << it->first << " has a last usage TS of " << now - rsIdentity->getLastUsageTS(it->first) << " secs ago: deleting it." << std::endl; -#endif - std::map::iterator tmp(it) ; - ++tmp ; - mReputations.erase(it) ; - it = tmp ; - updated = true ; - } - else - ++it ; + updated = true ; + } + else + { + ids_to_check_for_last_usage_ts.push_back(it->first) ; + ++it; + } + } - if(updated) - IndicateConfigChanged() ; + for(std::list::const_iterator it(ids_to_check_for_last_usage_ts.begin());it!=ids_to_check_for_last_usage_ts.end();++it) + if(rsIdentity->getLastUsageTS(*it) + REPUTATION_INFO_KEEP_DELAY < now) + { +#ifdef DEBUG_REPUTATION + std::cerr << " Identity " << *it << " has a last usage TS of " << now - rsIdentity->getLastUsageTS(*it) << " secs ago: deleting it." << std::endl; +#endif + + RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ + mReputations.erase(*it) ; + updated = true ; + } + + if(updated) + IndicateConfigChanged() ; } void p3GxsReputation::updateActiveFriends() From 951f29f15551deec2dbeb53a657f8e49c27d6284 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 10 Jul 2016 23:00:47 -0400 Subject: [PATCH 038/158] removed debug info in rsDataService --- libretroshare/src/gxs/rsdataservice.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libretroshare/src/gxs/rsdataservice.cc b/libretroshare/src/gxs/rsdataservice.cc index 10f7d073e..b8eadb55d 100644 --- a/libretroshare/src/gxs/rsdataservice.cc +++ b/libretroshare/src/gxs/rsdataservice.cc @@ -1377,10 +1377,10 @@ int RsDataService::retrieveGxsGrpMetaData(std::mapmoveToFirst(); -//#ifdef RS_DATA_SERVICE_DEBUG_CACHE - if(!valid) - std::cerr << " Empty query! GrpId " << grpId << " is not in database" << std::endl; -//#endif +#ifdef RS_DATA_SERVICE_DEBUG_CACHE + if(!valid) + std::cerr << " Empty query! GrpId " << grpId << " is not in database" << std::endl; +#endif while(valid) { RsGxsGrpMetaData* g = locked_getGrpMeta(*c, 0); From 45b189c080268c55231f2021ad1cf44186ee605f Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 11 Jul 2016 18:30:12 -0400 Subject: [PATCH 039/158] removed EXTERNAL/PERSONNAL options from GxsCircleChooser --- .../src/gui/Circles/CreateCircleDialog.cpp | 4 ++-- retroshare-gui/src/gui/gxs/GxsCircleChooser.cpp | 14 +++----------- retroshare-gui/src/gui/gxs/GxsCircleChooser.h | 8 +------- retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp | 8 +++----- 4 files changed, 9 insertions(+), 25 deletions(-) diff --git a/retroshare-gui/src/gui/Circles/CreateCircleDialog.cpp b/retroshare-gui/src/gui/Circles/CreateCircleDialog.cpp index 337b34e50..f7dfb91f8 100644 --- a/retroshare-gui/src/gui/Circles/CreateCircleDialog.cpp +++ b/retroshare-gui/src/gui/Circles/CreateCircleDialog.cpp @@ -103,7 +103,7 @@ CreateCircleDialog::CreateCircleDialog() #endif //ui.idChooser->loadIds(0,RsGxsId()); - ui.circleComboBox->loadCircles(GXS_CIRCLE_CHOOSER_EXTERNAL, RsGxsCircleId()); + ui.circleComboBox->loadCircles(RsGxsCircleId()); } CreateCircleDialog::~CreateCircleDialog() @@ -604,7 +604,7 @@ void CreateCircleDialog::updateCircleGUI() else ui.radioButton_Restricted->setChecked(true); - ui.circleComboBox->loadCircles(GXS_CIRCLE_CHOOSER_EXTERNAL, mCircleGroup.mMeta.mCircleId); + ui.circleComboBox->loadCircles(mCircleGroup.mMeta.mCircleId); break; diff --git a/retroshare-gui/src/gui/gxs/GxsCircleChooser.cpp b/retroshare-gui/src/gui/gxs/GxsCircleChooser.cpp index 07cc27c6d..2b9927dc8 100644 --- a/retroshare-gui/src/gui/gxs/GxsCircleChooser.cpp +++ b/retroshare-gui/src/gui/gxs/GxsCircleChooser.cpp @@ -31,14 +31,13 @@ /** Constructor */ GxsCircleChooser::GxsCircleChooser(QWidget *parent) -: QComboBox(parent), mFlags(0) +: QComboBox(parent) { return; } -void GxsCircleChooser::loadCircles(uint32_t chooserFlags, const RsGxsCircleId &defaultId) +void GxsCircleChooser::loadCircles(const RsGxsCircleId &defaultId) { - mFlags = chooserFlags; mDefaultCircleId = defaultId; loadGxsCircles(); } @@ -68,14 +67,7 @@ bool MakeGxsCircleDesc(const RsGxsCircleId &id, QString &desc) void GxsCircleChooser::loadGxsCircles() { std::list ids; - if (mFlags & GXS_CIRCLE_CHOOSER_EXTERNAL) - { - rsGxsCircles->getCircleExternalIdList(ids); - } - if (mFlags & GXS_CIRCLE_CHOOSER_PERSONAL) - { - rsGxsCircles->getCirclePersonalIdList(ids); - } + rsGxsCircles->getCircleExternalIdList(ids); if (ids.empty()) { diff --git a/retroshare-gui/src/gui/gxs/GxsCircleChooser.h b/retroshare-gui/src/gui/gxs/GxsCircleChooser.h index 1a5f01fb3..474fbbc22 100644 --- a/retroshare-gui/src/gui/gxs/GxsCircleChooser.h +++ b/retroshare-gui/src/gui/gxs/GxsCircleChooser.h @@ -28,11 +28,6 @@ #include #include - -#define GXS_CIRCLE_CHOOSER_EXTERNAL 0x0001 -#define GXS_CIRCLE_CHOOSER_PERSONAL 0x0002 -#define GXS_CIRCLE_CHOOSER_ALLCIRCLES 0x0003 // OR of other two. - class GxsCircleChooser : public QComboBox { Q_OBJECT @@ -40,12 +35,11 @@ class GxsCircleChooser : public QComboBox public: GxsCircleChooser(QWidget *parent = NULL); - void loadCircles(uint32_t chooserFlags, const RsGxsCircleId &defaultId); + void loadCircles(const RsGxsCircleId &defaultId); bool getChosenCircle(RsGxsCircleId &id); private: void loadGxsCircles(); - uint32_t mFlags; RsGxsCircleId mDefaultCircleId; }; diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp index 3a7ab9f6a..735d923d3 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp @@ -124,7 +124,7 @@ void GxsGroupDialog::init() /* Setup Reasonable Defaults */ ui.idChooser->loadIds(0,RsGxsId()); - ui.circleComboBox->loadCircles(GXS_CIRCLE_CHOOSER_EXTERNAL, RsGxsCircleId()); + ui.circleComboBox->loadCircles(RsGxsCircleId()); ui.localComboBox->loadGroups(0, RsNodeGroupId()); ui.groupDesc->setPlaceholderText(tr("Set a descriptive description here")); @@ -315,8 +315,6 @@ void GxsGroupDialog::setupDefaults() ui.typeGroup_3->setEnabled(false); ui.typeLocal_3->setEnabled(false); #endif - ui.typeLocal->setEnabled(false); // for now, since local circles not fully tested. - ui.typeLocal->setToolTip(tr("This feature is not yet available, but it will be available very soon!")); // for now, since local circles not fully tested. } void GxsGroupDialog::setupVisibility() @@ -459,8 +457,8 @@ void GxsGroupDialog::updateFromExistingMeta(const QString &description) distribution_string = tr("Restricted to circle:") ; ui.localComboBox->setVisible(false) ; ui.distributionCircleComboBox->setVisible(true) ; - ui.distributionCircleComboBox->loadCircles(GXS_CIRCLE_CHOOSER_EXTERNAL, mGrpMeta.mCircleId); - ui.circleComboBox->loadCircles(GXS_CIRCLE_CHOOSER_EXTERNAL, mGrpMeta.mCircleId); + ui.distributionCircleComboBox->loadCircles(mGrpMeta.mCircleId); + ui.circleComboBox->loadCircles(mGrpMeta.mCircleId); break; default: std::cerr << "CreateCircleDialog::updateCircleGUI() INVALID mCircleType"; From a7d82cf197ed20057ead7498bb0c645426077261 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 11 Jul 2016 18:44:52 -0400 Subject: [PATCH 040/158] delete GXS IDs with no TS --- libretroshare/src/services/p3idservice.cc | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index f521f38be..29b5e0794 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -340,17 +340,15 @@ public: std::map::const_iterator it = mLastUsageTS.find(gxs_id) ; - if(it == mLastUsageTS.end()) - { - std::cerr << "No Ts for this ID => kept" << std::endl; - return true ; - } + bool no_ts = (it == mLastUsageTS.end()) ; - time_t last_usage_ts = it->second; + time_t last_usage_ts = no_ts?0:(it->second); time_t max_keep_time ; - if(is_id_banned) - max_keep_time = MAX_KEEP_KEYS_BANNED ; + if(no_ts) + max_keep_time = 0 ; + else if(is_id_banned) + max_keep_time = MAX_KEEP_KEYS_BANNED ; else if(is_known_id) max_keep_time = MAX_KEEP_KEYS_SIGNED_KNOWN ; else if(is_signed_id) From 931c3df282219342c5de67a08592f885b1fd5171 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 11 Jul 2016 21:33:09 -0400 Subject: [PATCH 041/158] fixed display of group node restriction in GxsGroupDialog and info --- .../src/gui/common/GroupChooser.cpp | 18 +- retroshare-gui/src/gui/common/GroupChooser.h | 3 +- retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp | 156 ++++++++++-------- retroshare-gui/src/gui/gxs/GxsGroupDialog.ui | 9 + .../gui/gxsforums/GxsForumThreadWidget.cpp | 17 +- 5 files changed, 120 insertions(+), 83 deletions(-) diff --git a/retroshare-gui/src/gui/common/GroupChooser.cpp b/retroshare-gui/src/gui/common/GroupChooser.cpp index c41ed1e8a..02b43fb56 100644 --- a/retroshare-gui/src/gui/common/GroupChooser.cpp +++ b/retroshare-gui/src/gui/common/GroupChooser.cpp @@ -44,14 +44,20 @@ void GroupChooser::loadGroups(uint32_t chooserFlags, const RsNodeGroupId& defaul } -static bool MakeNodeGroupDesc(const RsGroupInfo& info, QString &desc) +bool GroupChooser::makeNodeGroupDesc(const RsGroupInfo& info, QString &desc) { desc.clear(); - desc = QString::fromUtf8(info.name.c_str()); - desc += " (Node group) ["; - desc += QString::fromStdString(info.id.toStdString().substr(0,5)); - desc += "...]"; + if(info.name.empty()) + desc = tr("[Unknown]") ; + else + desc = "\"" + QString::fromUtf8(info.name.c_str()) + "\""; + + desc += " [" ; + desc += QString::fromStdString(info.id.toStdString().substr(0,3)); + desc += "..."; + desc += QString::fromStdString(info.id.toStdString().substr(info.id.toStdString().length()-2,2)); + desc += "]"; return true; } @@ -76,7 +82,7 @@ void GroupChooser::loadGroups() { /* add to Chooser */ QString str; - if (!MakeNodeGroupDesc(*it, str)) + if (!makeNodeGroupDesc(*it, str)) { std::cerr << "GroupChooser::loadGroups() ERROR Desc for Id: " << it->id; std::cerr << std::endl; diff --git a/retroshare-gui/src/gui/common/GroupChooser.h b/retroshare-gui/src/gui/common/GroupChooser.h index 91c06954a..fe7cb553b 100644 --- a/retroshare-gui/src/gui/common/GroupChooser.h +++ b/retroshare-gui/src/gui/common/GroupChooser.h @@ -25,7 +25,7 @@ #pragma once #include -#include +#include class GroupChooser : public QComboBox { @@ -35,6 +35,7 @@ public: void loadGroups(uint32_t chooserFlags, const RsNodeGroupId& defaultId); bool getChosenGroup(RsNodeGroupId& id); + static bool makeNodeGroupDesc(const RsGroupInfo& info, QString &desc); private: void loadGroups(); uint32_t mFlags; diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp index 735d923d3..dce00c020 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp @@ -392,87 +392,97 @@ void GxsGroupDialog::newGroup() void GxsGroupDialog::updateFromExistingMeta(const QString &description) { - std::cerr << "void GxsGroupDialog::updateFromExistingMeta()"; - std::cerr << std::endl; + std::cerr << "void GxsGroupDialog::updateFromExistingMeta()"; + std::cerr << std::endl; - std::cerr << "void GxsGroupDialog::updateFromExistingMeta() mGrpMeta.mCircleType: "; - std::cerr << mGrpMeta.mCircleType << " Internal: " << mGrpMeta.mInternalCircle; - std::cerr << " External: " << mGrpMeta.mCircleId; - std::cerr << std::endl; + std::cerr << "void GxsGroupDialog::updateFromExistingMeta() mGrpMeta.mCircleType: "; + std::cerr << mGrpMeta.mCircleType << " Internal: " << mGrpMeta.mInternalCircle; + std::cerr << " External: " << mGrpMeta.mCircleId; + std::cerr << std::endl; - setupDefaults(); - setupVisibility(); - setupReadonly(); - clearForm(); - setGroupSignFlags(mGrpMeta.mSignFlags) ; + setupDefaults(); + setupVisibility(); + setupReadonly(); + clearForm(); + setGroupSignFlags(mGrpMeta.mSignFlags) ; - /* setup name */ - ui.groupName->setText(QString::fromUtf8(mGrpMeta.mGroupName.c_str())); - - /* Show Mode */ - ui.nameline->setText(QString::fromUtf8(mGrpMeta.mGroupName.c_str())); - ui.popline->setText(QString::number( mGrpMeta.mPop)) ; - ui.postsline->setText(QString::number(mGrpMeta.mVisibleMsgCount)); - ui.lastpostline->setText(DateTime::formatLongDateTime(mGrpMeta.mLastPost)); + /* setup name */ + ui.groupName->setText(QString::fromUtf8(mGrpMeta.mGroupName.c_str())); + + /* Show Mode */ + ui.nameline->setText(QString::fromUtf8(mGrpMeta.mGroupName.c_str())); + ui.popline->setText(QString::number( mGrpMeta.mPop)) ; + ui.postsline->setText(QString::number(mGrpMeta.mVisibleMsgCount)); + ui.lastpostline->setText(DateTime::formatLongDateTime(mGrpMeta.mLastPost)); ui.authorLabel->setId(mGrpMeta.mAuthorId); - ui.IDline->setText(QString::fromStdString(mGrpMeta.mGroupId.toStdString())); - ui.descriptiontextEdit->setPlainText(description); - - switch (mode()) - { - case MODE_CREATE:{ - } - break; - case MODE_SHOW:{ - ui.headerFrame->setHeaderText(QString::fromUtf8(mGrpMeta.mGroupName.c_str())); - if (!mPicture.isNull()) - ui.headerFrame->setHeaderImage(mPicture); - } - break; - case MODE_EDIT:{ - } - break; - } - /* set description */ - ui.groupDesc->setPlainText(description); - QString distribution_string = "[Unknown]"; + ui.IDline->setText(QString::fromStdString(mGrpMeta.mGroupId.toStdString())); + ui.descriptiontextEdit->setPlainText(description); - switch(mGrpMeta.mCircleType) - { - case GXS_CIRCLE_TYPE_YOUR_FRIENDS_ONLY: - ui.typeLocal->setChecked(true); - distribution_string = tr("Your friends only") ; - ui.localComboBox->loadGroups(0, RsNodeGroupId(mGrpMeta.mInternalCircle)); - ui.distributionCircleComboBox->setVisible(false) ; - ui.localComboBox->setVisible(true) ; - break; - case GXS_CIRCLE_TYPE_PUBLIC: - ui.typePublic->setChecked(true); - distribution_string = tr("Public") ; - ui.distributionCircleComboBox->setVisible(false) ; - ui.localComboBox->setVisible(false) ; - break; - case GXS_CIRCLE_TYPE_EXTERNAL: - ui.typeGroup->setChecked(true); - distribution_string = tr("Restricted to circle:") ; - ui.localComboBox->setVisible(false) ; - ui.distributionCircleComboBox->setVisible(true) ; - ui.distributionCircleComboBox->loadCircles(mGrpMeta.mCircleId); - ui.circleComboBox->loadCircles(mGrpMeta.mCircleId); - break; - default: - std::cerr << "CreateCircleDialog::updateCircleGUI() INVALID mCircleType"; - std::cerr << std::endl; - break; - } + switch (mode()) + { + case MODE_CREATE:{ + } + break; + case MODE_SHOW:{ + ui.headerFrame->setHeaderText(QString::fromUtf8(mGrpMeta.mGroupName.c_str())); + if (!mPicture.isNull()) + ui.headerFrame->setHeaderImage(mPicture); + } + break; + case MODE_EDIT:{ + } + break; + } + /* set description */ + ui.groupDesc->setPlainText(description); + QString distribution_string = "[Unknown]"; + + switch(mGrpMeta.mCircleType) + { + case GXS_CIRCLE_TYPE_YOUR_FRIENDS_ONLY: + { + ui.typeLocal->setChecked(true); + distribution_string = tr("Only friends nodes in group ") ; + + RsGroupInfo ginfo ; + rsPeers->getGroupInfo(RsNodeGroupId(mGrpMeta.mInternalCircle),ginfo) ; + + QString desc; + GroupChooser::makeNodeGroupDesc(ginfo, desc); + distribution_string += desc ; + + ui.localComboBox->loadGroups(0, RsNodeGroupId(mGrpMeta.mInternalCircle)); + ui.distributionCircleComboBox->setVisible(false) ; + ui.localComboBox->setVisible(true) ; + } + break; + case GXS_CIRCLE_TYPE_PUBLIC: + ui.typePublic->setChecked(true); + distribution_string = tr("Public") ; + ui.distributionCircleComboBox->setVisible(false) ; + ui.localComboBox->setVisible(false) ; + break; + case GXS_CIRCLE_TYPE_EXTERNAL: + ui.typeGroup->setChecked(true); + distribution_string = tr("Restricted to circle:") ; + ui.localComboBox->setVisible(false) ; + ui.distributionCircleComboBox->setVisible(true) ; + ui.distributionCircleComboBox->loadCircles(mGrpMeta.mCircleId); + ui.circleComboBox->loadCircles(mGrpMeta.mCircleId); + break; + default: + std::cerr << "CreateCircleDialog::updateCircleGUI() INVALID mCircleType"; + std::cerr << std::endl; + break; + } ui.distributionValueLabel->setText(distribution_string) ; - ui.idChooser->loadIds(0, mGrpMeta.mAuthorId); - - if(!mGrpMeta.mAuthorId.isNull()) - ui.idChooser->setChosenId(mGrpMeta.mAuthorId) ; + ui.idChooser->loadIds(0, mGrpMeta.mAuthorId); - updateCircleOptions(); + if(!mGrpMeta.mAuthorId.isNull()) + ui.idChooser->setChosenId(mGrpMeta.mAuthorId) ; + + updateCircleOptions(); } void GxsGroupDialog::submitGroup() diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui index 861f2d2ae..7eb1f4ef6 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui @@ -301,6 +301,9 @@ 0 + + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + Public @@ -326,6 +329,9 @@ 0 + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + Restricted to Circle @@ -356,6 +362,9 @@ 0 + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + Only For Your Friends diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp index 82ed1e6dd..e76c3185a 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp +++ b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp @@ -817,9 +817,20 @@ void GxsForumThreadWidget::insertGroupData() distrib_string = tr("Restricted to members of circle ")+QString::fromStdString(group.mMeta.mCircleId.toStdString()) ; } break ; - case GXS_CIRCLE_TYPE_YOUR_FRIENDS_ONLY: distrib_string = tr("Your eyes only"); - break ; - case GXS_CIRCLE_TYPE_LOCAL: distrib_string = tr("You and your friend nodes"); + case GXS_CIRCLE_TYPE_YOUR_FRIENDS_ONLY: + { + distrib_string = tr("Only friends nodes in group ") ; + + RsGroupInfo ginfo ; + rsPeers->getGroupInfo(RsNodeGroupId(group.mMeta.mInternalCircle),ginfo) ; + + QString desc; + GroupChooser::makeNodeGroupDesc(ginfo, desc); + distrib_string += desc ; + } + break ; + + case GXS_CIRCLE_TYPE_LOCAL: distrib_string = tr("Your eyes only"); // this is not yet supported. If you see this, it is a bug! break ; default: std::cerr << "(EE) badly initialised group distribution ID = " << group.mMeta.mCircleType << std::endl; From ed523e8edf4a6fc07fad375dde998cb87b0de2e8 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 11 Jul 2016 22:44:15 -0400 Subject: [PATCH 042/158] fixed backend for locl circles --- libretroshare/src/gxs/rsgxsnetservice.cc | 426 +++++++-------------- libretroshare/src/gxs/rsgxsnetservice.h | 9 + libretroshare/src/services/p3gxscircles.cc | 1 + 3 files changed, 147 insertions(+), 289 deletions(-) diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index 8df2bea19..782a221e5 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -207,6 +207,7 @@ #include "retroshare/rsreputations.h" #include "retroshare/rsgxsflags.h" #include "retroshare/rsgxscircles.h" +#include "retroshare/rspeers.h" #include "pgp/pgpauxutils.h" #include "util/rsdir.h" #include "util/rsmemory.h" @@ -224,12 +225,12 @@ NXS_NET_DEBUG_7 encryption/decryption of transactions ***/ -//#define NXS_NET_DEBUG_0 1 +#define NXS_NET_DEBUG_0 1 //#define NXS_NET_DEBUG_1 1 //#define NXS_NET_DEBUG_2 1 //#define NXS_NET_DEBUG_3 1 -//#define NXS_NET_DEBUG_4 1 -//#define NXS_NET_DEBUG_5 1 +#define NXS_NET_DEBUG_4 1 +#define NXS_NET_DEBUG_5 1 //#define NXS_NET_DEBUG_6 1 //#define NXS_NET_DEBUG_7 1 @@ -266,7 +267,7 @@ static const uint32_t RS_NXS_ITEM_ENCRYPTION_STATUS_GXS_KEY_MISSING = 0x05 ; || defined(NXS_NET_DEBUG_4) || defined(NXS_NET_DEBUG_5) || defined(NXS_NET_DEBUG_6) || defined(NXS_NET_DEBUG_7) static const RsPeerId peer_to_print = RsPeerId(std::string("")) ; -static const RsGxsGroupId group_id_to_print = RsGxsGroupId(std::string("" )) ; // use this to allow to this group id only, or "" for all IDs +static const RsGxsGroupId group_id_to_print = RsGxsGroupId(std::string("87c769d3ffeafdc4433f557d50cdf2e8" )) ; // use this to allow to this group id only, or "" for all IDs static const uint32_t service_to_print = 0x215 ; // use this to allow to this service id only, or 0 for all services // warning. Numbers should be SERVICE IDS (see serialiser/rsserviceids.h. E.g. 0x0215 for forums) @@ -4094,7 +4095,7 @@ void RsGxsNetService::handleRecvSyncGroup(RsNxsSyncGrpReqItem *item) -bool RsGxsNetService::canSendGrpId(const RsPeerId& sslId, RsGxsGrpMetaData& grpMeta, std::vector& toVet, bool& should_encrypt) +bool RsGxsNetService::canSendGrpId(const RsPeerId& sslId, RsGxsGrpMetaData& grpMeta, std::vector& /* toVet */, bool& should_encrypt) { #ifdef NXS_NET_DEBUG_4 GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << "RsGxsNetService::canSendGrpId()"<< std::endl; @@ -4125,101 +4126,21 @@ bool RsGxsNetService::canSendGrpId(const RsPeerId& sslId, RsGxsGrpMetaData& grpM #endif should_encrypt = true ; return true ; - -#ifdef TO_BE_REMOVED_OLD_VETTING_FOR_EXTERNAL_CIRCLES - const RsGxsCircleId& circleId = grpMeta.mCircleId; - if(circleId.isNull()) - { - std::cerr << " EXTERNAL_CIRCLE missing NULL CircleId: " << grpMeta.mGroupId<< std::endl; - - // ERROR, will never be shared. - return false; - } - - if(mCircles->isLoaded(circleId)) - { -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId)<< " EXTERNAL_CIRCLE, checking mCircles->canSend"<< std::endl; -#endif - // the sending authorisation is based on: - // getPgpId(peer_id) being a signer of one GxsId in the Circle - // - const RsPgpId& pgpId = mPgpUtils->getPGPId(sslId); - - bool res = mCircles->canSend(circleId, pgpId); -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId)<< " answer is: " << res << std::endl; -#endif - return res ; - } -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId)<< " grp not ready. Adding to vetting list." << std::endl; -#endif - - toVet.push_back(GrpIdCircleVet(grpMeta.mGroupId, circleId, grpMeta.mAuthorId)); - return false; -#endif } if(circleType == GXS_CIRCLE_TYPE_YOUR_FRIENDS_ONLY) { +#ifdef NXS_NET_DEBUG_4 + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " YOUREYESONLY, checking further" << std::endl; +#endif + bool res = checkPermissionsForFriendGroup(sslId,grpMeta) ; +#ifdef NXS_NET_DEBUG_4 + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Final answer: " << res << std::endl; +#endif + return res ; #ifdef NXS_NET_DEBUG_4 GXSNETDEBUG_PG(sslId,grpMeta.mGroupId)<< " YOUREYESONLY, checking further"<< std::endl; #endif - // a non empty internal circle id means this - // is the personal circle owner - if(!grpMeta.mInternalCircle.isNull()) - { - const RsGxsCircleId& internalCircleId = grpMeta.mInternalCircle; -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " have mInternalCircle - we are Group creator" << std::endl; - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " mCircleId: " << grpMeta.mCircleId << std::endl; - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " mInternalCircle: " << grpMeta.mInternalCircle << std::endl; -#endif - - if(mCircles->isLoaded(internalCircleId)) - { -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " circle Loaded - checking mCircles->canSend" << std::endl; -#endif - const RsPgpId& pgpId = mPgpUtils->getPGPId(sslId); - bool should_encrypt = false ; - - bool res = mCircles->canSend(internalCircleId, pgpId,should_encrypt); -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " answer is: " << res << std::endl; -#endif - return res ; - } - -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Circle Not Loaded - add to vetting"<< std::endl; -#endif - toVet.push_back(GrpIdCircleVet(grpMeta.mGroupId, internalCircleId, grpMeta.mAuthorId)); - return false; - } - else - { - // an empty internal circle id means this peer can only - // send circle related info from peer he received it -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " mInternalCircle not set, someone else's personal circle"<< std::endl; -#endif - if(grpMeta.mOriginator == sslId) - { -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Originator matches -> can send"<< std::endl; -#endif - return true; - } - else - { -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Originator doesn't match -> cannot send"<< std::endl; -#endif - return false; - } - } } return true; @@ -4229,121 +4150,51 @@ bool RsGxsNetService::checkCanRecvMsgFromPeer(const RsPeerId& sslId, const RsGxs { #ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << "RsGxsNetService::checkCanRecvMsgFromPeer()"; - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " peer Id = " << sslId << ", grpId=" << grpMeta.mGroupId < returning true. Msgs will be encrypted." << std::endl; -#endif - should_encrypt_id = grpMeta.mCircleId ; - return true ; -#ifdef TO_BE_REMOVED_OLD_VETTING_FOR_EXTERNAL_CIRCLES - const RsGxsCircleId& circleId = grpMeta.mCircleId; - if(circleId.isNull()) - { -#ifdef NXS_NET_DEBUG_0 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " ERROR; EXTERNAL_CIRCLE missing NULL CircleId"; - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << grpMeta.mGroupId; - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << std::endl; + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Circle type: EXTERNAL => returning true. Msgs will be encrypted." << std::endl; #endif + should_encrypt_id = grpMeta.mCircleId ; + return true ; + } - // should just be shared. ? no - this happens for - // Circle Groups which lose their CircleIds. - // return true; - } + if(circleType == GXS_CIRCLE_TYPE_YOUR_FRIENDS_ONLY) // do not attempt to sync msg unless to originator or those permitted + { +#ifdef NXS_NET_DEBUG_4 + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " YOUREYESONLY, checking further" << std::endl; +#endif + bool res = checkPermissionsForFriendGroup(sslId,grpMeta) ; +#ifdef NXS_NET_DEBUG_4 + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Final answer: " << res << std::endl; +#endif + return res ; + } - if(mCircles->isLoaded(circleId)) - { -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " EXTERNAL_CIRCLE, checking mCircles->canSend" << std::endl; -#endif - const RsPgpId& pgpId = mPgpUtils->getPGPId(sslId); - return mCircles->canSend(circleId, pgpId); - } - else - mCircles->loadCircle(circleId); // simply request for next pass - - return false; -#endif - } - - if(circleType == GXS_CIRCLE_TYPE_YOUR_FRIENDS_ONLY) // do not attempt to sync msg unless to originator or those permitted - { -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " YOUREYESONLY, checking further" << std::endl; -#endif - // a non empty internal circle id means this - // is the personal circle owner - if(!grpMeta.mInternalCircle.isNull()) - { - const RsGxsCircleId& internalCircleId = grpMeta.mInternalCircle; -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " have mInternalCircle - we are Group creator" << std::endl; - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " mCircleId: " << grpMeta.mCircleId << std::endl; - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " mInternalCircle: " << grpMeta.mInternalCircle << std::endl; -#endif - - if(mCircles->isLoaded(internalCircleId)) - { -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " circle Loaded - checking mCircles->canSend" << std::endl; -#endif - const RsPgpId& pgpId = mPgpUtils->getPGPId(sslId); - bool should_encrypt ; - return mCircles->canSend(internalCircleId, pgpId,should_encrypt); - } - else - mCircles->loadCircle(internalCircleId); // request for next pass - - return false; - } - else - { - // an empty internal circle id means this peer can only - // send circle related info from peer he received it -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " mInternalCircle not set, someone else's personal circle" << std::endl; -#endif - if(grpMeta.mOriginator == sslId) - { -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Originator matches -> can send" << std::endl; -#endif - return true; - } - else - { -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Originator doesn't match -> cannot send"<< std::endl; -#endif - return false; - } - } - } - - return true; + return true; } bool RsGxsNetService::locked_CanReceiveUpdate(RsNxsSyncMsgReqItem *item,bool& grp_is_known) @@ -4620,17 +4471,17 @@ bool RsGxsNetService::canSendMsgIds(std::vector& msgMetas, co if(circleType == GXS_CIRCLE_TYPE_LOCAL) { #ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Circle type: LOCAL => returning false" << std::endl; + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Circle type: LOCAL => returning false" << std::endl; #endif - return false; + return false; } if(circleType == GXS_CIRCLE_TYPE_PUBLIC) { #ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Circle type: PUBLIC => returning true" << std::endl; + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Circle type: PUBLIC => returning true" << std::endl; #endif - return true; + return true; } const RsGxsCircleId& circleId = grpMeta.mCircleId; @@ -4638,119 +4489,116 @@ bool RsGxsNetService::canSendMsgIds(std::vector& msgMetas, co if(circleType == GXS_CIRCLE_TYPE_EXTERNAL) { #ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Circle type: EXTERNAL => returning true. Msgs ids list will be encrypted." << std::endl; + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Circle type: EXTERNAL => returning true. Msgs ids list will be encrypted." << std::endl; #endif - should_encrypt_id = circleId ; + should_encrypt_id = circleId ; - // For each message ID, check that the author is in the circle. If not, do not send the message, which means, remove it from the list. - // Unsigned messages are still transmitted. This is because in some groups (channels) the posts are not signed. Whether an unsigned post - // is allowed at this point is anyway already vetted by the RsGxsGenExchange service. + // For each message ID, check that the author is in the circle. If not, do not send the message, which means, remove it from the list. + // Unsigned messages are still transmitted. This is because in some groups (channels) the posts are not signed. Whether an unsigned post + // is allowed at this point is anyway already vetted by the RsGxsGenExchange service. - // Messages that stay in the list will be sent. As a consequence true is always returned. - // Messages put in vetting list will be dealt with later + // Messages that stay in the list will be sent. As a consequence true is always returned. + // Messages put in vetting list will be dealt with later - std::vector toVet; + std::vector toVet; - for(uint32_t i=0;imAuthorId.isNull() ) // keep the message in this case - ++i ; - else - { - if(mCircles->isLoaded(circleId) && mCircles->isRecipient(circleId, grpMeta.mGroupId, msgMetas[i]->mAuthorId)) - { - ++i ; - continue ; - } + for(uint32_t i=0;imAuthorId.isNull() ) // keep the message in this case + ++i ; + else + { + if(mCircles->isLoaded(circleId) && mCircles->isRecipient(circleId, grpMeta.mGroupId, msgMetas[i]->mAuthorId)) + { + ++i ; + continue ; + } - MsgIdCircleVet mic(msgMetas[i]->mMsgId, msgMetas[i]->mAuthorId); - toVet.push_back(mic); + MsgIdCircleVet mic(msgMetas[i]->mMsgId, msgMetas[i]->mAuthorId); + toVet.push_back(mic); #ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " deleting MsgMeta entry for msg ID " << msgMetas[i]->mMsgId << " signed by " << msgMetas[i]->mAuthorId << " who is not in group circle " << circleId << std::endl; + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " deleting MsgMeta entry for msg ID " << msgMetas[i]->mMsgId << " signed by " << msgMetas[i]->mAuthorId << " who is not in group circle " << circleId << std::endl; #endif - delete msgMetas[i] ; - msgMetas[i] = msgMetas[msgMetas.size()-1] ; - msgMetas.pop_back() ; - } + delete msgMetas[i] ; + msgMetas[i] = msgMetas[msgMetas.size()-1] ; + msgMetas.pop_back() ; + } #ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Circle info not loaded. Putting in vetting list and returning false." << std::endl; + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Circle info not loaded. Putting in vetting list and returning false." << std::endl; #endif - if(!toVet.empty()) - mPendingCircleVets.push_back(new MsgCircleIdsRequestVetting(mCircles, mPgpUtils, toVet, grpMeta.mGroupId, sslId, grpMeta.mCircleId)); + if(!toVet.empty()) + mPendingCircleVets.push_back(new MsgCircleIdsRequestVetting(mCircles, mPgpUtils, toVet, grpMeta.mGroupId, sslId, grpMeta.mCircleId)); - return true ; + return true ; } - if(circleType == GXS_CIRCLE_TYPE_YOUR_FRIENDS_ONLY) - { + if(circleType == GXS_CIRCLE_TYPE_YOUR_FRIENDS_ONLY) + { #ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Circle type: YOUR EYES ONLY" << std::endl; + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " YOUREYESONLY, checking further" << std::endl; #endif - // a non empty internal circle id means this - // is the personal circle owner - if(!grpMeta.mInternalCircle.isNull()) - { - const RsGxsCircleId& internalCircleId = grpMeta.mInternalCircle; + bool res = checkPermissionsForFriendGroup(sslId,grpMeta) ; #ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Group internal circle: " << internalCircleId << std::endl; -#endif - if(mCircles->isLoaded(internalCircleId)) - { - const RsPgpId& pgpId = mPgpUtils->getPGPId(sslId); - bool should_encrypt = false ; - - bool res= mCircles->canSend(internalCircleId, pgpId,should_encrypt); - - if(should_encrypt) - std::cerr << "(EE) inconsistent response: vetting requests to encrypt circle of type YOUR_EYES_ONLY" << std::endl; -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Answer from circle::canSend(): " << res << std::endl; -#endif - return res ; - } -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Not loaded. Putting in vetting list and returning false." << std::endl; + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Final answer: " << res << std::endl; #endif + return res ; + } - std::vector toVet; - std::vector::const_iterator vit = msgMetas.begin(); - - for(; vit != msgMetas.end(); ++vit) - { - const RsGxsMsgMetaData* const& meta = *vit; - - MsgIdCircleVet mic(meta->mMsgId, meta->mAuthorId); - toVet.push_back(mic); - } - - if(!toVet.empty()) - mPendingCircleVets.push_back(new MsgCircleIdsRequestVetting(mCircles, mPgpUtils, - toVet, grpMeta.mGroupId, - sslId, grpMeta.mCircleId)); - - return false; - } - else - { - // an empty internal circle id means this peer can only - // send circle related info from peer he received it - -#ifdef NXS_NET_DEBUG_4 - GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Empty internal circle: cannot only send info from Peer we received it (grpMeta.mOriginator=" << grpMeta.mOriginator << " answer is: " << (grpMeta.mOriginator == sslId) << std::endl; -#endif - if(grpMeta.mOriginator == sslId) - return true; - else - return false; - } - } - - return false; + return false; } /** inherited methods **/ +bool RsGxsNetService::checkPermissionsForFriendGroup(const RsPeerId& sslId,const RsGxsGrpMetaData& grpMeta) +{ +#ifdef NXS_NET_DEBUG_4 + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Circle type: YOUR EYES ONLY - ID = " << grpMeta.mInternalCircle << std::endl; +#endif + // a non empty internal circle id means this + // is the personal circle owner + if(!grpMeta.mInternalCircle.isNull()) + { + RsGroupInfo ginfo ; + RsPgpId pgpId = mPgpUtils->getPGPId(sslId) ; + +#ifdef NXS_NET_DEBUG_4 + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Group internal circle: " << grpMeta.mInternalCircle << ", We're owner. Sending to everyone in the group." << std::endl; + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Current destination is PGP Id: " << pgpId << std::endl; +#endif + if(!rsPeers->getGroupInfo(RsNodeGroupId(grpMeta.mInternalCircle),ginfo)) + { + std::cerr << "(EE) Cannot get information for internal circle (group node) ID " << grpMeta.mInternalCircle << " which conditions dissemination of GXS group " << grpMeta.mGroupId << std::endl; + return false ; + } + + bool res = (ginfo.peerIds.find(pgpId) != ginfo.peerIds.end()); + +#ifdef NXS_NET_DEBUG_4 + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Final Answer is: " << res << std::endl; +#endif + return res ; + } + else + { + // An empty internal circle id means this peer can only + // send circle related info from peer he received it from. + // Normally this should be a pgp-based decision, but if we do that, + // A ---> B ----> A' ---...--->B' , then A' will also send to B' since B is the + // originator for A'. So A will lose control of who can see the data. This should + // be discussed further... + +#ifdef NXS_NET_DEBUG_4 + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Empty internal circle: cannot only send/recv info to/from Peer we received it from (grpMeta.mOriginator=" << grpMeta.mOriginator << ")" << std::endl; + GXSNETDEBUG_PG(sslId,grpMeta.mGroupId) << " Final answer is: " << (grpMeta.mOriginator == sslId) << std::endl; +#endif + if(grpMeta.mOriginator == sslId) + return true; + else + return false; + } +} + void RsGxsNetService::pauseSynchronisation(bool /* enabled */) { diff --git a/libretroshare/src/gxs/rsgxsnetservice.h b/libretroshare/src/gxs/rsgxsnetservice.h index d289a9cae..296e17937 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.h +++ b/libretroshare/src/gxs/rsgxsnetservice.h @@ -354,6 +354,15 @@ private: bool canSendGrpId(const RsPeerId& sslId, RsGxsGrpMetaData& grpMeta, std::vector& toVet, bool &should_encrypt); bool canSendMsgIds(std::vector& msgMetas, const RsGxsGrpMetaData&, const RsPeerId& sslId, RsGxsCircleId &should_encrypt_id); + /*! + * \brief checkPermissionsForFriendGroup + * Checks that we can send/recv from that node, given that the grpMeta has a distribution limited to a local circle. + * \param sslId Candidate peer to send to or to receive from. + * \param grpMeta Contains info about the group id, internal circle id, etc. + * \return true only when the internal exists and validates as a friend node group, and contains the owner of sslId. + */ + bool checkPermissionsForFriendGroup(const RsPeerId& sslId,const RsGxsGrpMetaData& grpMeta) ; + bool checkCanRecvMsgFromPeer(const RsPeerId& sslId, const RsGxsGrpMetaData& meta, RsGxsCircleId& should_encrypt_id); void locked_createTransactionFromPending(MsgRespPending* grpPend); diff --git a/libretroshare/src/services/p3gxscircles.cc b/libretroshare/src/services/p3gxscircles.cc index a3cd4d7e7..5c717faf2 100644 --- a/libretroshare/src/services/p3gxscircles.cc +++ b/libretroshare/src/services/p3gxscircles.cc @@ -380,6 +380,7 @@ bool p3GxsCircles::loadCircle(const RsGxsCircleId &circleId) return cache_request_load(circleId); } + int p3GxsCircles::canSend(const RsGxsCircleId &circleId, const RsPgpId &id, bool& should_encrypt) { RsStackMutex stack(mCircleMtx); /********** STACK LOCKED MTX ******/ From c7e60d0cdbdc7b63d871b817bcb1e2f044479360 Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 12 Jul 2016 22:42:19 -0400 Subject: [PATCH 043/158] removed debug info in rsgxsnetservice --- libretroshare/src/gxs/rsgxsnetservice.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index 782a221e5..b3abd3724 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -225,12 +225,12 @@ NXS_NET_DEBUG_7 encryption/decryption of transactions ***/ -#define NXS_NET_DEBUG_0 1 +//#define NXS_NET_DEBUG_0 1 //#define NXS_NET_DEBUG_1 1 //#define NXS_NET_DEBUG_2 1 //#define NXS_NET_DEBUG_3 1 -#define NXS_NET_DEBUG_4 1 -#define NXS_NET_DEBUG_5 1 +//#define NXS_NET_DEBUG_4 1 +//#define NXS_NET_DEBUG_5 1 //#define NXS_NET_DEBUG_6 1 //#define NXS_NET_DEBUG_7 1 From 47414acb62a46de1f2c4454b454bacefa8c12c83 Mon Sep 17 00:00:00 2001 From: Gio Date: Tue, 5 Jul 2016 16:11:37 +0200 Subject: [PATCH 044/158] Basic support to access libresapi via unix socket / windows named pipes --- libresapi/src/api/ApiServerLocal.cpp | 74 +++++++++++++++++++ libresapi/src/api/ApiServerLocal.h | 58 +++++++++++++++ libresapi/src/api/ApiTypes.h | 27 +++++++ libresapi/src/libresapi.pro | 9 ++- retroshare-gui/src/gui/settings/WebuiPage.cpp | 7 ++ retroshare-gui/src/gui/settings/WebuiPage.h | 2 + 6 files changed, 174 insertions(+), 3 deletions(-) create mode 100644 libresapi/src/api/ApiServerLocal.cpp create mode 100644 libresapi/src/api/ApiServerLocal.h diff --git a/libresapi/src/api/ApiServerLocal.cpp b/libresapi/src/api/ApiServerLocal.cpp new file mode 100644 index 000000000..e951c2425 --- /dev/null +++ b/libresapi/src/api/ApiServerLocal.cpp @@ -0,0 +1,74 @@ +#include "ApiServerLocal.h" +#include "JsonStream.h" + +namespace resource_api{ + +ApiServerLocal::ApiServerLocal(ApiServer* server) : QThread(), + mApiServer(server), mLocalServer(this) +{ + start(); + mLocalServer.removeServer(serverName()); +#if QT_VERSION >= 0x050000 + mLocalServer.setSocketOptions(QLocalServer::UserAccessOption); +#endif + connect(&mLocalServer, SIGNAL(newConnection()), this, SLOT(handleConnection())); + mLocalServer.listen(serverName()); +} + +ApiServerLocal::~ApiServerLocal() +{ + mLocalServer.close(); + quit(); +} + +void ApiServerLocal::handleConnection() +{ + new ApiLocalConnectionHandler(mApiServer, mLocalServer.nextPendingConnection()); +} + +ApiLocalConnectionHandler::ApiLocalConnectionHandler(ApiServer* apiServer, QLocalSocket* sock) : + QThread(), mApiServer(apiServer), mLocalSocket(sock), mState(WAITING_PATH) +{ + sock->moveToThread(this); + connect(mLocalSocket, SIGNAL(disconnected()), this, SLOT(quit())); + connect(this, SIGNAL(finished()), this, SLOT(deleteLater())); + connect(sock, SIGNAL(readyRead()), this, SLOT(handleRequest())); + start(); +} + +void ApiLocalConnectionHandler::handleRequest() +{ + switch(mState) + { + case WAITING_PATH: + { + char path[1024]; + mLocalSocket->readLine(path, 1023); + reqPath = path; + mState = WAITING_DATA; + break; + } + case WAITING_DATA: + { + char jsonData[1024]; + mLocalSocket->read(jsonData, 1023); + resource_api::JsonStream reqJson; + reqJson.setJsonString(std::string(jsonData)); + resource_api::Request req(reqJson); + req.setPath(reqPath); + std::string resultString = mApiServer->handleRequest(req); + mLocalSocket->write(resultString.data(), resultString.length()); + mState = WAITING_PATH; + break; + } + } +} + +ApiLocalConnectionHandler::~ApiLocalConnectionHandler() +{ + mLocalSocket->close(); + delete mLocalSocket; +} + + +} // namespace resource_api diff --git a/libresapi/src/api/ApiServerLocal.h b/libresapi/src/api/ApiServerLocal.h new file mode 100644 index 000000000..3e8100453 --- /dev/null +++ b/libresapi/src/api/ApiServerLocal.h @@ -0,0 +1,58 @@ +#pragma once + +#include +#include +#include +#include +#include +#include + +#include "ApiServer.h" + +namespace resource_api +{ +class ApiServer; + +class ApiServerLocal : public QThread +{ + Q_OBJECT + +public: + ApiServerLocal(ApiServer* server); + ~ApiServerLocal(); + +public slots: + void handleConnection(); + +private: + ApiServer* mApiServer; + QLocalServer mLocalServer; + + const static QString& serverName() + { + const static QString sockPath(RsAccounts::AccountDirectory() + .append("/libresapi.sock").c_str()); + return sockPath; + } +}; + +class ApiLocalConnectionHandler : public QThread +{ + Q_OBJECT + +public: + ApiLocalConnectionHandler(ApiServer* apiServer, QLocalSocket* sock); + ~ApiLocalConnectionHandler(); + enum State {WAITING_PATH, WAITING_DATA}; + +public slots: + void handleRequest(); + +private: + ApiServer* mApiServer; + QLocalSocket* mLocalSocket; + State mState; + std::string reqPath; +}; + +} // namespace resource_api diff --git a/libresapi/src/api/ApiTypes.h b/libresapi/src/api/ApiTypes.h index ab34b4507..f5ab6094b 100644 --- a/libresapi/src/api/ApiTypes.h +++ b/libresapi/src/api/ApiTypes.h @@ -193,6 +193,33 @@ public: // then each handler should pop the top element std::stack mPath; std::string mFullPath; + bool setPath(std::string reqPath) + { + std::string str; + for(std::string::reverse_iterator sit = reqPath.rbegin(); sit != reqPath.rend(); sit++) + { + if((*sit) != '/') + { + // add to front because we are traveling in reverse order + str = *sit + str; + } + else + { + if(str != "") + { + mPath.push(str); + str.clear(); + } + } + } + if(str != "") + { + mPath.push(str); + } + mFullPath = reqPath; + + return true; + } // parameters should be used to influence the result // for example include or exclude some information diff --git a/libresapi/src/libresapi.pro b/libresapi/src/libresapi.pro index f83996ee1..01dd68ffb 100644 --- a/libresapi/src/libresapi.pro +++ b/libresapi/src/libresapi.pro @@ -3,7 +3,8 @@ TEMPLATE = lib CONFIG += staticlib CONFIG += create_prl -CONFIG -= qt +CONFIG += qt +QT += network TARGET = resapi TARGET_PRL = libresapi DESTDIR = lib @@ -146,7 +147,8 @@ SOURCES += \ api/TmpBlobStore.cpp \ util/ContentTypes.cpp \ api/ApiPluginHandler.cpp \ - api/ChannelsHandler.cpp + api/ChannelsHandler.cpp \ + api/ApiServerLocal.cpp HEADERS += \ api/ApiServer.h \ @@ -172,4 +174,5 @@ HEADERS += \ api/TmpBlobStore.h \ util/ContentTypes.h \ api/ApiPluginHandler.h \ - api/ChannelsHandler.h + api/ChannelsHandler.h \ + api/ApiServerLocal.h diff --git a/retroshare-gui/src/gui/settings/WebuiPage.cpp b/retroshare-gui/src/gui/settings/WebuiPage.cpp index b05bf8698..9a9f98a8f 100644 --- a/retroshare-gui/src/gui/settings/WebuiPage.cpp +++ b/retroshare-gui/src/gui/settings/WebuiPage.cpp @@ -7,6 +7,7 @@ #include "api/ApiServer.h" #include "api/ApiServerMHD.h" +#include "api/ApiServerLocal.h" #include "api/RsControlModule.h" #include "api/GetPluginInterfaces.h" @@ -14,6 +15,7 @@ resource_api::ApiServer* WebuiPage::apiServer = 0; resource_api::ApiServerMHD* WebuiPage::apiServerMHD = 0; +resource_api::ApiServerLocal* WebuiPage::apiServerLocal = 0; resource_api::RsControlModule* WebuiPage::controlModule = 0; WebuiPage::WebuiPage(QWidget */*parent*/, Qt::WindowFlags /*flags*/) @@ -92,6 +94,9 @@ QString WebuiPage::helpText() const "", Settings->getWebinterfaceAllowAllIps()); apiServerMHD->start(); + + apiServerLocal = new resource_api::ApiServerLocal(apiServer); + return ok; } @@ -102,6 +107,8 @@ QString WebuiPage::helpText() const apiServerMHD->stop(); delete apiServerMHD; apiServerMHD = 0; + delete apiServerLocal; + apiServerLocal = 0; delete apiServer; apiServer = 0; delete controlModule; diff --git a/retroshare-gui/src/gui/settings/WebuiPage.h b/retroshare-gui/src/gui/settings/WebuiPage.h index 67e9b0e40..879d26ee8 100644 --- a/retroshare-gui/src/gui/settings/WebuiPage.h +++ b/retroshare-gui/src/gui/settings/WebuiPage.h @@ -6,6 +6,7 @@ namespace resource_api{ class ApiServer; class ApiServerMHD; + class ApiServerLocal; class RsControlModule; } @@ -48,5 +49,6 @@ private: static resource_api::ApiServer* apiServer; static resource_api::ApiServerMHD* apiServerMHD; + static resource_api::ApiServerLocal* apiServerLocal; static resource_api::RsControlModule* controlModule; }; From b5f95cb6516baeb1ab442198496faa4f94958d8c Mon Sep 17 00:00:00 2001 From: Gio Date: Thu, 14 Jul 2016 22:48:44 +0200 Subject: [PATCH 045/158] libresapilocal is now optional (enabled by default) --- libresapi/src/libresapi.pro | 16 ++++++++++------ retroshare-gui/src/gui/settings/WebuiPage.cpp | 10 +++++++++- retroshare-gui/src/gui/settings/WebuiPage.h | 2 ++ retroshare.pri | 6 ++++++ 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/libresapi/src/libresapi.pro b/libresapi/src/libresapi.pro index 01dd68ffb..bf51989f8 100644 --- a/libresapi/src/libresapi.pro +++ b/libresapi/src/libresapi.pro @@ -3,8 +3,7 @@ TEMPLATE = lib CONFIG += staticlib CONFIG += create_prl -CONFIG += qt -QT += network +CONFIG -= qt TARGET = resapi TARGET_PRL = libresapi DESTDIR = lib @@ -147,8 +146,7 @@ SOURCES += \ api/TmpBlobStore.cpp \ util/ContentTypes.cpp \ api/ApiPluginHandler.cpp \ - api/ChannelsHandler.cpp \ - api/ApiServerLocal.cpp + api/ChannelsHandler.cpp HEADERS += \ api/ApiServer.h \ @@ -174,5 +172,11 @@ HEADERS += \ api/TmpBlobStore.h \ util/ContentTypes.h \ api/ApiPluginHandler.h \ - api/ChannelsHandler.h \ - api/ApiServerLocal.h + api/ChannelsHandler.h + +libresapilocalserver { + CONFIG *= qt + QT *= network + SOURCES *= api/ApiServerLocal.cpp + HEADERS *= api/ApiServerLocal.h +} diff --git a/retroshare-gui/src/gui/settings/WebuiPage.cpp b/retroshare-gui/src/gui/settings/WebuiPage.cpp index 9a9f98a8f..8e8c3498b 100644 --- a/retroshare-gui/src/gui/settings/WebuiPage.cpp +++ b/retroshare-gui/src/gui/settings/WebuiPage.cpp @@ -15,7 +15,10 @@ resource_api::ApiServer* WebuiPage::apiServer = 0; resource_api::ApiServerMHD* WebuiPage::apiServerMHD = 0; +// TODO: LIBRESAPI_LOCAL_SERVER Move in appropriate place +#ifdef LIBRESAPI_LOCAL_SERVER resource_api::ApiServerLocal* WebuiPage::apiServerLocal = 0; +#endif resource_api::RsControlModule* WebuiPage::controlModule = 0; WebuiPage::WebuiPage(QWidget */*parent*/, Qt::WindowFlags /*flags*/) @@ -95,8 +98,10 @@ QString WebuiPage::helpText() const Settings->getWebinterfaceAllowAllIps()); apiServerMHD->start(); +// TODO: LIBRESAPI_LOCAL_SERVER Move in appropriate place +#ifdef LIBRESAPI_LOCAL_SERVER apiServerLocal = new resource_api::ApiServerLocal(apiServer); - +#endif return ok; } @@ -107,8 +112,11 @@ QString WebuiPage::helpText() const apiServerMHD->stop(); delete apiServerMHD; apiServerMHD = 0; +// TODO: LIBRESAPI_LOCAL_SERVER Move in appropriate place +#ifdef LIBRESAPI_LOCAL_SERVER delete apiServerLocal; apiServerLocal = 0; +#endif delete apiServer; apiServer = 0; delete controlModule; diff --git a/retroshare-gui/src/gui/settings/WebuiPage.h b/retroshare-gui/src/gui/settings/WebuiPage.h index 879d26ee8..7da68c21d 100644 --- a/retroshare-gui/src/gui/settings/WebuiPage.h +++ b/retroshare-gui/src/gui/settings/WebuiPage.h @@ -49,6 +49,8 @@ private: static resource_api::ApiServer* apiServer; static resource_api::ApiServerMHD* apiServerMHD; + #ifdef LIBRESAPI_LOCAL_SERVER static resource_api::ApiServerLocal* apiServerLocal; + #endif static resource_api::RsControlModule* controlModule; }; diff --git a/retroshare.pri b/retroshare.pri index bdedd670a..76f68bbed 100644 --- a/retroshare.pri +++ b/retroshare.pri @@ -1,3 +1,7 @@ +# To {dis,en}able libresapi via local socket (unix domain socket or windows named pipes) +# {,un}comment the following line +CONFIG *= libresapilocalserver + # Gxs is always enabled now. DEFINES *= RS_ENABLE_GXS @@ -62,3 +66,5 @@ unfinished { } wikipoos:DEFINES *= RS_USE_WIKI + +libresapilocalserver:DEFINES *= LIBRESAPI_LOCAL_SERVER From 3152ecaa9baaf0fd399030b71b649d5b0d742988 Mon Sep 17 00:00:00 2001 From: Phenom Date: Fri, 15 Jul 2016 15:03:41 +0200 Subject: [PATCH 046/158] Fix UnitTests and run it in windows too. --- RetroShare.pro | 2 + libretroshare/src/gxs/rsgxsdata.cc | 20 +-- libretroshare/src/gxs/rsgxsdata.h | 22 ++-- libretroshare/src/retroshare/rsids.h | 4 +- libretroshare/src/serialiser/rsserial.cc | 2 +- libretroshare/src/serialiser/rstlvkeys.cc | 124 ++++++++++++++++-- libretroshare/src/serialiser/rstlvkeys.h | 18 ++- tests/librssimulator/librssimulator.pro | 18 +-- .../testing/SetServiceTester.cc | 1 + .../gxs/data_service/rsgxsdata_test.cc | 103 ++++++++------- .../gxs/security/gxssecurity_test.cc | 4 + .../serialiser/rsbaseitem_test.cc | 6 +- .../libretroshare/serialiser/rstlvutil.cc | 1 + .../libretroshare/serialiser/support.cc | 31 ++--- .../libretroshare/serialiser/support.h | 8 +- .../libretroshare/serialiser/tlvbase_test2.cc | 2 + .../libretroshare/serialiser/tlvstack_test.cc | 4 +- .../libretroshare/serialiser/tlvtypes_test.cc | 5 +- tests/unittests/unittests.pro | 41 +++--- 19 files changed, 261 insertions(+), 155 deletions(-) diff --git a/RetroShare.pro b/RetroShare.pro index 5b8bf2555..ce5ca7193 100644 --- a/RetroShare.pro +++ b/RetroShare.pro @@ -1,6 +1,7 @@ !include("retroshare.pri"): error("Could not include file retroshare.pri") TEMPLATE = subdirs +CONFIG += tests SUBDIRS += \ openpgpsdk \ @@ -46,4 +47,5 @@ tests { SUBDIRS += unittests unittests.file = tests/unittests/unittests.pro unittests.depends = libretroshare librssimulator + unittests.target = unittests } diff --git a/libretroshare/src/gxs/rsgxsdata.cc b/libretroshare/src/gxs/rsgxsdata.cc index 4cf7ac1aa..a078f1d6b 100644 --- a/libretroshare/src/gxs/rsgxsdata.cc +++ b/libretroshare/src/gxs/rsgxsdata.cc @@ -39,20 +39,20 @@ uint32_t RsGxsGrpMetaData::serial_size(uint32_t api_version) s += mGroupId.serial_size(); s += mOrigGrpId.serial_size(); + s += mParentGrpId.serial_size(); s += GetTlvStringSize(mGroupName); - s += 4; - s += 4; + s += 4; // mGroupFlags + s += 4; // mPublishTs + s += 4; // mCircleType + s += 4; // mAuthenFlag s += mAuthorId.serial_size(); s += GetTlvStringSize(mServiceString); + s += mCircleId.serial_size(); s += signSet.TlvSize(); s += keys.TlvSize(); - s += 4; // for mCircleType - s += mCircleId.serial_size(); - s += 4; // mAuthenFlag - s += mParentGrpId.serial_size(); // mParentGroupId if(api_version == RS_GXS_GRP_META_DATA_VERSION_ID_0002) - s += 4; // mSignFlag + s += 4; // mSignFlag else if(api_version != RS_GXS_GRP_META_DATA_VERSION_ID_0001) std::cerr << "(EE) wrong/unknown API version " << api_version << " requested in RsGxsGrpMetaData::serial_size()" << std::endl; @@ -227,8 +227,8 @@ uint32_t RsGxsMsgMetaData::serial_size() s += signSet.TlvSize(); s += GetTlvStringSize(mMsgName); - s += 4; // mPublishTS - s += 4; // mMsgFlags + s += 4; // mPublishTS + s += 4; // mMsgFlags return s; } @@ -311,7 +311,7 @@ bool RsGxsMsgMetaData::deserialise(void *data, uint32_t *size) ok &= signSet.GetTlv(data, *size, &offset); ok &= GetTlvString(data, *size, &offset, 0, mMsgName); - uint32_t t; + uint32_t t=0; ok &= getRawUInt32(data, *size, &offset, &t); mPublishTs = t; ok &= getRawUInt32(data, *size, &offset, &mMsgFlags); diff --git a/libretroshare/src/gxs/rsgxsdata.h b/libretroshare/src/gxs/rsgxsdata.h index 6a9832418..21fbe1445 100644 --- a/libretroshare/src/gxs/rsgxsdata.h +++ b/libretroshare/src/gxs/rsgxsdata.h @@ -56,24 +56,22 @@ public: void clear(); void operator =(const RsGroupMetaData& rMeta); + //Sort data in same order than serialiser and deserializer RsGxsGroupId mGroupId; RsGxsGroupId mOrigGrpId; + RsGxsGroupId mParentGrpId; std::string mGroupName; uint32_t mGroupFlags; // GXS_SERV::FLAG_PRIVACY_RESTRICTED | GXS_SERV::FLAG_PRIVACY_PRIVATE | GXS_SERV::FLAG_PRIVACY_PUBLIC uint32_t mPublishTs; - uint32_t mSignFlags; + uint32_t mCircleType; + uint32_t mAuthenFlags; RsGxsId mAuthorId; - + std::string mServiceString; RsGxsCircleId mCircleId; - uint32_t mCircleType; - - RsTlvKeySignatureSet signSet; RsTlvSecurityKeySet keys; - std::string mServiceString; - uint32_t mAuthenFlags; - RsGxsGroupId mParentGrpId; + uint32_t mSignFlags; // BELOW HERE IS LOCAL DATA, THAT IS NOT FROM MSG. @@ -105,18 +103,17 @@ public: void clear(); void operator =(const RsMsgMetaData& rMeta); + static int refcount; + + //Sort data in same order than serialiser and deserializer RsGxsGroupId mGroupId; RsGxsMessageId mMsgId; - static int refcount; RsGxsMessageId mThreadId; RsGxsMessageId mParentId; RsGxsMessageId mOrigMsgId; RsGxsId mAuthorId; RsTlvKeySignatureSet signSet; - - std::string mServiceString; - std::string mMsgName; time_t mPublishTs; uint32_t mMsgFlags; // Whats this for? @@ -124,6 +121,7 @@ public: // BELOW HERE IS LOCAL DATA, THAT IS NOT FROM MSG. // normally READ / UNREAD flags. LOCAL Data. + std::string mServiceString; uint32_t mMsgStatus; uint32_t mMsgSize; time_t mChildTs; diff --git a/libretroshare/src/retroshare/rsids.h b/libretroshare/src/retroshare/rsids.h index 60b5392c7..db842ab21 100644 --- a/libretroshare/src/retroshare/rsids.h +++ b/libretroshare/src/retroshare/rsids.h @@ -162,8 +162,8 @@ template t int n=0; if(s.length() != ID_SIZE_IN_BYTES*2) { - if(!s.empty()) - std::cerr << "t_RsGenericIdType<>::t_RsGenericIdType(std::string&): supplied string in constructor has wrong size. Expected ID size=" << ID_SIZE_IN_BYTES << " String=\"" << s << "\"" << std::endl; + if(!s.empty()) + std::cerr << "t_RsGenericIdType<>::t_RsGenericIdType(std::string&): supplied string in constructor has wrong size. Expected ID size=" << ID_SIZE_IN_BYTES*2 << " String=\"" << s << "\" = " << s.length() << std::endl; clear(); return; diff --git a/libretroshare/src/serialiser/rsserial.cc b/libretroshare/src/serialiser/rsserial.cc index 8bb71e635..549bdc42c 100644 --- a/libretroshare/src/serialiser/rsserial.cc +++ b/libretroshare/src/serialiser/rsserial.cc @@ -298,7 +298,7 @@ uint32_t RsSerialiser::size(RsItem *item) { #ifdef RSSERIAL_ERROR_DEBUG - std::cerr << "RsSerialiser::size() ERROR serialiser missing!"; + std::cerr << "RsSerialiser::size() ERROR serialiser missing!" << std::endl; std::string out; rs_sprintf(out, "%x", item->PacketId()); diff --git a/libretroshare/src/serialiser/rstlvkeys.cc b/libretroshare/src/serialiser/rstlvkeys.cc index 5cb06f3ff..538862320 100644 --- a/libretroshare/src/serialiser/rstlvkeys.cc +++ b/libretroshare/src/serialiser/rstlvkeys.cc @@ -188,6 +188,76 @@ bool RsTlvRSAKey::GetTlv(void *data, uint32_t size, uint32_t *offset) return ok && checkKey() ; } +/** + * @brief RsTlvRSAKey::getKeyTypeTlv: Deserialize data in temp value to get type of key. + * @param data: Serialized data + * @param size: Size of the data + * @param constoffset: Offset where find first data. Not updated by this function. + * @return The keyFlag filtered by RSTLV_KEY_TYPE_MASK. 0 if failed + */ +uint32_t RsTlvRSAKey::getKeyTypeTlv(void *data, uint32_t size, uint32_t *constoffset) const +{ + //Temporay Value. The same name than class to get same code than RsTlvRSAKey::GetTlv + uint32_t offValue = *constoffset; + uint32_t *offset = &offValue; + RsGxsId keyId; // Mandatory : + uint32_t keyFlags; // Mandatory ; + //The Code below have to be same as RsTlvRSAKey::GetTlv excepted last lines until flag is desserialized. + //Just comment TlvClear(); and unused values + + if (size < *offset + TLV_HEADER_SIZE) + return false; + + uint16_t tlvtype = GetTlvType( &(((uint8_t *) data)[*offset]) ); + uint32_t tlvsize = GetTlvSize( &(((uint8_t *) data)[*offset]) ); + uint32_t tlvend = *offset + tlvsize; + + if (size < tlvend) /* check size */ + { +#ifdef TLV_DEBUG + std::cerr << "RsTlvSecurityKey::GetTlv() Fail, not enough space"; + std::cerr << std::endl; +#endif + return false; /* not enough space */ + } + + if (tlvtype != TLV_TYPE_SECURITY_KEY) /* check type */ + { +#ifdef TLV_DEBUG + std::cerr << "RsTlvSecurityKey::GetTlv() Fail, wrong type"; + std::cerr << std::endl; +#endif + return false; + } + + bool ok = true; + + /* ready to load */ + //TlvClear();//RsTlvRSAKey::getKeyTypeTlv + + /* skip the header */ + (*offset) += TLV_HEADER_SIZE; +#ifdef KEEP_OLD_SIGNATURE_SERIALISE_FORMAT + std::string s ; + ok &= GetTlvString(data, tlvend, offset, TLV_TYPE_STR_KEYID, s); + keyId = RsGxsId(s) ; +#else + ok &= keyId.deserialise(data, tlvend, *offset) ; +#endif + ok &= getRawUInt32(data, tlvend, offset, &(keyFlags)); + //Stop here no need more data + //RsTlvRSAKey::getKeyTypeTlv specific lines + uint32_t ret = keyFlags & RSTLV_KEY_TYPE_MASK; + if (!ok) + { + ret = 0; +#ifdef TLV_DEBUG + std::cerr << "RsTlvRSAKey::getKeyTypeTlv() Failed somewhere ok == false" << std::endl; +#endif + } + return ret ; +} + std::ostream& RsTlvRSAKey::print(std::ostream &out, uint16_t indent) const { printBase(out, "RsTlvSecurityKey", indent); @@ -220,12 +290,36 @@ std::ostream& RsTlvRSAKey::print(std::ostream &out, uint16_t indent) const bool RsTlvPrivateRSAKey::checkKey() const { - return bool(keyFlags & RSTLV_KEY_TYPE_FULL) && !bool(keyFlags & RSTLV_KEY_TYPE_PUBLIC_ONLY) && GxsSecurity::checkPrivateKey(*this) ; + bool keyFlags_TYPE_FULL = (keyFlags & RSTLV_KEY_TYPE_FULL); + if (!keyFlags_TYPE_FULL) {std::cout << "RsTlvPrivateRSAKey::checkKey() keyFlags not Type Full " << std::hex << keyFlags << " & " << RSTLV_KEY_TYPE_FULL << std::dec << std::endl;} + bool keyFlags_not_PUBLIC_ONLY = !(keyFlags & RSTLV_KEY_TYPE_PUBLIC_ONLY); + if (!keyFlags_not_PUBLIC_ONLY) {std::cout << "RsTlvPrivateRSAKey::checkKey() keyFlags is Public Only " << std::hex << keyFlags << " & " << RSTLV_KEY_TYPE_PUBLIC_ONLY << std::dec << std::endl;} + bool security_OK = false; + if (keyFlags_TYPE_FULL && keyFlags_not_PUBLIC_ONLY) + { + //Don't trigg error if flags already wrong + security_OK = GxsSecurity::checkPrivateKey(*this); + if (!security_OK) {std::cout << "RsTlvPublicRSAKey::checkKey() key is not secure."<< std::endl;} + } + + return keyFlags_TYPE_FULL && keyFlags_not_PUBLIC_ONLY && security_OK ; } bool RsTlvPublicRSAKey::checkKey() const -{ - return bool(keyFlags & RSTLV_KEY_TYPE_PUBLIC_ONLY) && !bool(keyFlags & RSTLV_KEY_TYPE_FULL) && GxsSecurity::checkPublicKey(*this) ; +{ + bool keyFlags_PUBLIC_ONLY = (keyFlags & RSTLV_KEY_TYPE_PUBLIC_ONLY); + if (!keyFlags_PUBLIC_ONLY) {std::cout << "RsTlvPublicRSAKey::checkKey() keyFlags not Public Only " << std::hex << keyFlags << " & " << RSTLV_KEY_TYPE_PUBLIC_ONLY << std::dec << std::endl;} + bool keyFlags_not_TYPE_FULL = !(keyFlags & RSTLV_KEY_TYPE_FULL); + if (!keyFlags_not_TYPE_FULL) {std::cout << "RsTlvPublicRSAKey::checkKey() keyFlags is Type Full " << std::hex << keyFlags << " & " << RSTLV_KEY_TYPE_FULL << std::dec << std::endl;} + bool security_OK = false; + if (keyFlags_PUBLIC_ONLY && keyFlags_not_TYPE_FULL) + { + //Don't trigg error if flags already wrong + security_OK = GxsSecurity::checkPublicKey(*this); + if (!security_OK) {std::cout << "RsTlvPublicRSAKey::checkKey() key is not secure."<< std::endl;} + } + + return keyFlags_PUBLIC_ONLY && keyFlags_not_TYPE_FULL && security_OK ; } /************************************* RsTlvSecurityKeySet ************************************/ @@ -320,21 +414,23 @@ bool RsTlvSecurityKeySet::GetTlv(void *data, uint32_t size, uint32_t *offset) /* get the next type */ uint16_t tlvsubtype = GetTlvType( &(((uint8_t *) data)[*offset]) ); - // Security key set can be composed of public or private keys. We sort them into the correct bins after deserialisation - + // Security key set can be composed of public or private keys. We first ask type to desserialize in good one to not trigg errors. switch(tlvsubtype) { case TLV_TYPE_SECURITY_KEY: { - uint32_t offset_save = *offset ; - - RsTlvPublicRSAKey public_key; - - if(public_key.GetTlv(data, tlvend, offset)) - public_keys[public_key.keyId] = public_key; - else + RsTlvPublicRSAKey gen_key; + uint32_t keyType = gen_key.getKeyTypeTlv(data, tlvend, offset); + if(keyType == RSTLV_KEY_TYPE_PUBLIC_ONLY) + { + + RsTlvPublicRSAKey public_key; + + if(public_key.GetTlv(data, tlvend, offset)) + public_keys[public_key.keyId] = public_key; + } + else if(keyType == RSTLV_KEY_TYPE_FULL) { - *offset = offset_save ; RsTlvPrivateRSAKey private_key; @@ -342,7 +438,7 @@ bool RsTlvSecurityKeySet::GetTlv(void *data, uint32_t size, uint32_t *offset) private_keys[private_key.keyId] = private_key; } } - break ; + break ; default: ok &= SkipUnknownTlv(data, tlvend, offset); diff --git a/libretroshare/src/serialiser/rstlvkeys.h b/libretroshare/src/serialiser/rstlvkeys.h index 03b41c06d..632a7fb09 100644 --- a/libretroshare/src/serialiser/rstlvkeys.h +++ b/libretroshare/src/serialiser/rstlvkeys.h @@ -63,7 +63,9 @@ public: /* clears KeyData - but doesn't delete - to transfer ownership */ void ShallowClear(); - + + uint32_t getKeyTypeTlv(void *data, uint32_t size, uint32_t *offset) const; + RsGxsId keyId; // Mandatory : uint32_t keyFlags; // Mandatory ; uint32_t startTS; // Mandatory : @@ -75,17 +77,19 @@ public: class RsTlvPrivateRSAKey: public RsTlvRSAKey { - public: - virtual ~RsTlvPrivateRSAKey() {} +public: + RsTlvPrivateRSAKey():RsTlvRSAKey() {} + virtual ~RsTlvPrivateRSAKey() {} - virtual bool checkKey() const ; + virtual bool checkKey() const ; }; class RsTlvPublicRSAKey: public RsTlvRSAKey { - public: - virtual ~RsTlvPublicRSAKey() {} +public: + RsTlvPublicRSAKey():RsTlvRSAKey() {} + virtual ~RsTlvPublicRSAKey() {} - virtual bool checkKey() const ; + virtual bool checkKey() const ; }; class RsTlvSecurityKeySet: public RsTlvItem diff --git a/tests/librssimulator/librssimulator.pro b/tests/librssimulator/librssimulator.pro index 34946ac1e..9ef336b57 100644 --- a/tests/librssimulator/librssimulator.pro +++ b/tests/librssimulator/librssimulator.pro @@ -1,3 +1,5 @@ +!include("../../retroshare.pri"): error("Could not include file ../../retroshare.pri") + TEMPLATE = lib CONFIG += staticlib CONFIG -= qt @@ -170,19 +172,11 @@ win32 { CONFIG += upnp_miniupnpc - UPNPC_DIR = ../../../miniupnpc-1.3 + for(lib, LIB_DIR):LIBS += -L"$$lib" + for(bin, BIN_DIR):LIBS += -L"$$bin" - ZLIB_DIR = ../../../zlib-1.2.3 - SSL_DIR = ../../../openssl-1.0.1c - OPENPGPSDK_DIR = ../../openpgpsdk/src - - INCLUDEPATH += . $${SSL_DIR}/include $${UPNPC_DIR} $${ZLIB_DIR} $${OPENPGPSDK_DIR} - - # SQLite include path is required to compile GXS. - gxs { - SQLITE_DIR = ../../../sqlcipher-2.2.0 - INCLUDEPATH += $${SQLITE_DIR} - } + DEPENDPATH += . $$INC_DIR + INCLUDEPATH += . $$INC_DIR } ################################# MacOSX ########################################## diff --git a/tests/librssimulator/testing/SetServiceTester.cc b/tests/librssimulator/testing/SetServiceTester.cc index ed882be2f..574399a76 100644 --- a/tests/librssimulator/testing/SetServiceTester.cc +++ b/tests/librssimulator/testing/SetServiceTester.cc @@ -1,5 +1,6 @@ #include +#include "time.h" #include "retroshare/rsids.h" #include "serialiser/rsserial.h" diff --git a/tests/unittests/libretroshare/gxs/data_service/rsgxsdata_test.cc b/tests/unittests/libretroshare/gxs/data_service/rsgxsdata_test.cc index a6a822ed6..a74dbb280 100644 --- a/tests/unittests/libretroshare/gxs/data_service/rsgxsdata_test.cc +++ b/tests/unittests/libretroshare/gxs/data_service/rsgxsdata_test.cc @@ -5,76 +5,85 @@ #include "libretroshare/gxs/common/data_support.h" #include "gxs/rsgxsdata.h" -bool testEqual(const RsGxsGrpMetaData& d1,const RsGxsGrpMetaData& d2) +#include + +std::string testEqual(const RsGxsGrpMetaData& d1,const RsGxsGrpMetaData& d2) { - if(d1.mGroupId != d2.mGroupId ) return false ; - if(d1.mOrigGrpId != d2.mOrigGrpId ) return false ; - if(d1.mGroupName != d2.mGroupName ) return false ; - if(d1.mGroupFlags != d2.mGroupFlags ) return false ; - if(d1.mPublishTs != d2.mPublishTs ) return false ; - if(d1.mSignFlags != d2.mSignFlags ) return false ; - if(d1.mAuthorId != d2.mAuthorId ) return false ; - if(d1.mCircleId != d2.mCircleId ) return false ; - if(d1.mCircleType != d2.mCircleType ) return false ; - if(d1.mServiceString!= d2.mServiceString ) return false ; - if(d1.mAuthenFlags != d2.mAuthenFlags ) return false ; - if(d1.mParentGrpId != d2.mParentGrpId ) return false ; - - // if(d1.signSet != d2.signSet ) return false ; - // if(d1.keys != d2.keys ) return false ; - - return true ; + std::ostringstream out; + if(d1.mGroupId != d2.mGroupId ) { out << "mGroupId" << ": " << d1.mGroupId.toStdString() << "!=" << d2.mGroupId.toStdString() ; return out.str();} + if(d1.mOrigGrpId != d2.mOrigGrpId ) { out << "mOrigGrpId" << ": " << d1.mOrigGrpId.toStdString() << "!=" << d2.mOrigGrpId.toStdString() ; return out.str();} + if(d1.mAuthorId != d2.mAuthorId ) { out << "mAuthorId" << ": " << d1.mAuthorId.toStdString() << "!=" << d2.mAuthorId.toStdString() ; return out.str();} + if(d1.mCircleId != d2.mCircleId ) { out << "mCircleId" << ": " << d1.mCircleId.toStdString() << "!=" << d2.mCircleId.toStdString() ; return out.str();} + if(d1.mParentGrpId != d2.mParentGrpId ) { out << "mParentGrpId" << ": " << d1.mParentGrpId.toStdString() << "!=" << d2.mParentGrpId.toStdString() ; return out.str();} + if(d1.mGroupName != d2.mGroupName ) { out << "mGroupName" << ": " << d1.mGroupName << "!=" << d2.mGroupName ; return out.str();} + if(d1.mGroupFlags != d2.mGroupFlags ) { out << "mGroupFlags" << ": " << d1.mGroupFlags << "!=" << d2.mGroupFlags ; return out.str();} + if(d1.mPublishTs != d2.mPublishTs ) { out << "mPublishTs" << ": " << d1.mPublishTs << "!=" << d2.mPublishTs ; return out.str();} + if(d1.mSignFlags != d2.mSignFlags ) { out << "mSignFlags" << ": " << d1.mSignFlags << "!=" << d2.mSignFlags ; return out.str();} + if(d1.mCircleType != d2.mCircleType ) { out << "mCircleType" << ": " << d1.mCircleType << "!=" << d2.mCircleType ; return out.str();} + if(d1.mServiceString!= d2.mServiceString ) { out << "mServiceString" << ": " << d1.mServiceString << "!=" << d2.mServiceString ; return out.str();} + if(d1.mAuthenFlags != d2.mAuthenFlags ) { out << "mAuthenFlags" << ": " << d1.mAuthenFlags << "!=" << d2.mAuthenFlags ; return out.str();} + + // if(d1.signSet != d2.signSet ) { out << "signSet" << ": " << d1.signSet << "!=" << d2.signSet ; return out.str();} + // if(d1.keys != d2.keys ) { out << "keys" << ": " << d1.keys << "!=" << d2.keys ; return out.str();} + + return "" ; } -bool testEqual(const RsGxsMsgMetaData& d1,const RsGxsMsgMetaData& d2) + +std::string testEqual(const RsGxsMsgMetaData& d1,const RsGxsMsgMetaData& d2) { - if(d1.mGroupId != d2.mGroupId ) return false ; - if(d1.mMsgId != d2.mMsgId ) return false ; - if(d1.refcount != d2.refcount ) return false ; - if(d1.mThreadId != d2.mThreadId ) return false ; - if(d1.mPublishTs != d2.mPublishTs ) return false ; - if(d1.mParentId != d2.mParentId ) return false ; - if(d1.mOrigMsgId != d2.mOrigMsgId ) return false ; - if(d1.mAuthorId != d2.mAuthorId ) return false ; - if(d1.mServiceString!= d2.mServiceString ) return false ; - if(d1.mMsgName != d2.mMsgName ) return false ; - if(d1.mPublishTs != d2.mPublishTs ) return false ; - if(d1.mMsgFlags != d2.mMsgFlags ) return false ; - - // if(d1.signSet != d2.signSet ) return false ; - - return true ; + std::ostringstream out; + if(d1.mGroupId != d2.mGroupId ) { out << "mGroupId" << ": " << d1.mGroupId.toStdString() << " != " << d2.mGroupId.toStdString() ; return out.str();} + if(d1.mOrigMsgId != d2.mOrigMsgId ) { out << "mOrigMsgId" << ": " << d1.mOrigMsgId.toStdString() << " != " << d2.mOrigMsgId.toStdString() ; return out.str();} + if(d1.mAuthorId != d2.mAuthorId ) { out << "mAuthorId" << ": " << d1.mAuthorId.toStdString() << " != " << d2.mAuthorId.toStdString() ; return out.str();} + if(d1.mMsgId != d2.mMsgId ) { out << "mMsgId" << ": " << d1.mMsgId.toStdString() << " != " << d2.mMsgId.toStdString() ; return out.str();} + if(d1.mThreadId != d2.mThreadId ) { out << "mThreadId" << ": " << d1.mThreadId.toStdString() << " != " << d2.mThreadId.toStdString() ; return out.str();} + if(d1.mParentId != d2.mParentId ) { out << "mParentId" << ": " << d1.mParentId.toStdString() << " != " << d2.mParentId.toStdString() ; return out.str();} + if(d1.mPublishTs != d2.mPublishTs ) { out << "mPublishTs" << ": " << d1.mPublishTs << " != " << d2.mPublishTs ; return out.str();} + if(d1.mMsgName != d2.mMsgName ) { out << "mMsgName" << ": " << d1.mMsgName << " != " << d2.mMsgName ; return out.str();} + if(d1.mPublishTs != d2.mPublishTs ) { out << "mPublishTs" << ": " << d1.mPublishTs << " != " << d2.mPublishTs ; return out.str();} + if(d1.mMsgFlags != d2.mMsgFlags ) { out << "mMsgFlags" << ": " << d1.mMsgFlags << " != " << d2.mMsgFlags ; return out.str();} + + // if(d1.refcount != d2.refcount ) { out << "refcount" << ": " << d1.refcount << " != " << d2.refcount ; return out.str();} //Is Static + // if(d1.signSet != d2.signSet ) { out << "signSet" << ": " << d1.signSet << " != " << d2.signSet ; return out.str();} + + return "" ; } + TEST(libretroshare_gxs, RsGxsData) { RsGxsGrpMetaData grpMeta1, grpMeta2; - RsGxsMsgMetaData msgMeta1, msgMeta2; grpMeta1.clear(); init_item(&grpMeta1); - msgMeta1.clear(); - init_item(&msgMeta1); - uint32_t pktsize = grpMeta1.serial_size(RS_GXS_GRP_META_DATA_CURRENT_API_VERSION); char grp_data[pktsize]; - bool ok = true; - - ok &= grpMeta1.serialise(grp_data, pktsize, RS_GXS_GRP_META_DATA_CURRENT_API_VERSION); + bool grpSerialise_OK = grpMeta1.serialise(grp_data, pktsize, RS_GXS_GRP_META_DATA_CURRENT_API_VERSION); + EXPECT_TRUE(grpSerialise_OK); grpMeta2.clear(); - ok &= grpMeta2.deserialise(grp_data, pktsize); + bool grpDeserialise_OK = grpMeta2.deserialise(grp_data, pktsize); + EXPECT_TRUE(grpDeserialise_OK); + + EXPECT_EQ(testEqual(grpMeta1, grpMeta2), ""); + - EXPECT_TRUE(testEqual(grpMeta1 , grpMeta2)); + RsGxsMsgMetaData msgMeta1, msgMeta2; + + msgMeta1.clear(); + init_item(&msgMeta1); pktsize = msgMeta1.serial_size(); char msg_data[pktsize]; - ok &= msgMeta1.serialise(msg_data, &pktsize); + bool msgSerialise_OK = msgMeta1.serialise(msg_data, &pktsize); + EXPECT_TRUE(msgSerialise_OK); msgMeta2.clear(); - ok &= msgMeta2.deserialise(msg_data, &pktsize); + bool msgDeserialise_OK = msgMeta2.deserialise(msg_data, &pktsize); + EXPECT_TRUE(msgDeserialise_OK); - EXPECT_TRUE(testEqual(msgMeta1 , msgMeta2)); + EXPECT_EQ(testEqual(msgMeta1, msgMeta2), ""); } diff --git a/tests/unittests/libretroshare/gxs/security/gxssecurity_test.cc b/tests/unittests/libretroshare/gxs/security/gxssecurity_test.cc index 35a800e38..416979ec0 100644 --- a/tests/unittests/libretroshare/gxs/security/gxssecurity_test.cc +++ b/tests/unittests/libretroshare/gxs/security/gxssecurity_test.cc @@ -40,7 +40,11 @@ TEST(libretroshare_gxs, GxsSecurity) EXPECT_TRUE(GxsSecurity::generateKeyPair(pub_key,priv_key)) ; +#ifdef WIN32 + srand(getpid()) ; +#else srand48(getpid()) ; +#endif EXPECT_TRUE( pub_key.keyId == priv_key.keyId ); EXPECT_TRUE( pub_key.startTS == priv_key.startTS ); diff --git a/tests/unittests/libretroshare/serialiser/rsbaseitem_test.cc b/tests/unittests/libretroshare/serialiser/rsbaseitem_test.cc index fc5b1a88e..a3a8d0d01 100644 --- a/tests/unittests/libretroshare/serialiser/rsbaseitem_test.cc +++ b/tests/unittests/libretroshare/serialiser/rsbaseitem_test.cc @@ -45,7 +45,7 @@ TEST(libretroshare_serialiser, RsTlvFileItem) /* initialise */ i1.filesize = 101010; - i1.hash = RsFileHash("ABCDEFEGHE"); + i1.hash = RsFileHash("123456789ABCDEF67890123456789ABCDEF67890");//SHA1_SIZE*2 = 40 i1.name = "TestFile.txt"; i1.pop = 12; i1.age = 456; @@ -103,7 +103,7 @@ TEST(libretroshare_serialiser, RsTlvFileSet) { RsTlvFileItem fi; fi.filesize = 16 + i * i; - fi.hash = RsFileHash("ABCDEF"); + fi.hash = RsFileHash("123456789ABCDEF67890123456789ABCDEF67890");//SHA1_SIZE*2 = 40 std::ostringstream out; out << "File" << i << "_inSet.txt"; fi.name = out.str(); @@ -130,7 +130,7 @@ TEST(libretroshare_serialiser, RsTlvFileData) /* initialise */ d1.file.filesize = 101010; - d1.file.hash = RsFileHash("ABCDEFEGHE"); + d1.file.hash = RsFileHash("123456789ABCDEF67890123456789ABCDEF67890");//SHA1_SIZE*2 = 40 d1.file.name = ""; d1.file.age = 0; d1.file.pop = 0; diff --git a/tests/unittests/libretroshare/serialiser/rstlvutil.cc b/tests/unittests/libretroshare/serialiser/rstlvutil.cc index e7b3b0bc9..6613ed9b3 100644 --- a/tests/unittests/libretroshare/serialiser/rstlvutil.cc +++ b/tests/unittests/libretroshare/serialiser/rstlvutil.cc @@ -101,6 +101,7 @@ int test_SerialiseTlvItem(std::ostream &str, RsTlvItem *in, RsTlvItem *out) in->print(str, 0); displayRawPacket(str, serbuffer, serialOffset); out->print(str, 0); + str << std::endl; return 1; } diff --git a/tests/unittests/libretroshare/serialiser/support.cc b/tests/unittests/libretroshare/serialiser/support.cc index da20ec41e..2474b77fb 100644 --- a/tests/unittests/libretroshare/serialiser/support.cc +++ b/tests/unittests/libretroshare/serialiser/support.cc @@ -27,6 +27,7 @@ #include "support.h" #include "serialiser/rstlvbase.h" +#include "gxs/gxssecurity.h" void randString(const uint32_t length, std::string& outStr) { @@ -67,12 +68,14 @@ void init_item(RsTlvSecurityKeySet& ks) randString(SHORT_STR, ks.groupId); for(int i=1; i int test_RsItem() RsSerialType *rsfis = init_item(rsfi) ; /* attempt to serialise it before we add it to the serialiser */ - + std::cerr << "### These errors are expected." << std::endl; EXPECT_TRUE(0 == srl.size(&rsfi)); static const uint32_t MAX_BUFSIZE = 22000 ; @@ -120,6 +119,7 @@ template int test_RsItem() char *buffer = new char[MAX_BUFSIZE]; uint32_t sersize = MAX_BUFSIZE; + std::cerr << "### These errors are expected." << std::endl; EXPECT_TRUE(false == srl.serialise(&rsfi, (void *) buffer, &sersize)); /* now add to serialiser */ @@ -133,7 +133,7 @@ template int test_RsItem() std::cerr << "test_Item() done: " << done << std::endl; std::cerr << "test_Item() sersize: " << sersize << std::endl; - std::cerr << "test_Item() serialised:" << std::endl; + //std::cerr << "test_Item() serialised:" << std::endl; //displayRawPacket(std::cerr, (void *) buffer, sersize); EXPECT_TRUE(done == true); @@ -192,7 +192,7 @@ template int test_RsItem(uint16_t servtype) RsSerialType *rsfis = init_item(rsfi) ; // deleted on destruction of srl /* attempt to serialise it before we add it to the serialiser */ - + std::cerr << "### These errors are expected." << std::endl; EXPECT_TRUE(0 == srl.size(&rsfi)); static const uint32_t MAX_BUFSIZE = 22000 ; diff --git a/tests/unittests/libretroshare/serialiser/tlvbase_test2.cc b/tests/unittests/libretroshare/serialiser/tlvbase_test2.cc index cfd552858..a1f6d4fee 100644 --- a/tests/unittests/libretroshare/serialiser/tlvbase_test2.cc +++ b/tests/unittests/libretroshare/serialiser/tlvbase_test2.cc @@ -81,6 +81,7 @@ int test_OneString(std::string input, uint16_t type) std::cerr << "DeSerialising" << std::endl; /* fails if type is wrong! */ + std::cerr << "### These errors are expected." << std::endl; EXPECT_TRUE(0 == GetTlvString((void*)tlvdata, outOffset, &inOffset, type-1, OutString)); EXPECT_TRUE(GetTlvString((void*)tlvdata, outOffset, &inOffset, type, OutString)); @@ -141,6 +142,7 @@ int test_IpAddr(struct sockaddr_in *addr, uint16_t type) std::cerr << "DeSerialising" << std::endl; /* fails if type is wrong! */ + std::cerr << "### These errors are expected." << std::endl; EXPECT_TRUE(0 == GetTlvIpAddrPortV4((void*)tlvdata, outOffset, &inOffset, type-1, &outaddr)); EXPECT_TRUE(GetTlvIpAddrPortV4((void*)tlvdata, outOffset, &inOffset, type, &outaddr)); diff --git a/tests/unittests/libretroshare/serialiser/tlvstack_test.cc b/tests/unittests/libretroshare/serialiser/tlvstack_test.cc index 0acba2709..d4d46ed0e 100644 --- a/tests/unittests/libretroshare/serialiser/tlvstack_test.cc +++ b/tests/unittests/libretroshare/serialiser/tlvstack_test.cc @@ -63,13 +63,13 @@ TEST(libretroshare_serialiser, test_RsTlvStack) /* initialise */ fi1->filesize = 101010; - fi1->hash = RsFileHash("ABCDEFEGHE"); + fi1->hash = RsFileHash("123456789ABCDEF67890123456789ABCDEF67890");//SHA1_SIZE*2 = 40 fi1->name = "TestFile.txt"; fi1->pop = 12; fi1->age = 456; fi2->filesize = 101010; - fi2->hash = RsFileHash("ABCDEFEGHE"); + fi2->hash = RsFileHash("123456789ABCDEF67890123456789ABCDEF67890");//SHA1_SIZE*2 = 40 fi2->name = "TestFile.txt"; fi2->pop = 0; fi2->age = 0;; diff --git a/tests/unittests/libretroshare/serialiser/tlvtypes_test.cc b/tests/unittests/libretroshare/serialiser/tlvtypes_test.cc index cc4d93758..c24915e27 100644 --- a/tests/unittests/libretroshare/serialiser/tlvtypes_test.cc +++ b/tests/unittests/libretroshare/serialiser/tlvtypes_test.cc @@ -47,7 +47,7 @@ TEST(libretroshare_serialiser, test_RsTlvFileItem) /* initialise */ i1.filesize = 101010; - i1.hash = RsFileHash("ABCDEFEGHE"); + i1.hash = RsFileHash("123456789ABCDEF67890123456789ABCDEF67890");//SHA1_SIZE*2 = 40 i1.name = "TestFile.txt"; i1.pop = 12; i1.age = 456; @@ -105,7 +105,7 @@ TEST(libretroshare_serialiser, test_RsTlvFileSet) { RsTlvFileItem fi; fi.filesize = 16 + i * i; - fi.hash = RsFileHash("ABCDEF"); + fi.hash = RsFileHash("123456789ABCDEF67890123456789ABCDEF67890");//SHA1_SIZE*2 = 40 std::ostringstream out; out << "File" << i << "_inSet.txt"; fi.name = out.str(); @@ -195,6 +195,7 @@ TEST(libretroshare_serialiser, test_RsTlvServiceIdSet) i1.ids.push_back(1 + rand() % 12564); } std::cout << "error here!!!?"; + std::cout << std::endl; EXPECT_TRUE(test_SerialiseTlvItem(std::cerr, &i1, &i2)); } diff --git a/tests/unittests/unittests.pro b/tests/unittests/unittests.pro index 0da23ce37..2409b8845 100644 --- a/tests/unittests/unittests.pro +++ b/tests/unittests/unittests.pro @@ -1,3 +1,5 @@ +!include("../../retroshare.pri"): error("Could not include file ../../retroshare.pri") + QT += network xml script CONFIG += bitdht @@ -114,6 +116,9 @@ win32 { QMAKE_CFLAGS += -Wextra QMAKE_CXXFLAGS += -Wextra + # solve linker warnings because of the order of the libraries + QMAKE_LFLAGS += -Wl,--start-group + # Switch off optimization for release version QMAKE_CXXFLAGS_RELEASE -= -O2 QMAKE_CXXFLAGS_RELEASE += -O0 @@ -132,31 +137,35 @@ win32 { PRE_TARGETDEPS *= ../librssimulator/lib/librssimulator.a PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a + for(lib, LIB_DIR):LIBS += -L"$$lib" + for(bin, BIN_DIR):LIBS += -L"$$bin" + LIBS += ../../libretroshare/src/lib/libretroshare.a + LIBS += ../librssimulator/lib/librssimulator.a LIBS += ../../openpgpsdk/src/lib/libops.a -lbz2 LIBS += -L"$$PWD/../../../lib" - gxs { - LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a - LIBS += -lsqlcipher - } - LIBS += -lssl -lcrypto -lpthread -lminiupnpc -lz -# added after bitdht -# LIBS += -lws2_32 LIBS += -luuid -lole32 -liphlpapi -lcrypt32 -lgdi32 - LIBS += -lole32 -lwinmm - RC_FILE = gui/images/retroshare_win.rc - - # export symbols for the plugins - LIBS += -Wl,--export-all-symbols,--out-implib,lib/libretroshare-gui.a - - # create lib directory - QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib $(MKDIR) lib + LIBS += -lwinmm DEFINES *= WINDOWS_SYS WIN32_LEAN_AND_MEAN _USE_32BIT_TIME_T - INCLUDEPATH += . + # create lib directory + message(CHK_DIR_EXISTS=$(CHK_DIR_EXISTS)) + message(MKDIR=$(MKDIR)) + QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib || $(MKDIR) lib + + DEPENDPATH += . $$INC_DIR + INCLUDEPATH += . $$INC_DIR + + greaterThan(QT_MAJOR_VERSION, 4) { + # Qt 5 + RC_INCLUDEPATH += $$_PRO_FILE_PWD_/../../libretroshare/src + } else { + # Qt 4 + QMAKE_RC += --include-dir=$$_PRO_FILE_PWD_/../../libretroshare/src + } } ##################################### MacOS ###################################### From 90dfc6e14a4e5d85014afff843a0c15a884855ee Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 15 Jul 2016 16:59:57 -0400 Subject: [PATCH 047/158] improved explicit requests of missing GXS ids, also fixing situations where empty peers lists would wipe out pending peer lists --- libretroshare/src/chat/distributedchat.cc | 2 +- libretroshare/src/gxs/rsgenexchange.cc | 7 +- libretroshare/src/gxs/rsgixs.h | 3 +- libretroshare/src/gxs/rsgxsnetservice.cc | 28 ++-- libretroshare/src/services/p3gxscircles.cc | 2 +- libretroshare/src/services/p3idservice.cc | 148 ++++++++++++++------- libretroshare/src/services/p3idservice.h | 7 +- 7 files changed, 134 insertions(+), 63 deletions(-) diff --git a/libretroshare/src/chat/distributedchat.cc b/libretroshare/src/chat/distributedchat.cc index 2ed75fd1b..9f4a4274e 100644 --- a/libretroshare/src/chat/distributedchat.cc +++ b/libretroshare/src/chat/distributedchat.cc @@ -168,7 +168,7 @@ bool DistributedChatService::handleRecvChatLobbyMsgItem(RsChatMsgItem *ci) if(it == _chat_lobbys.end()) { #ifdef DEBUG_CHAT_LOBBIES - std::cerr << "Chatlobby for id " << std::hex << item->lobby_id << " has no record. Dropping the msg." << std::dec << std::endl; + std::cerr << "Chatlobby for id " << std::hex << cli->lobby_id << " has no record. Dropping the msg." << std::dec << std::endl; #endif return false; } diff --git a/libretroshare/src/gxs/rsgenexchange.cc b/libretroshare/src/gxs/rsgenexchange.cc index e4c83d5db..49cb37927 100644 --- a/libretroshare/src/gxs/rsgenexchange.cc +++ b/libretroshare/src/gxs/rsgenexchange.cc @@ -2832,12 +2832,15 @@ void RsGenExchange::processRecvdMessages() void RsGenExchange::processRecvdGroups() { - RS_STACK_MUTEX(mGenMtx) ; + RS_STACK_MUTEX(mGenMtx) ; if(mReceivedGrps.empty()) return; - NxsGrpPendValidVect::iterator vit = mReceivedGrps.begin(); +#ifdef GEN_EXCH_DEBUG + std::cerr << "RsGenExchange::Processing received groups" << std::endl; +#endif + NxsGrpPendValidVect::iterator vit = mReceivedGrps.begin(); std::vector existingGrpIds; std::list grpIds; diff --git a/libretroshare/src/gxs/rsgixs.h b/libretroshare/src/gxs/rsgixs.h index bdb58337c..5b12aa873 100644 --- a/libretroshare/src/gxs/rsgixs.h +++ b/libretroshare/src/gxs/rsgixs.h @@ -96,7 +96,6 @@ * as these will be used very frequently. *****/ -typedef RsPeerId PeerId; // SHOULD BE REMOVED => RsPeerId (SSLID) typedef PGPIdType RsPgpId; /* Identity Interface for GXS Message Verification. @@ -150,7 +149,7 @@ public: * @param keyref the KeyRef of the key being requested * @return will */ - virtual bool requestKey(const RsGxsId &id, const std::list &peers) = 0; + virtual bool requestKey(const RsGxsId &id, const std::list &peers) = 0; virtual bool requestPrivateKey(const RsGxsId &id) = 0; diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index 7d4e81dd0..64b5a3ff9 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -220,16 +220,16 @@ NXS_NET_DEBUG_3 publish key exchange NXS_NET_DEBUG_4 vetting NXS_NET_DEBUG_5 summary of transactions (useful to just know what comes in/out) - NXS_NET_DEBUG_6 + NXS_NET_DEBUG_6 group sync statistics (e.g. number of posts at nighbour nodes, etc) NXS_NET_DEBUG_7 encryption/decryption of transactions ***/ -//#define NXS_NET_DEBUG_0 1 +#define NXS_NET_DEBUG_0 1 //#define NXS_NET_DEBUG_1 1 //#define NXS_NET_DEBUG_2 1 //#define NXS_NET_DEBUG_3 1 //#define NXS_NET_DEBUG_4 1 -//#define NXS_NET_DEBUG_5 1 +#define NXS_NET_DEBUG_5 1 //#define NXS_NET_DEBUG_6 1 //#define NXS_NET_DEBUG_7 1 @@ -266,8 +266,8 @@ static const uint32_t RS_NXS_ITEM_ENCRYPTION_STATUS_GXS_KEY_MISSING = 0x05 ; || defined(NXS_NET_DEBUG_4) || defined(NXS_NET_DEBUG_5) || defined(NXS_NET_DEBUG_6) || defined(NXS_NET_DEBUG_7) static const RsPeerId peer_to_print = RsPeerId(std::string("")) ; -static const RsGxsGroupId group_id_to_print = RsGxsGroupId(std::string("87c769d3ffeafdc4433f557d50cdf2e8" )) ; // use this to allow to this group id only, or "" for all IDs -static const uint32_t service_to_print = 0x215 ; // use this to allow to this service id only, or 0 for all services +static const RsGxsGroupId group_id_to_print = RsGxsGroupId(std::string("30501fac090b65f5b9def169598b53ed" )) ; // use this to allow to this group id only, or "" for all IDs +static const uint32_t service_to_print = 0x211 ; // use this to allow to this service id only, or 0 for all services // warning. Numbers should be SERVICE IDS (see serialiser/rsserviceids.h. E.g. 0x0215 for forums) class nullstream: public std::ostream {}; @@ -4610,7 +4610,13 @@ void RsGxsNetService::setSyncAge(uint32_t /* age */) int RsGxsNetService::requestGrp(const std::list& grpId, const RsPeerId& peerId) { RS_STACK_MUTEX(mNxsMutex) ; - mExplicitRequest[peerId].assign(grpId.begin(), grpId.end()); +#ifdef NXS_NET_DEBUG_0 + GXSNETDEBUG_P_(peerId) << "RsGxsNetService::requestGrp(): adding explicit group requests to peer " << peerId << std::endl; + + for(std::list::const_iterator it(grpId.begin());it!=grpId.end();++it) + GXSNETDEBUG_PG(peerId,*it) << " Group ID: " << *it << std::endl; +#endif + mExplicitRequest[peerId].assign(grpId.begin(), grpId.end()); return 1; } @@ -4622,7 +4628,10 @@ void RsGxsNetService::processExplicitGroupRequests() for(; cit != mExplicitRequest.end(); ++cit) { - const RsPeerId& peerId = cit->first; +#ifdef NXS_NET_DEBUG_0 + GXSNETDEBUG_P_(cit->first) << "RsGxsNetService::sending pending explicit group requests to peer " << cit->first << std::endl; +#endif + const RsPeerId& peerId = cit->first; const std::list& groupIdList = cit->second; std::list grpSyncItems; @@ -4630,7 +4639,10 @@ void RsGxsNetService::processExplicitGroupRequests() uint32_t transN = locked_getTransactionId(); for(; git != groupIdList.end(); ++git) { - RsNxsSyncGrpItem* item = new RsNxsSyncGrpItem(mServType); +#ifdef NXS_NET_DEBUG_0 + GXSNETDEBUG_PG(peerId,*git) << " group request for grp ID " << *git << " to peer " << peerId << std::endl; +#endif + RsNxsSyncGrpItem* item = new RsNxsSyncGrpItem(mServType); item->grpId = *git; item->PeerId(peerId); item->flag = RsNxsSyncGrpItem::FLAG_REQUEST; diff --git a/libretroshare/src/services/p3gxscircles.cc b/libretroshare/src/services/p3gxscircles.cc index 5c717faf2..1744a71b0 100644 --- a/libretroshare/src/services/p3gxscircles.cc +++ b/libretroshare/src/services/p3gxscircles.cc @@ -1073,7 +1073,7 @@ bool p3GxsCircles::locked_processLoadingCacheEntry(RsGxsCircleCache& cache) } else { - std::list peers; + std::list peers; if(!cache.mOriginator.isNull()) { diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index 29b5e0794..6dae738cb 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -50,6 +50,7 @@ * #define DEBUG_OPINION 1 * #define GXSID_GEN_DUMMY_DATA 1 ****/ +#define DEBUG_IDS 1 #define ID_REQUEST_LIST 0x0001 #define ID_REQUEST_IDENTITY 0x0002 @@ -700,16 +701,25 @@ bool p3IdService::havePrivateKey(const RsGxsId &id) return mKeyCache.is_cached(id) ; } -bool p3IdService::requestKey(const RsGxsId &id, const std::list &peers) +bool p3IdService::requestKey(const RsGxsId &id, const std::list& peers) { if (haveKey(id)) return true; else - { - if(isPendingNetworkRequest(id)) - return true; - } + { + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + std::map >::iterator rit = mIdsNotPresent.find(id) ; + + if(rit != mIdsNotPresent.end()) + { + locked_mergeIdsToRequestFromNet(id,peers) ; + return true ; + } + } + + if(peers.empty()) + std::cerr << "(EE) empty peer list in ID request from net. This is bound to fail!" << std::endl; return cache_request_load(id, peers); } @@ -725,6 +735,27 @@ bool p3IdService::isPendingNetworkRequest(const RsGxsId& gxsId) return false; } +void p3IdService::locked_mergeIdsToRequestFromNet(const RsGxsId& id,const std::list& peers) +{ + // merge the two lists (I use a std::set to make it more efficient) + + std::cerr << "p3IdService::requestKey(): merging list with existing pending request." << std::endl; + + std::list& old_peers(mIdsNotPresent[id]) ; // create if necessary + std::set new_peers ; + + for(std::list::const_iterator it(peers.begin());it!=peers.end();++it) + new_peers.insert(*it) ; + + for(std::list::iterator it(old_peers.begin());it!=old_peers.end();++it) + new_peers.insert(*it) ; + + old_peers.clear(); + + for(std::set::iterator it(new_peers.begin());it!=new_peers.end();++it) + old_peers.push_back(*it) ; +} + bool p3IdService::getKey(const RsGxsId &id, RsTlvPublicRSAKey &key) { { @@ -918,7 +949,7 @@ bool p3IdService::haveReputation(const RsGxsId &id) return haveKey(id); } -bool p3IdService::loadReputation(const RsGxsId &id, const std::list& peers) +bool p3IdService::loadReputation(const RsGxsId &id, const std::list& peers) { if (haveKey(id)) return true; @@ -2010,11 +2041,10 @@ bool p3IdService::cache_store(const RsGxsIdGroupItem *item) #define MIN_CYCLE_GAP 2 -bool p3IdService::cache_request_load(const RsGxsId &id, const std::list& peers) +bool p3IdService::cache_request_load(const RsGxsId &id, const std::list &peers) { #ifdef DEBUG_IDS - std::cerr << "p3IdService::cache_request_load(" << id << ")"; - std::cerr << std::endl; + std::cerr << "p3IdService::cache_request_load(" << id << ")" << std::endl; #endif // DEBUG_IDS { @@ -2130,11 +2160,14 @@ bool p3IdService::cache_load_for_token(uint32_t token) // now store identities that aren't present RsStackMutex stack(mIdMtx); - mIdsNotPresent.insert(mPendingCache.begin(), mPendingCache.end()); + + for(std::map >::const_iterator itt(mPendingCache.begin());itt!=mPendingCache.end();++itt) + locked_mergeIdsToRequestFromNet(itt->first,itt->second) ; + mPendingCache.clear(); - if(!mIdsNotPresent.empty()) - schedule_now(GXSID_EVENT_REQUEST_IDS); + if(!mIdsNotPresent.empty()) + schedule_now(GXSID_EVENT_REQUEST_IDS); } } @@ -2150,46 +2183,69 @@ bool p3IdService::cache_load_for_token(uint32_t token) void p3IdService::requestIdsFromNet() { - RsStackMutex stack(mIdMtx); + RsStackMutex stack(mIdMtx); - std::map >::const_iterator cit; - std::map > requests; + if(!mNes) + { + std::cerr << "(WW) cannot request missing GXS IDs because network service is not present." << std::endl; + return ; + } - // transform to appropriate structure ( > map) to make request to nes - for(cit = mIdsNotPresent.begin(); cit != mIdsNotPresent.end(); ++cit) - { - { + std::map >::iterator cit; + std::map > requests; + + // Transform to appropriate structure ( > map) to make request to nes per peer ID + // Only delete entries in mIdsNotPresent that can actually be performed. + + for(cit = mIdsNotPresent.begin(); cit != mIdsNotPresent.end();) + { #ifdef DEBUG_IDS - std::cerr << "p3IdService::requestIdsFromNet() Id not found, deferring for net request: "; - std::cerr << cit->first; - std::cerr << std::endl; -#endif // DEBUG_IDS + std::cerr << "p3IdService::requestIdsFromNet() Id not found, deferring for net request: " << cit->first << std::endl; +#endif - } + const std::list& peers = cit->second; + std::list::const_iterator cit2; - const std::list& peers = cit->second; - std::list::const_iterator cit2; - for(cit2 = peers.begin(); cit2 != peers.end(); ++cit2) - requests[*cit2].push_back(cit->first); - } + bool request_can_proceed = false ; - std::map >::const_iterator cit2; - - for(cit2 = requests.begin(); cit2 != requests.end(); ++cit2) - { - - if(mNes) + for(cit2 = peers.begin(); cit2 != peers.end(); ++cit2) + if(rsPeers->isOnline(*cit2)) // make sure that the peer in online, so that we know that the request has some chance to succeed. { - std::list::const_iterator gxs_id_it = cit2->second.begin(); - std::list grpIds; - for(; gxs_id_it != cit2->second.end(); ++gxs_id_it) - grpIds.push_back(RsGxsGroupId(gxs_id_it->toStdString())); - - mNes->requestGrp(grpIds, cit2->first); + requests[*cit2].push_back(cit->first); + request_can_proceed = true ; +#ifdef DEBUG_IDS + std::cerr << " will ask ID " << cit->first << " to peer ID " << *cit2 << std::endl; +#endif } + + if(request_can_proceed) + { + std::map >::iterator tmp(cit); + ++tmp ; + mIdsNotPresent.erase(cit) ; + cit = tmp ; + } + else + { + std::cerr << "(EE) empty online peers list in ID request for groupId " << cit->first << ". This is not going to work! Keeping it until peers show up."<< std::endl; + ++cit ; + } + } + + for(std::map >::const_iterator cit2(requests.begin()); cit2 != requests.end(); ++cit2) + { + std::list::const_iterator gxs_id_it = cit2->second.begin(); + std::list grpIds; + for(; gxs_id_it != cit2->second.end(); ++gxs_id_it) + { +#ifdef DEBUG_IDS + std::cerr << " asking ID " << *gxs_id_it << " to peer ID " << cit2->first << std::endl; +#endif + grpIds.push_back(RsGxsGroupId(*gxs_id_it)); } - mIdsNotPresent.clear(); + mNes->requestGrp(grpIds, cit2->first); + } } bool p3IdService::cache_update_if_cached(const RsGxsId &id, std::string serviceString) @@ -2373,7 +2429,7 @@ bool p3IdService::cachetest_handlerequest(uint32_t token) /* try the cache! */ if (!haveKey(*vit)) { - std::list nullpeers; + std::list nullpeers; requestKey(*vit, nullpeers); #ifdef DEBUG_IDS @@ -2606,7 +2662,7 @@ RsGenExchange::ServiceCreate_Return p3IdService::service_CreateGroup(RsGxsGrpIte // } #ifdef DEBUG_IDS - std::cerr << "p3IdService::service_CreateGroup() for : " << item->mMeta.mGroupId; + std::cerr << "p3IdService::service_CreateGroup() for : " << item->meta.mGroupId; std::cerr << std::endl; std::cerr << "p3IdService::service_CreateGroup() Alt GroupId : " << item->meta.mGroupId; std::cerr << std::endl; @@ -2653,7 +2709,7 @@ RsGenExchange::ServiceCreate_Return p3IdService::service_CreateGroup(RsGxsGrpIte #ifdef DEBUG_IDS - std::cerr << "p3IdService::service_CreateGroup() Calculated PgpIdHash : " << item->group.mPgpIdHash; + std::cerr << "p3IdService::service_CreateGroup() Calculated PgpIdHash : " << item->mPgpIdHash; std::cerr << std::endl; #endif // DEBUG_IDS @@ -3015,7 +3071,7 @@ bool p3IdService::checkId(const RsGxsIdGroup &grp, RsPgpId &pgpId,bool& error) #ifdef DEBUG_IDS std::string esign ; - Radix64::encode((char *) grp.mPgpIdSign.c_str(), grp.mPgpIdSign.length(),esign) ; + Radix64::encode((unsigned char *) grp.mPgpIdSign.c_str(), grp.mPgpIdSign.length(),esign) ; std::cerr << "Checking group signature " << esign << std::endl; #endif RsPgpId issuer_id ; diff --git a/libretroshare/src/services/p3idservice.h b/libretroshare/src/services/p3idservice.h index 8efc3aea8..ff83f0926 100644 --- a/libretroshare/src/services/p3idservice.h +++ b/libretroshare/src/services/p3idservice.h @@ -298,7 +298,7 @@ public: virtual bool getKey(const RsGxsId &id, RsTlvPublicRSAKey &key); virtual bool getPrivateKey(const RsGxsId &id, RsTlvPrivateRSAKey &key); - virtual bool requestKey(const RsGxsId &id, const std::list &peers); + virtual bool requestKey(const RsGxsId &id, const std::list &peers); virtual bool requestPrivateKey(const RsGxsId &id); @@ -343,7 +343,7 @@ private: */ int cache_tick(); - bool cache_request_load(const RsGxsId &id, const std::list& peers = std::list()); + bool cache_request_load(const RsGxsId &id, const std::list& peers = std::list()); bool cache_start_load(); bool cache_load_for_token(uint32_t token); @@ -351,7 +351,8 @@ private: bool cache_update_if_cached(const RsGxsId &id, std::string serviceString); bool isPendingNetworkRequest(const RsGxsId& gxsId); - void requestIdsFromNet(); + void locked_mergeIdsToRequestFromNet(const RsGxsId& id,const std::list& peers); + void requestIdsFromNet(); // Mutex protected. From 91260763366a679e7b5a877705b5bd7d57231dbc Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 15 Jul 2016 17:09:22 -0400 Subject: [PATCH 048/158] removed debug info in p3IdService and RsGxsNetService --- libretroshare/src/gxs/rsgxsnetservice.cc | 6 +++--- libretroshare/src/services/p3idservice.cc | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index 64b5a3ff9..6c20c408f 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -224,16 +224,15 @@ NXS_NET_DEBUG_7 encryption/decryption of transactions ***/ -#define NXS_NET_DEBUG_0 1 +//#define NXS_NET_DEBUG_0 1 //#define NXS_NET_DEBUG_1 1 //#define NXS_NET_DEBUG_2 1 //#define NXS_NET_DEBUG_3 1 //#define NXS_NET_DEBUG_4 1 -#define NXS_NET_DEBUG_5 1 +//#define NXS_NET_DEBUG_5 1 //#define NXS_NET_DEBUG_6 1 //#define NXS_NET_DEBUG_7 1 -#define GIXS_CUT_OFF 0 //#define NXS_FRAG // The constant below have a direct influence on how fast forums/channels/posted/identity groups propagate and on the overloading of queues: @@ -244,6 +243,7 @@ // A small value for MAX_REQLIST_SIZE is likely to help messages to propagate in a chaotic network, but will also slow them down. // A small SYNC_PERIOD fasten message propagation, but is likely to overload the server side of transactions (e.g. overload outqueues). // +#define GIXS_CUT_OFF 0 #define SYNC_PERIOD 60 #define MAX_REQLIST_SIZE 20 // No more than 20 items per msg request list => creates smaller transactions that are less likely to be cancelled. #define TRANSAC_TIMEOUT 2000 // In seconds. Has been increased to avoid epidemic transaction cancelling due to overloaded outqueues. diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index 6dae738cb..66f27db97 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -50,7 +50,6 @@ * #define DEBUG_OPINION 1 * #define GXSID_GEN_DUMMY_DATA 1 ****/ -#define DEBUG_IDS 1 #define ID_REQUEST_LIST 0x0001 #define ID_REQUEST_IDENTITY 0x0002 From 59d08591d215d792debede31ff60e47ac02f612b Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 15 Jul 2016 22:25:15 -0400 Subject: [PATCH 049/158] fixed compilation in tests --- .../unittests/libretroshare/gxs/gen_exchange/rsdummyservices.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unittests/libretroshare/gxs/gen_exchange/rsdummyservices.h b/tests/unittests/libretroshare/gxs/gen_exchange/rsdummyservices.h index 4235f0ac8..a422cd03f 100644 --- a/tests/unittests/libretroshare/gxs/gen_exchange/rsdummyservices.h +++ b/tests/unittests/libretroshare/gxs/gen_exchange/rsdummyservices.h @@ -145,7 +145,7 @@ public: * @param keyref the KeyRef of the key being requested * @return will */ - bool requestKey(const RsGxsId &id, const std::list &peers){ return false ;} + bool requestKey(const RsGxsId &id, const std::list &peers){ return false ;} bool requestPrivateKey(const RsGxsId &id){ return false;} From 8fdd255185d870e04a079919cc08573604842017 Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 15 Jul 2016 22:28:36 -0400 Subject: [PATCH 050/158] improved strategy for merging pending ID load requests, fixing bug in previous commit --- libretroshare/src/services/p3idservice.cc | 2073 +++++++++++---------- libretroshare/src/services/p3idservice.h | 1 - 2 files changed, 1043 insertions(+), 1031 deletions(-) diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index 66f27db97..2aa554e4e 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -266,8 +266,8 @@ void p3IdService::timeStampKey(const RsGxsId& gxs_id) { if(isBanned(gxs_id)) { - std::cerr << "(II) p3IdService:timeStampKey(): refusing to time stamp key " << gxs_id << " because it is banned." << std::endl; - return; + std::cerr << "(II) p3IdService:timeStampKey(): refusing to time stamp key " << gxs_id << " because it is banned." << std::endl; + return; } RS_STACK_MUTEX(mIdMtx) ; @@ -287,13 +287,13 @@ bool p3IdService::loadList(std::list& items) { for(std::map::const_iterator it2 = lii->mTimeStamps.begin();it2!=lii->mTimeStamps.end();++it2) mKeysTS.insert(*it2) ; - - mContacts = lii->mContacts ; + + mContacts = lii->mContacts ; } - + delete *it ; } - + items.clear() ; return true ; } @@ -318,106 +318,106 @@ class IdCacheEntryCleaner { public: IdCacheEntryCleaner(const std::map& last_usage_TSs) : mLastUsageTS(last_usage_TSs) {} - + bool processEntry(RsGxsIdCache& entry) - { - time_t now = time(NULL); - const RsGxsId& gxs_id = entry.details.mId ; + { + time_t now = time(NULL); + const RsGxsId& gxs_id = entry.details.mId ; - bool is_id_banned = rsReputations->isIdentityBanned(gxs_id,entry.details.mPgpId) ; - bool is_own_id = (bool)(entry.details.mFlags & RS_IDENTITY_FLAGS_IS_OWN_ID) ; - bool is_known_id = (bool)(entry.details.mFlags & RS_IDENTITY_FLAGS_PGP_KNOWN) ; - bool is_signed_id = (bool)(entry.details.mFlags & RS_IDENTITY_FLAGS_PGP_LINKED) ; - bool is_a_contact = (bool)(entry.details.mFlags & RS_IDENTITY_FLAGS_IS_A_CONTACT) ; + bool is_id_banned = rsReputations->isIdentityBanned(gxs_id,entry.details.mPgpId) ; + bool is_own_id = (bool)(entry.details.mFlags & RS_IDENTITY_FLAGS_IS_OWN_ID) ; + bool is_known_id = (bool)(entry.details.mFlags & RS_IDENTITY_FLAGS_PGP_KNOWN) ; + bool is_signed_id = (bool)(entry.details.mFlags & RS_IDENTITY_FLAGS_PGP_LINKED) ; + bool is_a_contact = (bool)(entry.details.mFlags & RS_IDENTITY_FLAGS_IS_A_CONTACT) ; - std::cerr << "Identity: " << gxs_id << ": banned: " << is_id_banned << ", own: " << is_own_id << ", contact: " << is_a_contact << ", signed: " << is_signed_id << ", known: " << is_known_id; + std::cerr << "Identity: " << gxs_id << ": banned: " << is_id_banned << ", own: " << is_own_id << ", contact: " << is_a_contact << ", signed: " << is_signed_id << ", known: " << is_known_id; - if(is_own_id || is_a_contact) - { - std::cerr << " => kept" << std::endl; - return true ; - } + if(is_own_id || is_a_contact) + { + std::cerr << " => kept" << std::endl; + return true ; + } - std::map::const_iterator it = mLastUsageTS.find(gxs_id) ; + std::map::const_iterator it = mLastUsageTS.find(gxs_id) ; bool no_ts = (it == mLastUsageTS.end()) ; time_t last_usage_ts = no_ts?0:(it->second); - time_t max_keep_time ; + time_t max_keep_time ; if(no_ts) max_keep_time = 0 ; else if(is_id_banned) max_keep_time = MAX_KEEP_KEYS_BANNED ; - else if(is_known_id) - max_keep_time = MAX_KEEP_KEYS_SIGNED_KNOWN ; - else if(is_signed_id) - max_keep_time = MAX_KEEP_KEYS_SIGNED ; - else - max_keep_time = MAX_KEEP_KEYS_DEFAULT ; + else if(is_known_id) + max_keep_time = MAX_KEEP_KEYS_SIGNED_KNOWN ; + else if(is_signed_id) + max_keep_time = MAX_KEEP_KEYS_SIGNED ; + else + max_keep_time = MAX_KEEP_KEYS_DEFAULT ; - std::cerr << ". Max keep = " << max_keep_time/86400 << " days. Unused for " << (now - last_usage_ts + 86399)/86400 << " days " ; + std::cerr << ". Max keep = " << max_keep_time/86400 << " days. Unused for " << (now - last_usage_ts + 86399)/86400 << " days " ; - if(now > last_usage_ts + max_keep_time) - { - std::cerr << " => delete " << std::endl; - ids_to_delete.push_back(gxs_id) ; - } - else - std::cerr << " => keep " << std::endl; - - return true; + if(now > last_usage_ts + max_keep_time) + { + std::cerr << " => delete " << std::endl; + ids_to_delete.push_back(gxs_id) ; + } + else + std::cerr << " => keep " << std::endl; + + return true; } - + std::list ids_to_delete ; const std::map& mLastUsageTS; }; void p3IdService::cleanUnusedKeys() { - std::list ids_to_delete ; + std::list ids_to_delete ; - std::cerr << "Cleaning unused keys:" << std::endl; - - // we need to stash all ids to delete into an off-mutex structure since deleteIdentity() will trigger the lock - { - RS_STACK_MUTEX(mIdMtx) ; + std::cerr << "Cleaning unused keys:" << std::endl; - if(!mOwnIdsLoaded) - { - std::cerr << "(EE) Own ids not loaded. Cannot clean unused keys." << std::endl; - return ; - } + // we need to stash all ids to delete into an off-mutex structure since deleteIdentity() will trigger the lock + { + RS_STACK_MUTEX(mIdMtx) ; - // grab at most 10 identities to delete. No need to send too many requests to the token queue at once. - IdCacheEntryCleaner idcec(mKeysTS) ; + if(!mOwnIdsLoaded) + { + std::cerr << "(EE) Own ids not loaded. Cannot clean unused keys." << std::endl; + return ; + } - mKeyCache.applyToAllCachedEntries(idcec,&IdCacheEntryCleaner::processEntry); - - ids_to_delete = idcec.ids_to_delete ; - } - std::cerr << "Collected " << ids_to_delete.size() << " keys to delete among " << mKeyCache.size() << std::endl; - - for(std::list::const_iterator it(ids_to_delete.begin());it!=ids_to_delete.end();++it) - { - std::cerr << "Deleting identity " << *it << " which is too old." << std::endl; - uint32_t token ; - RsGxsIdGroup group; - group.mMeta.mGroupId=RsGxsGroupId(*it); - rsIdentity->deleteIdentity(token, group); + // grab at most 10 identities to delete. No need to send too many requests to the token queue at once. + IdCacheEntryCleaner idcec(mKeysTS) ; - { - RS_STACK_MUTEX(mIdMtx) ; - mKeysTS.erase(*it) ; - - // mPublicKeyCache.erase(*it) ; no need to do it now. It's done in p3IdService::deleteGroup() - } - } + mKeyCache.applyToAllCachedEntries(idcec,&IdCacheEntryCleaner::processEntry); + + ids_to_delete = idcec.ids_to_delete ; + } + std::cerr << "Collected " << ids_to_delete.size() << " keys to delete among " << mKeyCache.size() << std::endl; + + for(std::list::const_iterator it(ids_to_delete.begin());it!=ids_to_delete.end();++it) + { + std::cerr << "Deleting identity " << *it << " which is too old." << std::endl; + uint32_t token ; + RsGxsIdGroup group; + group.mMeta.mGroupId=RsGxsGroupId(*it); + rsIdentity->deleteIdentity(token, group); + + { + RS_STACK_MUTEX(mIdMtx) ; + mKeysTS.erase(*it) ; + + // mPublicKeyCache.erase(*it) ; no need to do it now. It's done in p3IdService::deleteGroup() + } + } } void p3IdService::service_tick() { - RsTickEvent::tick_events(); + RsTickEvent::tick_events(); GxsTokenQueue::checkRequests(); // GxsTokenQueue handles all requests. time_t now = time(NULL) ; @@ -427,67 +427,67 @@ void p3IdService::service_tick() cleanUnusedKeys() ; mLastKeyCleaningTime = now ; } - return; + return; } void p3IdService::notifyChanges(std::vector &changes) { #ifdef DEBUG_IDS - std::cerr << "p3IdService::notifyChanges()"; - std::cerr << std::endl; + std::cerr << "p3IdService::notifyChanges()"; + std::cerr << std::endl; #endif - /* iterate through and grab any new messages */ - std::list unprocessedGroups; + /* iterate through and grab any new messages */ + std::list unprocessedGroups; - std::vector::iterator it; - for(it = changes.begin(); it != changes.end(); ++it) - { - RsGxsGroupChange *groupChange = dynamic_cast(*it); - RsGxsMsgChange *msgChange = dynamic_cast(*it); - if (msgChange && !msgChange->metaChange()) - { + std::vector::iterator it; + for(it = changes.begin(); it != changes.end(); ++it) + { + RsGxsGroupChange *groupChange = dynamic_cast(*it); + RsGxsMsgChange *msgChange = dynamic_cast(*it); + if (msgChange && !msgChange->metaChange()) + { #ifdef DEBUG_IDS - std::cerr << "p3IdService::notifyChanges() Found Message Change Notification"; - std::cerr << std::endl; + std::cerr << "p3IdService::notifyChanges() Found Message Change Notification"; + std::cerr << std::endl; #endif - std::map > &msgChangeMap = msgChange->msgChangeMap; - std::map >::iterator mit; - for(mit = msgChangeMap.begin(); mit != msgChangeMap.end(); ++mit) - { + std::map > &msgChangeMap = msgChange->msgChangeMap; + std::map >::iterator mit; + for(mit = msgChangeMap.begin(); mit != msgChangeMap.end(); ++mit) + { #ifdef DEBUG_IDS - std::cerr << "p3IdService::notifyChanges() Msgs for Group: " << mit->first; - std::cerr << std::endl; + std::cerr << "p3IdService::notifyChanges() Msgs for Group: " << mit->first; + std::cerr << std::endl; #endif - } - } + } + } - /* shouldn't need to worry about groups - as they need to be subscribed to */ - if (groupChange && !groupChange->metaChange()) - { + /* shouldn't need to worry about groups - as they need to be subscribed to */ + if (groupChange && !groupChange->metaChange()) + { #ifdef DEBUG_IDS - std::cerr << "p3IdService::notifyChanges() Found Group Change Notification"; - std::cerr << std::endl; + std::cerr << "p3IdService::notifyChanges() Found Group Change Notification"; + std::cerr << std::endl; #endif - std::list &groupList = groupChange->mGrpIdList; - std::list::iterator git; - for(git = groupList.begin(); git != groupList.end(); ++git) - { + std::list &groupList = groupChange->mGrpIdList; + std::list::iterator git; + for(git = groupList.begin(); git != groupList.end(); ++git) + { #ifdef DEBUG_IDS - std::cerr << "p3IdService::notifyChanges() Auto Subscribe to Incoming Groups: " << *git; - std::cerr << std::endl; + std::cerr << "p3IdService::notifyChanges() Auto Subscribe to Incoming Groups: " << *git; + std::cerr << std::endl; #endif - uint32_t token; - RsGenExchange::subscribeToGroup(token, *git, true); + uint32_t token; + RsGenExchange::subscribeToGroup(token, *git, true); - } - } - } + } + } + } - RsGxsIfaceHelper::receiveChanges(changes); + RsGxsIfaceHelper::receiveChanges(changes); } /********************************************************************************/ @@ -497,7 +497,7 @@ void p3IdService::notifyChanges(std::vector &changes) #if 0 bool p3IdService:: getNickname(const RsGxsId &id, std::string &nickname) { - return false; + return false; } #endif @@ -510,41 +510,41 @@ time_t p3IdService::getLastUsageTS(const RsGxsId &id) bool p3IdService::getIdDetails(const RsGxsId &id, RsIdentityDetails &details) { #ifdef DEBUG_IDS - std::cerr << "p3IdService::getIdDetails(" << id << ")"; - std::cerr << std::endl; + std::cerr << "p3IdService::getIdDetails(" << id << ")"; + std::cerr << std::endl; #endif - { - RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + { + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - RsGxsIdCache data; + RsGxsIdCache data; - if (mKeyCache.fetch(id, data)) - { - details = data.details; - details.mLastUsageTS = locked_getLastUsageTS(id) ; + if (mKeyCache.fetch(id, data)) + { + details = data.details; + details.mLastUsageTS = locked_getLastUsageTS(id) ; - // one utf8 symbol can be at most 4 bytes long - would be better to measure real unicode length !!! - if(details.mNickname.length() > RSID_MAXIMUM_NICKNAME_SIZE*4) - details.mNickname = "[too long a name]" ; + // one utf8 symbol can be at most 4 bytes long - would be better to measure real unicode length !!! + if(details.mNickname.length() > RSID_MAXIMUM_NICKNAME_SIZE*4) + details.mNickname = "[too long a name]" ; - rsReputations->getReputationInfo(id,details.mPgpId,details.mReputation) ; + rsReputations->getReputationInfo(id,details.mPgpId,details.mReputation) ; - return true; - } - } + return true; + } + } - /* it isn't there - add to public requests */ - cache_request_load(id); + /* it isn't there - add to public requests */ + cache_request_load(id); - return false; + return false; } bool p3IdService::isBanned(const RsGxsId &id) { RsIdentityDetails det ; getIdDetails(id,det) ; - + #ifdef DEBUG_REPUTATION std::cerr << "isIdentityBanned(): returning " << (det.mReputation.mAssessment == RsReputations::ASSESSMENT_BAD) << " for GXS id " << id << std::endl; #endif @@ -575,108 +575,108 @@ bool p3IdService::getOwnIds(std::list &ownIds) bool p3IdService::createIdentity(uint32_t& token, RsIdentityParameters ¶ms) { - RsGxsIdGroup id; + RsGxsIdGroup id; id.mMeta.mGroupName = params.nickname; id.mImage = params.mImage; - if (params.isPgpLinked) - { - id.mMeta.mGroupFlags = RSGXSID_GROUPFLAG_REALID; - } - else - { - id.mMeta.mGroupFlags = 0; - } + if (params.isPgpLinked) + { + id.mMeta.mGroupFlags = RSGXSID_GROUPFLAG_REALID; + } + else + { + id.mMeta.mGroupFlags = 0; + } - createGroup(token, id); + createGroup(token, id); - return true; + return true; } bool p3IdService::updateIdentity(uint32_t& token, RsGxsIdGroup &group) { #ifdef DEBUG_IDS - std::cerr << "p3IdService::updateIdentity()"; - std::cerr << std::endl; + std::cerr << "p3IdService::updateIdentity()"; + std::cerr << std::endl; #endif - updateGroup(token, group); + updateGroup(token, group); - return false; + return false; } bool p3IdService::deleteIdentity(uint32_t& token, RsGxsIdGroup &group) { #ifdef DEBUG_IDS - std::cerr << "p3IdService::deleteIdentity()"; - std::cerr << std::endl; + std::cerr << "p3IdService::deleteIdentity()"; + std::cerr << std::endl; #endif - deleteGroup(token, group); + deleteGroup(token, group); - return false; + return false; } bool p3IdService::parseRecognTag(const RsGxsId &id, const std::string &nickname, - const std::string &tag, RsRecognTagDetails &details) + const std::string &tag, RsRecognTagDetails &details) { #ifdef DEBUG_RECOGN - std::cerr << "p3IdService::parseRecognTag()"; - std::cerr << std::endl; + std::cerr << "p3IdService::parseRecognTag()"; + std::cerr << std::endl; #endif - RsGxsRecognTagItem *tagitem = RsRecogn::extractTag(tag); - if (!tagitem) - { - return false; - } + RsGxsRecognTagItem *tagitem = RsRecogn::extractTag(tag); + if (!tagitem) + { + return false; + } - bool isPending = false; - bool isValid = recogn_checktag(id, nickname, tagitem, true, isPending); + bool isPending = false; + bool isValid = recogn_checktag(id, nickname, tagitem, true, isPending); - details.valid_from = tagitem->valid_from; - details.valid_to = tagitem->valid_to; - details.tag_class = tagitem->tag_class; - details.tag_type = tagitem->tag_type; - details.signer = tagitem->sign.keyId.toStdString(); + details.valid_from = tagitem->valid_from; + details.valid_to = tagitem->valid_to; + details.tag_class = tagitem->tag_class; + details.tag_type = tagitem->tag_type; + details.signer = tagitem->sign.keyId.toStdString(); - details.is_valid = isValid; - details.is_pending = isPending; + details.is_valid = isValid; + details.is_pending = isPending; - delete tagitem; + delete tagitem; - return true; + return true; } bool p3IdService::getRecognTagRequest(const RsGxsId &id, const std::string &comment, uint16_t tag_class, uint16_t tag_type, std::string &tag) { #ifdef DEBUG_RECOGN - std::cerr << "p3IdService::getRecognTagRequest()"; - std::cerr << std::endl; + std::cerr << "p3IdService::getRecognTagRequest()"; + std::cerr << std::endl; #endif - if(!isOwnId(id)) - { - std::cerr << "(EE) cannot retrieve own key to create tag request. KeyId=" << id << std::endl; - return false ; - } + if(!isOwnId(id)) + { + std::cerr << "(EE) cannot retrieve own key to create tag request. KeyId=" << id << std::endl; + return false ; + } - RsTlvPrivateRSAKey key; - std::string nickname; - RsGxsIdCache data ; + RsTlvPrivateRSAKey key; + std::string nickname; + RsGxsIdCache data ; - { - RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + { + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - if(!mKeyCache.fetch(id, data)) - return false ; + if(!mKeyCache.fetch(id, data)) + return false ; - nickname = data.details.mNickname ; - key = data.priv_key ; - } + nickname = data.details.mNickname ; + key = data.priv_key ; + } - return RsRecogn::createTagRequest(key, id, nickname, tag_class, tag_type, comment, tag); + return RsRecogn::createTagRequest(key, id, nickname, tag_class, tag_type, comment, tag); } @@ -687,60 +687,27 @@ bool p3IdService::getRecognTagRequest(const RsGxsId &id, const std::string &comm bool p3IdService::haveKey(const RsGxsId &id) { - RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - return mKeyCache.is_cached(id); + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + return mKeyCache.is_cached(id); } bool p3IdService::havePrivateKey(const RsGxsId &id) { if(! isOwnId(id)) return false ; - - RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - return mKeyCache.is_cached(id) ; -} -bool p3IdService::requestKey(const RsGxsId &id, const std::list& peers) -{ - if (haveKey(id)) - return true; - else - { - RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - - std::map >::iterator rit = mIdsNotPresent.find(id) ; - - if(rit != mIdsNotPresent.end()) - { - locked_mergeIdsToRequestFromNet(id,peers) ; - return true ; - } - } - - if(peers.empty()) - std::cerr << "(EE) empty peer list in ID request from net. This is bound to fail!" << std::endl; - - return cache_request_load(id, peers); -} - -bool p3IdService::isPendingNetworkRequest(const RsGxsId& gxsId) -{ RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - // if ids has beens confirmed as not physically present return - // immediately, id will be removed from list if found by auto nxs net search - if(mIdsNotPresent.find(gxsId) != mIdsNotPresent.end()) - return true; - - return false; + return mKeyCache.is_cached(id) ; } -void p3IdService::locked_mergeIdsToRequestFromNet(const RsGxsId& id,const std::list& peers) +static void mergeIds(std::map >& idmap,const RsGxsId& id,const std::list& peers) { // merge the two lists (I use a std::set to make it more efficient) - +#ifdef DEBUG_IDS std::cerr << "p3IdService::requestKey(): merging list with existing pending request." << std::endl; +#endif - std::list& old_peers(mIdsNotPresent[id]) ; // create if necessary + std::list& old_peers(idmap[id]) ; // create if necessary std::set new_peers ; for(std::list::const_iterator it(peers.begin());it!=peers.end();++it) @@ -755,28 +722,68 @@ void p3IdService::locked_mergeIdsToRequestFromNet(const RsGxsId& id,const std::l old_peers.push_back(*it) ; } +bool p3IdService::requestKey(const RsGxsId &id, const std::list& peers) +{ + if(id.isNull()) + { + std::cerr << "(EE) nul ID requested to p3IdService. This should not happen. Callstack:" << std::endl; + print_stacktrace(); + return false ; + } + + if (haveKey(id)) + return true; + else + { + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + + std::map >::iterator rit = mIdsNotPresent.find(id) ; + + if(rit != mIdsNotPresent.end()) + { + if(!peers.empty()) + mergeIds(mIdsNotPresent,id,peers) ; + + return true ; + } + } + + return cache_request_load(id, peers); +} + +bool p3IdService::isPendingNetworkRequest(const RsGxsId& gxsId) +{ + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + // if ids has beens confirmed as not physically present return + // immediately, id will be removed from list if found by auto nxs net search + if(mIdsNotPresent.find(gxsId) != mIdsNotPresent.end()) + return true; + + return false; +} + bool p3IdService::getKey(const RsGxsId &id, RsTlvPublicRSAKey &key) { - { - RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - RsGxsIdCache data; + { + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + RsGxsIdCache data; - if (mKeyCache.fetch(id, data)) - { - key = data.pub_key; - return true; - } - } + if (mKeyCache.fetch(id, data)) + { + key = data.pub_key; + return true; + } + } - cache_request_load(id); + cache_request_load(id); - key.keyId.clear() ; - return false; + key.keyId.clear() ; + return false; } bool p3IdService::requestPrivateKey(const RsGxsId &id) { - if (havePrivateKey(id)) + if (havePrivateKey(id)) return true; return cache_request_load(id); @@ -784,21 +791,21 @@ bool p3IdService::requestPrivateKey(const RsGxsId &id) bool p3IdService::getPrivateKey(const RsGxsId &id, RsTlvPrivateRSAKey &key) { - { - RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - RsGxsIdCache data; + { + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + RsGxsIdCache data; - if (mKeyCache.fetch(id, data)) - { - key = data.priv_key; - return true; - } - } + if (mKeyCache.fetch(id, data)) + { + key = data.priv_key; + return true; + } + } - key.keyId.clear() ; - cache_request_load(id); + key.keyId.clear() ; + cache_request_load(id); - return false ; + return false ; } @@ -821,7 +828,7 @@ bool p3IdService::signData(const uint8_t *data,uint32_t data_size,const RsGxsId& if(i == 6) { std::cerr << " (EE) Could not retrieve own private key for ID = " << own_gxs_id << ". Giging up sending DH session params. This should not happen." << std::endl; - error_status = RS_GIXS_ERROR_KEY_NOT_AVAILABLE ; + error_status = RS_GIXS_ERROR_KEY_NOT_AVAILABLE ; return false ; } @@ -832,7 +839,7 @@ bool p3IdService::signData(const uint8_t *data,uint32_t data_size,const RsGxsId& if(!GxsSecurity::getSignature((char *)data,data_size,signature_key,signature)) { std::cerr << " (EE) Cannot sign for id " << own_gxs_id << ". Signature call failed." << std::endl; - error_status = RS_GIXS_ERROR_UNKNOWN ; + error_status = RS_GIXS_ERROR_UNKNOWN ; return false ; } error_status = RS_GIXS_ERROR_NO_ERROR ; @@ -841,8 +848,8 @@ bool p3IdService::signData(const uint8_t *data,uint32_t data_size,const RsGxsId& } bool p3IdService::validateData(const uint8_t *data,uint32_t data_size,const RsTlvKeySignature& signature,bool force_load,uint32_t& signing_error) { - // RsIdentityDetails details ; - // getIdDetails(signature.keyId,details); + // RsIdentityDetails details ; + // getIdDetails(signature.keyId,details); RsTlvPublicRSAKey signature_key ; for(int i=0;i< (force_load?6:1);++i) @@ -945,65 +952,65 @@ bool p3IdService::decryptData(const uint8_t *encrypted_data,uint32_t encrypted_d bool p3IdService::haveReputation(const RsGxsId &id) { - return haveKey(id); + return haveKey(id); } bool p3IdService::loadReputation(const RsGxsId &id, const std::list& peers) { - if (haveKey(id)) - return true; - else - { - if(isPendingNetworkRequest(id)) - return true; - } + if (haveKey(id)) + return true; + else + { + if(isPendingNetworkRequest(id)) + return true; + } - return cache_request_load(id, peers); + return cache_request_load(id, peers); } bool p3IdService::getReputation(const RsGxsId &id, GixsReputation &rep) { - /* this is the key part for accepting messages */ + /* this is the key part for accepting messages */ - RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - RsGxsIdCache data; - - if (mKeyCache.fetch(id, data)) - { - rep.id = id; - rep.score = 0;//data.details.mReputation.mOverallScore; + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + RsGxsIdCache data; + + if (mKeyCache.fetch(id, data)) + { + rep.id = id; + rep.score = 0;//data.details.mReputation.mOverallScore; #ifdef DEBUG_IDS - std::cerr << "p3IdService::getReputation() id: "; - std::cerr << id.toStdString() << " score: " << - rep.score; - std::cerr << std::endl; + std::cerr << "p3IdService::getReputation() id: "; + std::cerr << id.toStdString() << " score: " << + rep.score; + std::cerr << std::endl; #endif - return true; - } - else - { + return true; + } + else + { #ifdef DEBUG_IDS - std::cerr << "p3IdService::getReputation() id: "; - std::cerr << id.toStdString() << " not cached"; - std::cerr << std::endl; + std::cerr << "p3IdService::getReputation() id: "; + std::cerr << id.toStdString() << " not cached"; + std::cerr << std::endl; #endif - } - return false; + } + return false; } #if 0 class RegistrationRequest { - public: - RegistrationRequest(uint32_t token, RsGxsId &id, int score) - :m_extToken(token), m_id(id), m_score(score) { return; } +public: + RegistrationRequest(uint32_t token, RsGxsId &id, int score) + :m_extToken(token), m_id(id), m_score(score) { return; } - uint32_t m_intToken; - uint32_t m_extToken; - RsGxsId m_id; - int m_score; + uint32_t m_intToken; + uint32_t m_extToken; + RsGxsId m_id; + int m_score; }; #endif @@ -1011,26 +1018,26 @@ class RegistrationRequest bool p3IdService::submitOpinion(uint32_t& token, const RsGxsId &id, bool absOpinion, int score) { #ifdef DEBUG_OPINION - std::cerr << "p3IdService::submitOpinion()"; - std::cerr << std::endl; + std::cerr << "p3IdService::submitOpinion()"; + std::cerr << std::endl; #endif - uint32_t ansType = RS_TOKREQ_ANSTYPE_SUMMARY; - RsTokReqOptions opts; - opts.mReqType = GXS_REQUEST_TYPE_GROUP_META; + uint32_t ansType = RS_TOKREQ_ANSTYPE_SUMMARY; + RsTokReqOptions opts; + opts.mReqType = GXS_REQUEST_TYPE_GROUP_META; - token = RsGenExchange::generatePublicToken(); + token = RsGenExchange::generatePublicToken(); - uint32_t intToken; - std::list groups; - groups.push_back(RsGxsGroupId(id)); + uint32_t intToken; + std::list groups; + groups.push_back(RsGxsGroupId(id)); - RsGenExchange::getTokenService()->requestGroupInfo(intToken, ansType, opts, groups); - GxsTokenQueue::queueRequest(intToken, GXSIDREQ_OPINION); + RsGenExchange::getTokenService()->requestGroupInfo(intToken, ansType, opts, groups); + GxsTokenQueue::queueRequest(intToken, GXSIDREQ_OPINION); - RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - mPendingOpinion[intToken] = OpinionRequest(token, id, absOpinion, score); - return true; + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + mPendingOpinion[intToken] = OpinionRequest(token, id, absOpinion, score); + return true; } @@ -1038,99 +1045,99 @@ bool p3IdService::submitOpinion(uint32_t& token, const RsGxsId &id, bool absOpin bool p3IdService::opinion_handlerequest(uint32_t token) { #ifdef DEBUG_OPINION - std::cerr << "p3IdService::opinion_handlerequest()"; - std::cerr << std::endl; + std::cerr << "p3IdService::opinion_handlerequest()"; + std::cerr << std::endl; #endif - OpinionRequest req; - { - RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + OpinionRequest req; + { + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - /* find in pendingReputation */ - std::map::iterator it; - it = mPendingOpinion.find(token); - if (it == mPendingOpinion.end()) - { - std::cerr << "p3IdService::opinion_handlerequest() ERROR finding PendingOpinion"; - std::cerr << std::endl; + /* find in pendingReputation */ + std::map::iterator it; + it = mPendingOpinion.find(token); + if (it == mPendingOpinion.end()) + { + std::cerr << "p3IdService::opinion_handlerequest() ERROR finding PendingOpinion"; + std::cerr << std::endl; - return false; - } - req = it->second; - mPendingOpinion.erase(it); - } + return false; + } + req = it->second; + mPendingOpinion.erase(it); + } #ifdef DEBUG_OPINION - std::cerr << "p3IdService::opinion_handlerequest() Id: " << req.mId << " score: " << req.mScore; - std::cerr << std::endl; + std::cerr << "p3IdService::opinion_handlerequest() Id: " << req.mId << " score: " << req.mScore; + std::cerr << std::endl; #endif - std::list groups; - std::list groupList; + std::list groups; + std::list groupList; - if (!getGroupMeta(token, groups)) - { - std::cerr << "p3IdService::opinion_handlerequest() ERROR getGroupMeta()"; - std::cerr << std::endl; + if (!getGroupMeta(token, groups)) + { + std::cerr << "p3IdService::opinion_handlerequest() ERROR getGroupMeta()"; + std::cerr << std::endl; - updatePublicRequestStatus(req.mToken, RsTokenService::GXS_REQUEST_V2_STATUS_FAILED); - return false; - } + updatePublicRequestStatus(req.mToken, RsTokenService::GXS_REQUEST_V2_STATUS_FAILED); + return false; + } - if (groups.size() != 1) - { - std::cerr << "p3IdService::opinion_handlerequest() ERROR group.size() != 1"; - std::cerr << std::endl; + if (groups.size() != 1) + { + std::cerr << "p3IdService::opinion_handlerequest() ERROR group.size() != 1"; + std::cerr << std::endl; - // error. - updatePublicRequestStatus(req.mToken, RsTokenService::GXS_REQUEST_V2_STATUS_FAILED); - return false; - } - RsGroupMetaData &meta = *(groups.begin()); + // error. + updatePublicRequestStatus(req.mToken, RsTokenService::GXS_REQUEST_V2_STATUS_FAILED); + return false; + } + RsGroupMetaData &meta = *(groups.begin()); - if (meta.mGroupId != RsGxsGroupId(req.mId)) - { - std::cerr << "p3IdService::opinion_handlerequest() ERROR Id mismatch"; - std::cerr << std::endl; + if (meta.mGroupId != RsGxsGroupId(req.mId)) + { + std::cerr << "p3IdService::opinion_handlerequest() ERROR Id mismatch"; + std::cerr << std::endl; - // error. - updatePublicRequestStatus(req.mToken, RsTokenService::GXS_REQUEST_V2_STATUS_FAILED); - return false; - } + // error. + updatePublicRequestStatus(req.mToken, RsTokenService::GXS_REQUEST_V2_STATUS_FAILED); + return false; + } - /* get the string */ - SSGxsIdGroup ssdata; - ssdata.load(meta.mServiceString); // attempt load - okay if fails. + /* get the string */ + SSGxsIdGroup ssdata; + ssdata.load(meta.mServiceString); // attempt load - okay if fails. - /* modify score */ - if (req.mAbsOpinion) - { - ssdata.score.rep.mOwnOpinion = req.mScore; - } - else - { - ssdata.score.rep.mOwnOpinion += req.mScore; - } + /* modify score */ + if (req.mAbsOpinion) + { + ssdata.score.rep.mOwnOpinion = req.mScore; + } + else + { + ssdata.score.rep.mOwnOpinion += req.mScore; + } - // update IdScore too. - bool pgpId = (meta.mGroupFlags & RSGXSID_GROUPFLAG_REALID); - ssdata.score.rep.updateIdScore(pgpId, ssdata.pgp.validatedSignature); - ssdata.score.rep.update(); + // update IdScore too. + bool pgpId = (meta.mGroupFlags & RSGXSID_GROUPFLAG_REALID); + ssdata.score.rep.updateIdScore(pgpId, ssdata.pgp.validatedSignature); + ssdata.score.rep.update(); - /* save string */ - std::string serviceString = ssdata.save(); + /* save string */ + std::string serviceString = ssdata.save(); #ifdef DEBUG_OPINION - std::cerr << "p3IdService::opinion_handlerequest() new service_string: " << serviceString; - std::cerr << std::endl; + std::cerr << "p3IdService::opinion_handlerequest() new service_string: " << serviceString; + std::cerr << std::endl; #endif - /* set new Group ServiceString */ - uint32_t dummyToken = 0; - setGroupServiceString(dummyToken, meta.mGroupId, serviceString); - cache_update_if_cached(RsGxsId(meta.mGroupId), serviceString); + /* set new Group ServiceString */ + uint32_t dummyToken = 0; + setGroupServiceString(dummyToken, meta.mGroupId, serviceString); + cache_update_if_cached(RsGxsId(meta.mGroupId), serviceString); - updatePublicRequestStatus(req.mToken, RsTokenService::GXS_REQUEST_V2_STATUS_COMPLETE); - return true; + updatePublicRequestStatus(req.mToken, RsTokenService::GXS_REQUEST_V2_STATUS_COMPLETE); + return true; } @@ -1140,82 +1147,82 @@ bool p3IdService::opinion_handlerequest(uint32_t token) RsSerialiser *p3IdService::setupSerialiser() { - RsSerialiser *rss = new RsSerialiser ; + RsSerialiser *rss = new RsSerialiser ; - rss->addSerialType(new RsGxsIdSerialiser()) ; - rss->addSerialType(new RsGeneralConfigSerialiser()); + rss->addSerialType(new RsGxsIdSerialiser()) ; + rss->addSerialType(new RsGeneralConfigSerialiser()); - return rss ; + return rss ; } bool p3IdService::getGroupData(const uint32_t &token, std::vector &groups) { - std::vector grpData; - bool ok = RsGenExchange::getGroupData(token, grpData); + std::vector grpData; + bool ok = RsGenExchange::getGroupData(token, grpData); - if(ok) - { - std::vector::iterator vit = grpData.begin(); + if(ok) + { + std::vector::iterator vit = grpData.begin(); - for(; vit != grpData.end(); ++vit) - { - RsGxsIdGroupItem* item = dynamic_cast(*vit); - if (item) - { + for(; vit != grpData.end(); ++vit) + { + RsGxsIdGroupItem* item = dynamic_cast(*vit); + if (item) + { #ifdef DEBUG_IDS - std::cerr << "p3IdService::getGroupData() Item is:"; - std::cerr << std::endl; - item->print(std::cerr); - std::cerr << std::endl; + std::cerr << "p3IdService::getGroupData() Item is:"; + std::cerr << std::endl; + item->print(std::cerr); + std::cerr << std::endl; #endif // DEBUG_IDS - RsGxsIdGroup group ; - item->toGxsIdGroup(group,false) ; + RsGxsIdGroup group ; + item->toGxsIdGroup(group,false) ; - { - RS_STACK_MUTEX(mIdMtx) ; - group.mLastUsageTS = locked_getLastUsageTS(RsGxsId(group.mMeta.mGroupId)) ; - } + { + RS_STACK_MUTEX(mIdMtx) ; + group.mLastUsageTS = locked_getLastUsageTS(RsGxsId(group.mMeta.mGroupId)) ; + } - // Decode information from serviceString. - SSGxsIdGroup ssdata; - if (ssdata.load(group.mMeta.mServiceString)) - { - group.mPgpKnown = ssdata.pgp.validatedSignature; - group.mPgpId = ssdata.pgp.pgpId; - group.mReputation = ssdata.score.rep; + // Decode information from serviceString. + SSGxsIdGroup ssdata; + if (ssdata.load(group.mMeta.mServiceString)) + { + group.mPgpKnown = ssdata.pgp.validatedSignature; + group.mPgpId = ssdata.pgp.pgpId; + group.mReputation = ssdata.score.rep; #ifdef DEBUG_IDS - std::cerr << "p3IdService::getGroupData() Success decoding ServiceString"; - std::cerr << std::endl; - std::cerr << "\t mGpgKnown: " << group.mPgpKnown; - std::cerr << std::endl; - std::cerr << "\t mGpgId: " << group.mPgpId; - std::cerr << std::endl; + std::cerr << "p3IdService::getGroupData() Success decoding ServiceString"; + std::cerr << std::endl; + std::cerr << "\t mGpgKnown: " << group.mPgpKnown; + std::cerr << std::endl; + std::cerr << "\t mGpgId: " << group.mPgpId; + std::cerr << std::endl; #endif // DEBUG_IDS - } - else - { - group.mPgpKnown = false; - group.mPgpId.clear(); + } + else + { + group.mPgpKnown = false; + group.mPgpId.clear(); - std::cerr << "p3IdService::getGroupData() Failed to decode ServiceString \"" - << group.mMeta.mServiceString << "\"" ; - std::cerr << std::endl; - } + std::cerr << "p3IdService::getGroupData() Failed to decode ServiceString \"" + << group.mMeta.mServiceString << "\"" ; + std::cerr << std::endl; + } - group.mIsAContact = (mContacts.find(RsGxsId(group.mMeta.mGroupId)) != mContacts.end()); + group.mIsAContact = (mContacts.find(RsGxsId(group.mMeta.mGroupId)) != mContacts.end()); - groups.push_back(group); - delete(item); - } - else - { - std::cerr << "Not a Id Item, deleting!" << std::endl; - delete(*vit); - } - } - } + groups.push_back(group); + delete(item); + } + else + { + std::cerr << "Not a Id Item, deleting!" << std::endl; + delete(*vit); + } + } + } - return ok; + return ok; } @@ -1236,91 +1243,91 @@ bool p3IdService::createGroup(uint32_t& token, RsGxsIdGroup &group) bool p3IdService::updateGroup(uint32_t& token, RsGxsIdGroup &group) { - RsGxsId id(group.mMeta.mGroupId); - RsGxsIdGroupItem* item = new RsGxsIdGroupItem(); - - item->fromGxsIdGroup(group,false) ; - -#ifdef DEBUG_IDS - std::cerr << "p3IdService::updateGroup() Updating RsGxsId: " << id; - std::cerr << std::endl; -#endif - - RsGenExchange::updateGroup(token, item); - - // if its in the cache - clear it. - { - RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - if (mKeyCache.erase(id)) - { -#ifdef DEBUG_IDS - std::cerr << "p3IdService::updateGroup() Removed from PublicKeyCache"; - std::cerr << std::endl; -#endif - } - else - { -#ifdef DEBUG_IDS - std::cerr << "p3IdService::updateGroup() Not in PublicKeyCache"; - std::cerr << std::endl; -#endif - } - } - - return true; -} - -bool p3IdService::deleteGroup(uint32_t& token, RsGxsIdGroup &group) -{ - RsGxsId id = RsGxsId(group.mMeta.mGroupId.toStdString()); + RsGxsId id(group.mMeta.mGroupId); RsGxsIdGroupItem* item = new RsGxsIdGroupItem(); item->fromGxsIdGroup(group,false) ; #ifdef DEBUG_IDS - std::cerr << "p3IdService::deleteGroup() Deleting RsGxsId: " << id; - std::cerr << std::endl; + std::cerr << "p3IdService::updateGroup() Updating RsGxsId: " << id; + std::cerr << std::endl; #endif - RsGenExchange::deleteGroup(token, item); + RsGenExchange::updateGroup(token, item); - // if its in the cache - clear it. - { - RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - if (mKeyCache.erase(id)) - { + // if its in the cache - clear it. + { + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + if (mKeyCache.erase(id)) + { #ifdef DEBUG_IDS - std::cerr << "p3IdService::deleteGroup() Removed from PublicKeyCache"; - std::cerr << std::endl; + std::cerr << "p3IdService::updateGroup() Removed from PublicKeyCache"; + std::cerr << std::endl; #endif - } - else - { + } + else + { #ifdef DEBUG_IDS - std::cerr << "p3IdService::deleteGroup() Not in PublicKeyCache"; - std::cerr << std::endl; + std::cerr << "p3IdService::updateGroup() Not in PublicKeyCache"; + std::cerr << std::endl; #endif - } + } + } - std::list::iterator lit = std::find( mOwnIds.begin(), mOwnIds.end(), id); - if (lit != mOwnIds.end()) - { - mOwnIds.remove((RsGxsId)*lit); - #ifdef DEBUG_IDS - std::cerr << "p3IdService::deleteGroup() Removed from OwnIds"; - std::cerr << std::endl; - #endif - } - else - { - #ifdef DEBUG_IDS - std::cerr << "p3IdService::deleteGroup() Not in OwnIds"; - std::cerr << std::endl; - #endif - } - } + return true; +} - return true; +bool p3IdService::deleteGroup(uint32_t& token, RsGxsIdGroup &group) +{ + RsGxsId id = RsGxsId(group.mMeta.mGroupId.toStdString()); + RsGxsIdGroupItem* item = new RsGxsIdGroupItem(); + + item->fromGxsIdGroup(group,false) ; + +#ifdef DEBUG_IDS + std::cerr << "p3IdService::deleteGroup() Deleting RsGxsId: " << id; + std::cerr << std::endl; +#endif + + RsGenExchange::deleteGroup(token, item); + + // if its in the cache - clear it. + { + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + if (mKeyCache.erase(id)) + { +#ifdef DEBUG_IDS + std::cerr << "p3IdService::deleteGroup() Removed from PublicKeyCache"; + std::cerr << std::endl; +#endif + } + else + { +#ifdef DEBUG_IDS + std::cerr << "p3IdService::deleteGroup() Not in PublicKeyCache"; + std::cerr << std::endl; +#endif + } + + std::list::iterator lit = std::find( mOwnIds.begin(), mOwnIds.end(), id); + if (lit != mOwnIds.end()) + { + mOwnIds.remove((RsGxsId)*lit); +#ifdef DEBUG_IDS + std::cerr << "p3IdService::deleteGroup() Removed from OwnIds"; + std::cerr << std::endl; +#endif + } + else + { +#ifdef DEBUG_IDS + std::cerr << "p3IdService::deleteGroup() Not in OwnIds"; + std::cerr << std::endl; +#endif + } + } + + return true; } /************************************************************************************/ @@ -1338,64 +1345,64 @@ bool p3IdService::deleteGroup(uint32_t& token, RsGxsIdGroup &group) bool SSGxsIdPgp::load(const std::string &input) { - char pgpline[RSGXSID_MAX_SERVICE_STRING]; - int timestamp = 0; - uint32_t attempts = 0; - if (1 == sscanf(input.c_str(), "K:1 I:%[^)]", pgpline)) - { - validatedSignature = true; - std::string str_line = pgpline; - pgpId = RsPgpId(str_line); - return true; - } - else if (3 == sscanf(input.c_str(), "K:0 T:%d C:%d I:%[^)]", ×tamp, &attempts,pgpline)) - { - lastCheckTs = timestamp; - checkAttempts = attempts; - validatedSignature = false; - std::string str_line = pgpline; - pgpId = RsPgpId(str_line); - return true; - } - else if (2 == sscanf(input.c_str(), "K:0 T:%d C:%d", ×tamp, &attempts)) - { - lastCheckTs = timestamp; - checkAttempts = attempts; - validatedSignature = false; - return true; - } - else if (1 == sscanf(input.c_str(), "K:0 T:%d", ×tamp)) - { - lastCheckTs = timestamp; - checkAttempts = 0; - validatedSignature = false; - return true; - } - else - { - lastCheckTs = 0; - checkAttempts = 0; - validatedSignature = false; - return false; - } + char pgpline[RSGXSID_MAX_SERVICE_STRING]; + int timestamp = 0; + uint32_t attempts = 0; + if (1 == sscanf(input.c_str(), "K:1 I:%[^)]", pgpline)) + { + validatedSignature = true; + std::string str_line = pgpline; + pgpId = RsPgpId(str_line); + return true; + } + else if (3 == sscanf(input.c_str(), "K:0 T:%d C:%d I:%[^)]", ×tamp, &attempts,pgpline)) + { + lastCheckTs = timestamp; + checkAttempts = attempts; + validatedSignature = false; + std::string str_line = pgpline; + pgpId = RsPgpId(str_line); + return true; + } + else if (2 == sscanf(input.c_str(), "K:0 T:%d C:%d", ×tamp, &attempts)) + { + lastCheckTs = timestamp; + checkAttempts = attempts; + validatedSignature = false; + return true; + } + else if (1 == sscanf(input.c_str(), "K:0 T:%d", ×tamp)) + { + lastCheckTs = timestamp; + checkAttempts = 0; + validatedSignature = false; + return true; + } + else + { + lastCheckTs = 0; + checkAttempts = 0; + validatedSignature = false; + return false; + } } std::string SSGxsIdPgp::save() const { - std::string output; - if (validatedSignature) - { - output += "K:1 I:"; - output += pgpId.toStdString(); - } - else - { - rs_sprintf(output, "K:0 T:%d C:%d", lastCheckTs, checkAttempts); - - if(!pgpId.isNull()) - output += " I:"+pgpId.toStdString(); - } - return output; + std::string output; + if (validatedSignature) + { + output += "K:1 I:"; + output += pgpId.toStdString(); + } + else + { + rs_sprintf(output, "K:0 T:%d C:%d", lastCheckTs, checkAttempts); + + if(!pgpId.isNull()) + output += " I:"+pgpId.toStdString(); + } + return output; } @@ -1407,80 +1414,80 @@ std::string SSGxsIdPgp::save() const bool SSGxsIdRecognTags::load(const std::string &input) { //char pgpline[RSGXSID_MAX_SERVICE_STRING]; - int pubTs = 0; - int lastTs = 0; - uint32_t flags = 0; + int pubTs = 0; + int lastTs = 0; + uint32_t flags = 0; - if (3 == sscanf(input.c_str(), "F:%u P:%d T:%d", &flags, &pubTs, &lastTs)) - { - publishTs = pubTs; - lastCheckTs = lastTs; - tagFlags = flags; - } - else - { - return false; - } - return true; + if (3 == sscanf(input.c_str(), "F:%u P:%d T:%d", &flags, &pubTs, &lastTs)) + { + publishTs = pubTs; + lastCheckTs = lastTs; + tagFlags = flags; + } + else + { + return false; + } + return true; } std::string SSGxsIdRecognTags::save() const { - std::string output; - rs_sprintf(output, "F:%u P:%d T:%d", tagFlags, publishTs, lastCheckTs); - return output; + std::string output; + rs_sprintf(output, "F:%u P:%d T:%d", tagFlags, publishTs, lastCheckTs); + return output; } bool SSGxsIdRecognTags::tagsProcessed() const { - return (tagFlags & 0x1000); + return (tagFlags & 0x1000); } bool SSGxsIdRecognTags::tagsPending() const { - return (tagFlags & 0x2000); + return (tagFlags & 0x2000); } bool SSGxsIdRecognTags::tagValid(int i) const { - uint32_t idx = 0x01 << i; + uint32_t idx = 0x01 << i; #ifdef DEBUG_RECOGN - std::cerr << "SSGxsIdRecognTags::tagValid(" << i << ") idx: " << idx; - std::cerr << " result: " << (tagFlags & idx); - std::cerr << std::endl; + std::cerr << "SSGxsIdRecognTags::tagValid(" << i << ") idx: " << idx; + std::cerr << " result: " << (tagFlags & idx); + std::cerr << std::endl; #endif // DEBUG_RECOGN - return (tagFlags & idx); + return (tagFlags & idx); } void SSGxsIdRecognTags::setTags(bool processed, bool pending, uint32_t flags) { - flags &= 0x00ff; // clear top bits; - if (processed) - { - flags |= 0x1000; - } - if (pending) - { - flags |= 0x2000; - } + flags &= 0x00ff; // clear top bits; + if (processed) + { + flags |= 0x1000; + } + if (pending) + { + flags |= 0x2000; + } #ifdef DEBUG_RECOGN - std::cerr << "SSGxsIdRecognTags::setTags(" << processed << "," << pending << "," << flags << ")"; - std::cerr << " tagFlags: " << tagFlags; - std::cerr << std::endl; + std::cerr << "SSGxsIdRecognTags::setTags(" << processed << "," << pending << "," << flags << ")"; + std::cerr << " tagFlags: " << tagFlags; + std::cerr << std::endl; #endif // DEBUG_RECOGN - tagFlags = flags; + tagFlags = flags; } GxsReputation::GxsReputation() -:mOverallScore(0), mIdScore(0), mOwnOpinion(0), mPeerOpinion(0) + :mOverallScore(0), mIdScore(0), mOwnOpinion(0), mPeerOpinion(0) { - updateIdScore(false, false); - update(); + updateIdScore(false, false); + update(); } static const int kIdReputationPgpKnownScore = 50; @@ -1489,186 +1496,186 @@ static const int kIdReputationAnonScore = 5; bool GxsReputation::updateIdScore(bool pgpLinked, bool pgpKnown) { - if (pgpLinked) - { - if (pgpKnown) - { - mIdScore = kIdReputationPgpKnownScore; - } - else - { - mIdScore = kIdReputationPgpUnknownScore; - } - } - else - { - mIdScore = kIdReputationAnonScore; - } - return true; + if (pgpLinked) + { + if (pgpKnown) + { + mIdScore = kIdReputationPgpKnownScore; + } + else + { + mIdScore = kIdReputationPgpUnknownScore; + } + } + else + { + mIdScore = kIdReputationAnonScore; + } + return true; } bool GxsReputation::update() { - mOverallScore = mIdScore + mOwnOpinion + mPeerOpinion; - return true; + mOverallScore = mIdScore + mOwnOpinion + mPeerOpinion; + return true; } bool SSGxsIdReputation::load(const std::string &input) { - return (4 == sscanf(input.c_str(), "%d %d %d %d", - &(rep.mOverallScore), &(rep.mIdScore), &(rep.mOwnOpinion), &(rep.mPeerOpinion))); + return (4 == sscanf(input.c_str(), "%d %d %d %d", + &(rep.mOverallScore), &(rep.mIdScore), &(rep.mOwnOpinion), &(rep.mPeerOpinion))); } std::string SSGxsIdReputation::save() const { - std::string output; - rs_sprintf(output, "%d %d %d %d", rep.mOverallScore, rep.mIdScore, rep.mOwnOpinion, rep.mPeerOpinion); - return output; + std::string output; + rs_sprintf(output, "%d %d %d %d", rep.mOverallScore, rep.mIdScore, rep.mOwnOpinion, rep.mPeerOpinion); + return output; } bool SSGxsIdCumulator::load(const std::string &input) { - return (4 == sscanf(input.c_str(), "%d %d %lf %lf", &count, &nullcount, &sum, &sumsq)); + return (4 == sscanf(input.c_str(), "%d %d %lf %lf", &count, &nullcount, &sum, &sumsq)); } std::string SSGxsIdCumulator::save() const { - std::string output; - rs_sprintf(output, "%d %d %lf %lf", count, nullcount, sum, sumsq); - return output; + std::string output; + rs_sprintf(output, "%d %d %lf %lf", count, nullcount, sum, sumsq); + return output; } bool SSGxsIdGroup::load(const std::string &input) { - char pgpstr[RSGXSID_MAX_SERVICE_STRING]; - char recognstr[RSGXSID_MAX_SERVICE_STRING]; - char scorestr[RSGXSID_MAX_SERVICE_STRING]; - - // split into parts. - if (3 != sscanf(input.c_str(), "v2 {P:%[^}]} {T:%[^}]} {R:%[^}]}", pgpstr, recognstr, scorestr)) - { -#ifdef DEBUG_IDS - std::cerr << "SSGxsIdGroup::load() Failed to extract 4 Parts"; - std::cerr << std::endl; -#endif // DEBUG_IDS - return false; - } + char pgpstr[RSGXSID_MAX_SERVICE_STRING]; + char recognstr[RSGXSID_MAX_SERVICE_STRING]; + char scorestr[RSGXSID_MAX_SERVICE_STRING]; - bool ok = true; - if (pgp.load(pgpstr)) - { + // split into parts. + if (3 != sscanf(input.c_str(), "v2 {P:%[^}]} {T:%[^}]} {R:%[^}]}", pgpstr, recognstr, scorestr)) + { #ifdef DEBUG_IDS - std::cerr << "SSGxsIdGroup::load() pgpstr: " << pgpstr; - std::cerr << std::endl; + std::cerr << "SSGxsIdGroup::load() Failed to extract 4 Parts"; + std::cerr << std::endl; #endif // DEBUG_IDS - } - else - { -#ifdef DEBUG_IDS - std::cerr << "SSGxsIdGroup::load() Invalid pgpstr: " << pgpstr; - std::cerr << std::endl; -#endif // DEBUG_IDS - ok = false; - } + return false; + } - if (recogntags.load(recognstr)) - { + bool ok = true; + if (pgp.load(pgpstr)) + { +#ifdef DEBUG_IDS + std::cerr << "SSGxsIdGroup::load() pgpstr: " << pgpstr; + std::cerr << std::endl; +#endif // DEBUG_IDS + } + else + { +#ifdef DEBUG_IDS + std::cerr << "SSGxsIdGroup::load() Invalid pgpstr: " << pgpstr; + std::cerr << std::endl; +#endif // DEBUG_IDS + ok = false; + } + + if (recogntags.load(recognstr)) + { #ifdef DEBUG_RECOGN - std::cerr << "SSGxsIdGroup::load() recognstr: " << recognstr; - std::cerr << std::endl; + std::cerr << "SSGxsIdGroup::load() recognstr: " << recognstr; + std::cerr << std::endl; #endif // DEBUG_RECOGN - } - else - { + } + else + { #ifdef DEBUG_RECOGN - std::cerr << "SSGxsIdGroup::load() Invalid recognstr: " << recognstr; - std::cerr << std::endl; + std::cerr << "SSGxsIdGroup::load() Invalid recognstr: " << recognstr; + std::cerr << std::endl; #endif // DEBUG_RECOGN - ok = false; - } + ok = false; + } - if (score.load(scorestr)) - { + if (score.load(scorestr)) + { #ifdef DEBUG_IDS - std::cerr << "SSGxsIdGroup::load() scorestr: " << scorestr; - std::cerr << std::endl; + std::cerr << "SSGxsIdGroup::load() scorestr: " << scorestr; + std::cerr << std::endl; #endif // DEBUG_IDS - } - else - { + } + else + { #ifdef DEBUG_IDS - std::cerr << "SSGxsIdGroup::load() Invalid scorestr: " << scorestr; - std::cerr << std::endl; + std::cerr << "SSGxsIdGroup::load() Invalid scorestr: " << scorestr; + std::cerr << std::endl; #endif // DEBUG_IDS - ok = false; - } + ok = false; + } #if 0 - if (opinion.load(opinionstr)) - { + if (opinion.load(opinionstr)) + { #ifdef DEBUG_IDS - std::cerr << "SSGxsIdGroup::load() opinionstr: " << opinionstr; - std::cerr << std::endl; + std::cerr << "SSGxsIdGroup::load() opinionstr: " << opinionstr; + std::cerr << std::endl; #endif // DEBUG_IDS - } - else - { + } + else + { #ifdef DEBUG_IDS - std::cerr << "SSGxsIdGroup::load() Invalid opinionstr: " << opinionstr; - std::cerr << std::endl; + std::cerr << "SSGxsIdGroup::load() Invalid opinionstr: " << opinionstr; + std::cerr << std::endl; #endif // DEBUG_IDS - ok = false; - } + ok = false; + } - if (reputation.load(repstr)) - { + if (reputation.load(repstr)) + { #ifdef DEBUG_IDS - std::cerr << "SSGxsIdGroup::load() repstr: " << repstr; - std::cerr << std::endl; + std::cerr << "SSGxsIdGroup::load() repstr: " << repstr; + std::cerr << std::endl; #endif // DEBUG_IDS - } - else - { + } + else + { #ifdef DEBUG_IDS - std::cerr << "SSGxsIdGroup::load() Invalid repstr: " << repstr; - std::cerr << std::endl; + std::cerr << "SSGxsIdGroup::load() Invalid repstr: " << repstr; + std::cerr << std::endl; #endif // DEBUG_IDS - ok = false; - } + ok = false; + } #endif #ifdef DEBUG_IDS - std::cerr << "SSGxsIdGroup::load() regurgitated: " << save(); - std::cerr << std::endl; + std::cerr << "SSGxsIdGroup::load() regurgitated: " << save(); + std::cerr << std::endl; - std::cerr << "SSGxsIdGroup::load() isOkay?: " << ok; - std::cerr << std::endl; + std::cerr << "SSGxsIdGroup::load() isOkay?: " << ok; + std::cerr << std::endl; #endif // DEBUG_IDS - return ok; + return ok; } std::string SSGxsIdGroup::save() const { - std::string output = "v2 "; + std::string output = "v2 "; - output += "{P:"; - output += pgp.save(); - output += "}"; + output += "{P:"; + output += pgp.save(); + output += "}"; - output += "{T:"; - output += recogntags.save(); - output += "}"; + output += "{T:"; + output += recogntags.save(); + output += "}"; - output += "{R:"; - output += score.save(); - output += "}"; + output += "{R:"; + output += score.save(); + output += "}"; - //std::cerr << "SSGxsIdGroup::save() output: " << output; - //std::cerr << std::endl; + //std::cerr << "SSGxsIdGroup::save() output: " << output; + //std::cerr << std::endl; - return output; + return output; } /************************************************************************************/ @@ -1705,258 +1712,258 @@ RsGxsIdCache::RsGxsIdCache(const RsGxsIdGroupItem *item, const RsTlvPublicRSAKey void RsGxsIdCache::init(const RsGxsIdGroupItem *item, const RsTlvPublicRSAKey& in_pub_key, const RsTlvPrivateRSAKey& in_priv_key,const std::list &tagList) { - // Save Keys. - pub_key = in_pub_key; - priv_key = in_priv_key; - - // Save Time for ServiceString comparisions. - mPublishTs = item->meta.mPublishTs; + // Save Keys. + pub_key = in_pub_key; + priv_key = in_priv_key; - // Save RecognTags. - mRecognTags = tagList; + // Save Time for ServiceString comparisions. + mPublishTs = item->meta.mPublishTs; - details.mAvatar.copy((uint8_t *) item->mImage.binData.bin_data, item->mImage.binData.bin_len); + // Save RecognTags. + mRecognTags = tagList; - // Fill in Details. - details.mNickname = item->meta.mGroupName; - details.mId = RsGxsId(item->meta.mGroupId); + details.mAvatar.copy((uint8_t *) item->mImage.binData.bin_data, item->mImage.binData.bin_len); + + // Fill in Details. + details.mNickname = item->meta.mGroupName; + details.mId = RsGxsId(item->meta.mGroupId); #ifdef DEBUG_IDS - std::cerr << "RsGxsIdCache::RsGxsIdCache() for: " << details.mId; - std::cerr << std::endl; + std::cerr << "RsGxsIdCache::RsGxsIdCache() for: " << details.mId; + std::cerr << std::endl; #endif // DEBUG_IDS - details.mFlags = 0 ; + details.mFlags = 0 ; - if(item->meta.mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_ADMIN) details.mFlags |= RS_IDENTITY_FLAGS_IS_OWN_ID; - if(item->meta.mGroupFlags & RSGXSID_GROUPFLAG_REALID) details.mFlags |= RS_IDENTITY_FLAGS_PGP_LINKED; + if(item->meta.mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_ADMIN) details.mFlags |= RS_IDENTITY_FLAGS_IS_OWN_ID; + if(item->meta.mGroupFlags & RSGXSID_GROUPFLAG_REALID) details.mFlags |= RS_IDENTITY_FLAGS_PGP_LINKED; - // do some tests - if(details.mFlags & RS_IDENTITY_FLAGS_IS_OWN_ID) - { - if(!priv_key.checkKey()) - std::cerr << "(EE) Private key missing for own identity " << pub_key.keyId << std::endl; - - } - if(!pub_key.checkKey()) - std::cerr << "(EE) Public key missing for identity " << pub_key.keyId << std::endl; - - if(!GxsSecurity::checkFingerprint(pub_key)) - details.mFlags |= RS_IDENTITY_FLAGS_IS_DEPRECATED; - - /* rest must be retrived from ServiceString */ - updateServiceString(item->meta.mServiceString); + // do some tests + if(details.mFlags & RS_IDENTITY_FLAGS_IS_OWN_ID) + { + if(!priv_key.checkKey()) + std::cerr << "(EE) Private key missing for own identity " << pub_key.keyId << std::endl; + + } + if(!pub_key.checkKey()) + std::cerr << "(EE) Public key missing for identity " << pub_key.keyId << std::endl; + + if(!GxsSecurity::checkFingerprint(pub_key)) + details.mFlags |= RS_IDENTITY_FLAGS_IS_DEPRECATED; + + /* rest must be retrived from ServiceString */ + updateServiceString(item->meta.mServiceString); } void RsGxsIdCache::updateServiceString(std::string serviceString) { - details.mRecognTags.clear(); + details.mRecognTags.clear(); - SSGxsIdGroup ssdata; - if (ssdata.load(serviceString)) - { - if (details.mFlags & RS_IDENTITY_FLAGS_PGP_LINKED) - { - if(ssdata.pgp.validatedSignature) details.mFlags |= RS_IDENTITY_FLAGS_PGP_KNOWN ; - - if (details.mFlags & RS_IDENTITY_FLAGS_PGP_LINKED) - details.mPgpId = ssdata.pgp.pgpId; - else - details.mPgpId.clear(); - } + SSGxsIdGroup ssdata; + if (ssdata.load(serviceString)) + { + if (details.mFlags & RS_IDENTITY_FLAGS_PGP_LINKED) + { + if(ssdata.pgp.validatedSignature) details.mFlags |= RS_IDENTITY_FLAGS_PGP_KNOWN ; + + if (details.mFlags & RS_IDENTITY_FLAGS_PGP_LINKED) + details.mPgpId = ssdata.pgp.pgpId; + else + details.mPgpId.clear(); + } - // process RecognTags. - if (ssdata.recogntags.tagsProcessed()) - { + // process RecognTags. + if (ssdata.recogntags.tagsProcessed()) + { #ifdef DEBUG_RECOGN - std::cerr << "RsGxsIdCache::updateServiceString() updating recogntags"; - std::cerr << std::endl; + std::cerr << "RsGxsIdCache::updateServiceString() updating recogntags"; + std::cerr << std::endl; #endif // DEBUG_RECOGN - if (ssdata.recogntags.publishTs == mPublishTs) - { - std::list::iterator it; - int i = 0; - for(it = mRecognTags.begin(); it != mRecognTags.end(); ++it, i++) - { - if (ssdata.recogntags.tagValid(i) && it->valid) - { + if (ssdata.recogntags.publishTs == mPublishTs) + { + std::list::iterator it; + int i = 0; + for(it = mRecognTags.begin(); it != mRecognTags.end(); ++it, i++) + { + if (ssdata.recogntags.tagValid(i) && it->valid) + { #ifdef DEBUG_RECOGN - std::cerr << "RsGxsIdCache::updateServiceString() Valid Tag: " << it->tag_class << ":" << it->tag_type; - std::cerr << std::endl; + std::cerr << "RsGxsIdCache::updateServiceString() Valid Tag: " << it->tag_class << ":" << it->tag_type; + std::cerr << std::endl; #endif // DEBUG_RECOGN - details.mRecognTags.push_back(*it); - } - else - { + details.mRecognTags.push_back(*it); + } + else + { #ifdef DEBUG_RECOGN - std::cerr << "RsGxsIdCache::updateServiceString() Invalid Tag: " << it->tag_class << ":" << it->tag_type; - std::cerr << std::endl; + std::cerr << "RsGxsIdCache::updateServiceString() Invalid Tag: " << it->tag_class << ":" << it->tag_type; + std::cerr << std::endl; #endif // DEBUG_RECOGN - } - } - } - else - { + } + } + } + else + { #ifdef DEBUG_RECOGN - std::cerr << "RsGxsIdCache::updateServiceString() recogntags old publishTs"; - std::cerr << std::endl; + std::cerr << "RsGxsIdCache::updateServiceString() recogntags old publishTs"; + std::cerr << std::endl; #endif // DEBUG_RECOGN - } + } - } - else - { + } + else + { #ifdef DEBUG_RECOGN - std::cerr << "RsGxsIdCache::updateServiceString() recogntags unprocessed"; - std::cerr << std::endl; + std::cerr << "RsGxsIdCache::updateServiceString() recogntags unprocessed"; + std::cerr << std::endl; #endif // DEBUG_RECOGN - } + } - // copy over Reputation scores. - //details.mReputation = ssdata.score.rep; - } - else - { - details.mFlags &= ~RS_IDENTITY_FLAGS_PGP_KNOWN ; - details.mPgpId.clear(); - //details.mReputation.updateIdScore(false, false); - //details.mReputation.update(); - } + // copy over Reputation scores. + //details.mReputation = ssdata.score.rep; + } + else + { + details.mFlags &= ~RS_IDENTITY_FLAGS_PGP_KNOWN ; + details.mPgpId.clear(); + //details.mReputation.updateIdScore(false, false); + //details.mReputation.update(); + } } bool p3IdService::recogn_extract_taginfo(const RsGxsIdGroupItem *item, std::list &tagItems) { #ifdef DEBUG_RECOGN - std::cerr << "p3IdService::recogn_extract_taginfo()"; - std::cerr << std::endl; + std::cerr << "p3IdService::recogn_extract_taginfo()"; + std::cerr << std::endl; #endif // DEBUG_RECOGN - /* process Recogn Tags */ + /* process Recogn Tags */ - std::list::const_iterator rit; - int count = 0; + std::list::const_iterator rit; + int count = 0; for(rit = item->mRecognTags.begin(); rit != item->mRecognTags.end(); ++rit) - { - if (++count > RSRECOGN_MAX_TAGINFO) - { + { + if (++count > RSRECOGN_MAX_TAGINFO) + { #ifdef DEBUG_RECOGN - std::cerr << "p3IdService::recogn_extract_taginfo() Too many tags."; - std::cerr << std::endl; + std::cerr << "p3IdService::recogn_extract_taginfo() Too many tags."; + std::cerr << std::endl; #endif // DEBUG_RECOGN - return true; - } + return true; + } - RsGxsRecognTagItem *tagitem = RsRecogn::extractTag(*rit); + RsGxsRecognTagItem *tagitem = RsRecogn::extractTag(*rit); - if (!tagitem) - { - continue; - } + if (!tagitem) + { + continue; + } #ifdef DEBUG_RECOGN - std::cerr << "p3IdService::recogn_extract_taginfo() Got TagItem: "; - std::cerr << std::endl; - tagitem->print(std::cerr); + std::cerr << "p3IdService::recogn_extract_taginfo() Got TagItem: "; + std::cerr << std::endl; + tagitem->print(std::cerr); #endif // DEBUG_RECOGN - tagItems.push_back(tagitem); - } - return true; + tagItems.push_back(tagitem); + } + return true; } bool p3IdService::cache_process_recogntaginfo(const RsGxsIdGroupItem *item, std::list &tagList) { - /* ServiceString decode */ - SSGxsIdGroup ssdata; - bool recognProcess = false; - if (ssdata.load(item->meta.mServiceString)) - { - if (!ssdata.recogntags.tagsProcessed()) - { + /* ServiceString decode */ + SSGxsIdGroup ssdata; + bool recognProcess = false; + if (ssdata.load(item->meta.mServiceString)) + { + if (!ssdata.recogntags.tagsProcessed()) + { #ifdef DEBUG_RECOGN - std::cerr << "p3IdService::cache_process_recogntaginfo() tags not processed"; - std::cerr << std::endl; + std::cerr << "p3IdService::cache_process_recogntaginfo() tags not processed"; + std::cerr << std::endl; #endif // DEBUG_RECOGN - /* we need to reprocess it */ - recognProcess = true; - } - else - { - if (item->meta.mPublishTs != ssdata.recogntags.publishTs) - { + /* we need to reprocess it */ + recognProcess = true; + } + else + { + if (item->meta.mPublishTs != ssdata.recogntags.publishTs) + { #ifdef DEBUG_RECOGN - std::cerr << "p3IdService::cache_process_recogntaginfo() publishTs old"; - std::cerr << std::endl; + std::cerr << "p3IdService::cache_process_recogntaginfo() publishTs old"; + std::cerr << std::endl; #endif // DEBUG_RECOGN - recognProcess = true; - } - else if (ssdata.recogntags.tagsPending()) - { + recognProcess = true; + } + else if (ssdata.recogntags.tagsPending()) + { #ifdef DEBUG_RECOGN - std::cerr << "p3IdService::cache_process_recogntaginfo() tagsPending"; - std::cerr << std::endl; + std::cerr << "p3IdService::cache_process_recogntaginfo() tagsPending"; + std::cerr << std::endl; #endif // DEBUG_RECOGN - /* reprocess once a day */ - recognProcess = true; - } - } - } - else - { + /* reprocess once a day */ + recognProcess = true; + } + } + } + else + { #ifdef DEBUG_RECOGN - std::cerr << "p3IdService::cache_process_recogntaginfo() ServiceString invalid"; - std::cerr << std::endl; + std::cerr << "p3IdService::cache_process_recogntaginfo() ServiceString invalid"; + std::cerr << std::endl; #endif // DEBUG_RECOGN - recognProcess = true; - } + recognProcess = true; + } - std::list tagItems; - std::list::iterator it; + std::list tagItems; + std::list::iterator it; - recogn_extract_taginfo(item, tagItems); + recogn_extract_taginfo(item, tagItems); //time_t now = time(NULL); - for(it = tagItems.begin(); it != tagItems.end(); ++it) - { - RsRecognTag info((*it)->tag_class, (*it)->tag_type, false); - bool isPending = false; - if (recogn_checktag(RsGxsId(item->meta.mGroupId.toStdString()), item->meta.mGroupName, *it, false, isPending)) - { - info.valid = true; - } + for(it = tagItems.begin(); it != tagItems.end(); ++it) + { + RsRecognTag info((*it)->tag_class, (*it)->tag_type, false); + bool isPending = false; + if (recogn_checktag(RsGxsId(item->meta.mGroupId.toStdString()), item->meta.mGroupName, *it, false, isPending)) + { + info.valid = true; + } #ifdef DEBUG_RECOGN - std::cerr << "p3IdService::cache_process_recogntaginfo() Adding Tag: "; - std::cerr << info.tag_class << ":"; - std::cerr << info.tag_type << ":"; - std::cerr << info.valid; - std::cerr << std::endl; + std::cerr << "p3IdService::cache_process_recogntaginfo() Adding Tag: "; + std::cerr << info.tag_class << ":"; + std::cerr << info.tag_type << ":"; + std::cerr << info.valid; + std::cerr << std::endl; #endif // DEBUG_RECOGN - tagList.push_back(info); - delete *it; - } + tagList.push_back(info); + delete *it; + } - if (recognProcess) - { - RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - mRecognGroupIds.push_back(item->meta.mGroupId); + if (recognProcess) + { + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + mRecognGroupIds.push_back(item->meta.mGroupId); #ifdef DEBUG_RECOGN - std::cerr << "p3IdService::cache_process_recogntaginfo() Reprocessing groupId: "; - std::cerr << item->meta.mGroupId; - std::cerr << std::endl; + std::cerr << "p3IdService::cache_process_recogntaginfo() Reprocessing groupId: "; + std::cerr << item->meta.mGroupId; + std::cerr << std::endl; #endif // DEBUG_RECOGN - recogn_schedule(); - } + recogn_schedule(); + } - return true; + return true; } // Loads in the cache the group data from the given group item, retrieved from sqlite storage. @@ -1964,74 +1971,74 @@ bool p3IdService::cache_process_recogntaginfo(const RsGxsIdGroupItem *item, std: bool p3IdService::cache_store(const RsGxsIdGroupItem *item) { #ifdef DEBUG_IDS - std::cerr << "p3IdService::cache_store() Item: " << item->meta.mGroupId; - std::cerr << std::endl; + std::cerr << "p3IdService::cache_store() Item: " << item->meta.mGroupId; + std::cerr << std::endl; #endif // DEBUG_IDS - //item->print(std::cerr, 0); NEEDS CONST!!!! TODO - //std::cerr << std::endl; + //item->print(std::cerr, 0); NEEDS CONST!!!! TODO + //std::cerr << std::endl; - /* extract key from keys */ - RsTlvSecurityKeySet keySet; - - RsTlvPublicRSAKey pubkey; - RsTlvPrivateRSAKey fullkey; - - bool pub_key_ok = false; - bool full_key_ok = false; + /* extract key from keys */ + RsTlvSecurityKeySet keySet; - RsGxsId id (item->meta.mGroupId.toStdString()); - - if (!getGroupKeys(RsGxsGroupId(id.toStdString()), keySet)) - { - std::cerr << "p3IdService::cache_store() ERROR getting GroupKeys for: "<< item->meta.mGroupId << std::endl; - return false; - } + RsTlvPublicRSAKey pubkey; + RsTlvPrivateRSAKey fullkey; - for (std::map::iterator kit = keySet.private_keys.begin(); kit != keySet.private_keys.end(); ++kit) - if (kit->second.keyFlags & RSTLV_KEY_DISTRIB_ADMIN) - { + bool pub_key_ok = false; + bool full_key_ok = false; + + RsGxsId id (item->meta.mGroupId.toStdString()); + + if (!getGroupKeys(RsGxsGroupId(id.toStdString()), keySet)) + { + std::cerr << "p3IdService::cache_store() ERROR getting GroupKeys for: "<< item->meta.mGroupId << std::endl; + return false; + } + + for (std::map::iterator kit = keySet.private_keys.begin(); kit != keySet.private_keys.end(); ++kit) + if (kit->second.keyFlags & RSTLV_KEY_DISTRIB_ADMIN) + { #ifdef DEBUG_IDS - std::cerr << "p3IdService::cache_store() Found Admin Key" << std::endl; + std::cerr << "p3IdService::cache_store() Found Admin Key" << std::endl; #endif - fullkey = kit->second; - full_key_ok = true; - } - for (std::map::iterator kit = keySet.public_keys.begin(); kit != keySet.public_keys.end(); ++kit) - if (kit->second.keyFlags & RSTLV_KEY_DISTRIB_ADMIN) - { + fullkey = kit->second; + full_key_ok = true; + } + for (std::map::iterator kit = keySet.public_keys.begin(); kit != keySet.public_keys.end(); ++kit) + if (kit->second.keyFlags & RSTLV_KEY_DISTRIB_ADMIN) + { #ifdef DEBUG_IDS - std::cerr << "p3IdService::cache_store() Found Admin public Key" << std::endl; + std::cerr << "p3IdService::cache_store() Found Admin public Key" << std::endl; #endif - pubkey = kit->second; - pub_key_ok = true ; - } - - assert(!( pubkey.keyFlags & RSTLV_KEY_TYPE_FULL)) ; - assert(!full_key_ok || (fullkey.keyFlags & RSTLV_KEY_TYPE_FULL)) ; + pubkey = kit->second; + pub_key_ok = true ; + } - if (!pub_key_ok) - { - std::cerr << "p3IdService::cache_store() ERROR No Public Key Found"; - std::cerr << std::endl; - return false; - } + assert(!( pubkey.keyFlags & RSTLV_KEY_TYPE_FULL)) ; + assert(!full_key_ok || (fullkey.keyFlags & RSTLV_KEY_TYPE_FULL)) ; - // extract tags. - std::list tagList; - cache_process_recogntaginfo(item, tagList); + if (!pub_key_ok) + { + std::cerr << "p3IdService::cache_store() ERROR No Public Key Found"; + std::cerr << std::endl; + return false; + } - RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + // extract tags. + std::list tagList; + cache_process_recogntaginfo(item, tagList); - // Create Cache Data. - RsGxsIdCache keycache(item, pubkey, fullkey,tagList); - - if(mContacts.find(id) != mContacts.end()) - keycache.details.mFlags |= RS_IDENTITY_FLAGS_IS_A_CONTACT; + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - mKeyCache.store(id, keycache); - mKeyCache.resize(); + // Create Cache Data. + RsGxsIdCache keycache(item, pubkey, fullkey,tagList); - return true; + if(mContacts.find(id) != mContacts.end()) + keycache.details.mFlags |= RS_IDENTITY_FLAGS_IS_A_CONTACT; + + mKeyCache.store(id, keycache); + mKeyCache.resize(); + + return true; } @@ -2046,122 +2053,128 @@ bool p3IdService::cache_request_load(const RsGxsId &id, const std::list 0) - { - /* its already scheduled */ - return true; - } + mergeIds(mCacheLoad_ToCache,id,peers) ; // merge, even if peers is empty + } - int32_t age = 0; - if (RsTickEvent::prev_event_ago(GXSID_EVENT_CACHELOAD, age)) - { - if (age < MIN_CYCLE_GAP) - { - RsTickEvent::schedule_in(GXSID_EVENT_CACHELOAD, MIN_CYCLE_GAP - age); - return true; - } - } + if (RsTickEvent::event_count(GXSID_EVENT_CACHELOAD) > 0) + { + /* its already scheduled */ + return true; + } - RsTickEvent::schedule_now(GXSID_EVENT_CACHELOAD); - return true; + int32_t age = 0; + if (RsTickEvent::prev_event_ago(GXSID_EVENT_CACHELOAD, age)) + { + if (age < MIN_CYCLE_GAP) + { + RsTickEvent::schedule_in(GXSID_EVENT_CACHELOAD, MIN_CYCLE_GAP - age); + return true; + } + } + + RsTickEvent::schedule_now(GXSID_EVENT_CACHELOAD); + return true; } bool p3IdService::cache_start_load() { - /* trigger request to load missing ids into cache */ - std::list groupIds; - { - RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + /* trigger request to load missing ids into cache */ + std::list groupIds; + { + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ - /* now we process the modGroupList -> a map so we can use it easily later, and create id list too */ - std::map >::iterator it; - for(it = mCacheLoad_ToCache.begin(); it != mCacheLoad_ToCache.end(); ++it) - { + /* now we process the modGroupList -> a map so we can use it easily later, and create id list too */ + std::map >::iterator it; + for(it = mCacheLoad_ToCache.begin(); it != mCacheLoad_ToCache.end(); ++it) + { #ifdef DEBUG_IDS - std::cerr << "p3IdService::cache_start_load() GroupId: " << it->first; - std::cerr << std::endl; + std::cerr << "p3IdService::cache_start_load() GroupId: " << it->first; + std::cerr << std::endl; #endif // DEBUG_IDS - groupIds.push_back(RsGxsGroupId(it->first.toStdString())); // might need conversion? - } + groupIds.push_back(RsGxsGroupId(it->first)); // might need conversion? + } - mPendingCache.insert(mCacheLoad_ToCache.begin(), mCacheLoad_ToCache.end()); - mCacheLoad_ToCache.clear(); - } + for(std::map >::const_iterator it(mCacheLoad_ToCache.begin());it!=mCacheLoad_ToCache.end();++it) + mergeIds(mPendingCache,it->first,it->second) ; - if (groupIds.size() > 0) - { + mCacheLoad_ToCache.clear(); + } + + if (groupIds.size() > 0) + { #ifdef DEBUG_IDS - std::cerr << "p3IdService::cache_start_load() #Groups: " << groupIds.size(); - std::cerr << std::endl; + std::cerr << "p3IdService::cache_start_load() #Groups: " << groupIds.size(); + std::cerr << std::endl; #endif // DEBUG_IDS - uint32_t ansType = RS_TOKREQ_ANSTYPE_DATA; - RsTokReqOptions opts; - opts.mReqType = GXS_REQUEST_TYPE_GROUP_DATA; - uint32_t token = 0; - - RsGenExchange::getTokenService()->requestGroupInfo(token, ansType, opts, groupIds); - GxsTokenQueue::queueRequest(token, GXSIDREQ_CACHELOAD); - } - return 1; + uint32_t ansType = RS_TOKREQ_ANSTYPE_DATA; + RsTokReqOptions opts; + opts.mReqType = GXS_REQUEST_TYPE_GROUP_DATA; + uint32_t token = 0; + + RsGenExchange::getTokenService()->requestGroupInfo(token, ansType, opts, groupIds); + GxsTokenQueue::queueRequest(token, GXSIDREQ_CACHELOAD); + } + return 1; } bool p3IdService::cache_load_for_token(uint32_t token) { #ifdef DEBUG_IDS - std::cerr << "p3IdService::cache_load_for_token() : " << token; - std::cerr << std::endl; + std::cerr << "p3IdService::cache_load_for_token() : " << token; + std::cerr << std::endl; #endif // DEBUG_IDS - std::vector grpData; - bool ok = RsGenExchange::getGroupData(token, grpData); + std::vector grpData; + bool ok = RsGenExchange::getGroupData(token, grpData); - if(ok) - { - std::vector::iterator vit = grpData.begin(); + if(ok) + { + std::vector::iterator vit = grpData.begin(); - for(; vit != grpData.end(); ++vit) - { - RsGxsIdGroupItem* item = dynamic_cast(*vit); - if (!item) - { - std::cerr << "Not a RsGxsIdGroupItem Item, deleting!" << std::endl; - delete(*vit); - continue; - } + for(; vit != grpData.end(); ++vit) + { + RsGxsIdGroupItem* item = dynamic_cast(*vit); + if (!item) + { + std::cerr << "Not a RsGxsIdGroupItem Item, deleting!" << std::endl; + delete(*vit); + continue; + } #ifdef DEBUG_IDS - std::cerr << "p3IdService::cache_load_for_token() Loaded Id with Meta: "; - std::cerr << item->meta; - std::cerr << std::endl; + std::cerr << "p3IdService::cache_load_for_token() Loaded Id with Meta: "; + std::cerr << item->meta; + std::cerr << std::endl; #endif // DEBUG_IDS - { + { // remove identities that are present - RsStackMutex stack(mIdMtx); - mPendingCache.erase(RsGxsId(item->meta.mGroupId.toStdString())); - } + RsStackMutex stack(mIdMtx); + mPendingCache.erase(RsGxsId(item->meta.mGroupId.toStdString())); + } - /* cache the data */ - cache_store(item); - delete item; - } + /* cache the data */ + cache_store(item); + delete item; + } - { - // now store identities that aren't present + { + // now store identities that aren't present - RsStackMutex stack(mIdMtx); + RsStackMutex stack(mIdMtx); + + // No need to merge empty peers since the request would fail. for(std::map >::const_iterator itt(mPendingCache.begin());itt!=mPendingCache.end();++itt) - locked_mergeIdsToRequestFromNet(itt->first,itt->second) ; + if(!itt->second.empty()) + mergeIds(mIdsNotPresent,itt->first,itt->second) ; mPendingCache.clear(); diff --git a/libretroshare/src/services/p3idservice.h b/libretroshare/src/services/p3idservice.h index ff83f0926..160b61cb1 100644 --- a/libretroshare/src/services/p3idservice.h +++ b/libretroshare/src/services/p3idservice.h @@ -351,7 +351,6 @@ private: bool cache_update_if_cached(const RsGxsId &id, std::string serviceString); bool isPendingNetworkRequest(const RsGxsId& gxsId); - void locked_mergeIdsToRequestFromNet(const RsGxsId& id,const std::list& peers); void requestIdsFromNet(); // Mutex protected. From 71168c7a00b10f7545adf643ab8784f8feb8a4f6 Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 15 Jul 2016 22:47:35 -0400 Subject: [PATCH 051/158] drop net ID request when peer list is empty --- libretroshare/src/services/p3idservice.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index 2aa554e4e..3914a3ce9 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -2230,7 +2230,7 @@ void p3IdService::requestIdsFromNet() #endif } - if(request_can_proceed) + if(request_can_proceed || peers.empty()) { std::map >::iterator tmp(cit); ++tmp ; @@ -2239,7 +2239,7 @@ void p3IdService::requestIdsFromNet() } else { - std::cerr << "(EE) empty online peers list in ID request for groupId " << cit->first << ". This is not going to work! Keeping it until peers show up."<< std::endl; + std::cerr << "(EE) no online peers among supply list in ID request for groupId " << cit->first << ". Keeping it until peers show up."<< std::endl; ++cit ; } } From 95202d648b5fa457a65c9c2922b8cb6c8cf09543 Mon Sep 17 00:00:00 2001 From: csoler Date: Sat, 16 Jul 2016 18:26:04 -0400 Subject: [PATCH 052/158] removed possible double free() of buf in parse_headers (suggestion by GuessWho) --- openpgpsdk/src/openpgpsdk/reader_armoured.c | 1 + 1 file changed, 1 insertion(+) diff --git a/openpgpsdk/src/openpgpsdk/reader_armoured.c b/openpgpsdk/src/openpgpsdk/reader_armoured.c index 361bfc62b..44ed56592 100644 --- a/openpgpsdk/src/openpgpsdk/reader_armoured.c +++ b/openpgpsdk/src/openpgpsdk/reader_armoured.c @@ -577,6 +577,7 @@ static int parse_headers(dearmour_arg_t *arg,ops_error_t **errors, if (nbuf == NULL) { free(buf); + buf = NULL ; rtn=-1; goto end; } From 713deac7582cde19764b7f528668ea83b0f9894d Mon Sep 17 00:00:00 2001 From: csoler Date: Sat, 16 Jul 2016 18:39:36 -0400 Subject: [PATCH 053/158] time-stamping newly received GXS ids --- libretroshare/src/services/p3gxscircles.cc | 5 +++++ libretroshare/src/services/p3idservice.cc | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/libretroshare/src/services/p3gxscircles.cc b/libretroshare/src/services/p3gxscircles.cc index 1744a71b0..b36dc141e 100644 --- a/libretroshare/src/services/p3gxscircles.cc +++ b/libretroshare/src/services/p3gxscircles.cc @@ -1054,6 +1054,11 @@ bool p3GxsCircles::locked_processLoadingCacheEntry(RsGxsCircleCache& cache) std::cerr << "Processing External Circle " << cache.mCircleId << std::endl; #endif + // Do we actually need to retrieve the missing keys for all members of a circle??? + // These keys are needed for subscribtion request signature checking. But this is only + // when a subscription msg is posted, which would trigger retrieval of the key anyway + // Maybe this can be made an option of p3GxsCircles, or of rsIdentity. + // need to trigger the searches. for(std::map::iterator pit = cache.mMembershipStatus.begin(); pit != cache.mMembershipStatus.end(); ++pit) { diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index 3914a3ce9..0e4062520 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -483,6 +483,10 @@ void p3IdService::notifyChanges(std::vector &changes) uint32_t token; RsGenExchange::subscribeToGroup(token, *git, true); + // also time_stamp the key that this group represents + + std::cerr << "(II) time-stamping new received GXS ID " << *git << std::endl; + timeStampKey(RsGxsId(*git)) ; } } } From 5e1ecf3ad132b238252e5ac212a831ff805b0c45 Mon Sep 17 00:00:00 2001 From: Gio Date: Mon, 18 Jul 2016 13:49:21 +0200 Subject: [PATCH 054/158] By default disable libresapilocalserver at compile time because it depends on Qt --- retroshare.pri | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare.pri b/retroshare.pri index 76f68bbed..827aa89fd 100644 --- a/retroshare.pri +++ b/retroshare.pri @@ -1,6 +1,6 @@ # To {dis,en}able libresapi via local socket (unix domain socket or windows named pipes) # {,un}comment the following line -CONFIG *= libresapilocalserver +#CONFIG *= libresapilocalserver # Gxs is always enabled now. DEFINES *= RS_ENABLE_GXS From b4a10749f40a8dc4270c01bf4e98767601c09a2f Mon Sep 17 00:00:00 2001 From: Gio Date: Mon, 18 Jul 2016 18:51:27 +0200 Subject: [PATCH 055/158] Disable stacktrace for android as execinfo.h is not available --- libretroshare/src/util/stacktrace.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libretroshare/src/util/stacktrace.h b/libretroshare/src/util/stacktrace.h index b535e34f9..2df273071 100644 --- a/libretroshare/src/util/stacktrace.h +++ b/libretroshare/src/util/stacktrace.h @@ -25,7 +25,7 @@ #include -#ifndef WINDOWS_SYS +#if !defined(WINDOWS_SYS) && !defined(__ANDROID__) #include #include @@ -110,13 +110,13 @@ static inline void print_stacktrace(FILE *out = stderr, unsigned int max_frames free(symbollist); } -#else // WINDOWS_SYS +#else // !defined(WINDOWS_SYS) && !defined(__ANDROID__) static inline void print_stacktrace(FILE *out = stderr, unsigned int max_frames = 63) { (void) max_frames; - fprintf(out, "TODO: 2016/01/01 print_stacktrace not implemented yet for WINDOWS_SYS\n"); + fprintf(out, "TODO: 2016/01/01 print_stacktrace not implemented yet for WINDOWS_SYS and ANDROID\n"); } -#endif // WINDOWS_SYS +#endif // !defined(WINDOWS_SYS) && !defined(__ANDROID__) #endif // _STACKTRACE_H_ From ac9d568c8c57f2c120f4a51475802e4d6a29fb68 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 18 Jul 2016 21:48:29 -0400 Subject: [PATCH 056/158] updated ubuntu changelog --- build_scripts/Debian+Ubuntu/changelog | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/build_scripts/Debian+Ubuntu/changelog b/build_scripts/Debian+Ubuntu/changelog index 22357aac9..2a5e8695b 100644 --- a/build_scripts/Debian+Ubuntu/changelog +++ b/build_scripts/Debian+Ubuntu/changelog @@ -1,5 +1,52 @@ retroshare06 (0.6.0-1.XXXXXX~YYYYYY) YYYYYY; urgency=low + 713deac csoler Sat, 16 Jul 2016 18:39:36 -0400 time-stamping newly received GXS ids + 95202d6 csoler Sat, 16 Jul 2016 18:26:04 -0400 removed possible double free() of buf in parse_headers (suggestion by GuessWho) + 71168c7 csoler Fri, 15 Jul 2016 22:47:35 -0400 drop net ID request when peer list is empty + 8fdd255 csoler Fri, 15 Jul 2016 22:28:36 -0400 improved strategy for merging pending ID load requests, fixing bug in previous commit + 59d0859 csoler Fri, 15 Jul 2016 22:25:15 -0400 fixed compilation in tests + 9fd44a5 csoler Fri, 15 Jul 2016 19:28:54 -0400 Merge pull request #437 from PhenomRetroShare/Fix_UnitTests + 9126076 csoler Fri, 15 Jul 2016 17:09:22 -0400 removed debug info in p3IdService and RsGxsNetService + 90dfc6e csoler Fri, 15 Jul 2016 16:59:57 -0400 improved explicit requests of missing GXS ids, also fixing situations where empty peers lists would wipe out pe + 3152eca Phenom Fri, 15 Jul 2016 15:03:41 +0200 Fix UnitTests and run it in windows too. + 8ccfee2 csoler Tue, 12 Jul 2016 22:49:21 -0400 Merge pull request #434 from csoler/v0.6-LocalCircles + c555300 csoler Tue, 12 Jul 2016 22:45:23 -0400 fixed merging with upstream + c7e60d0 csoler Tue, 12 Jul 2016 22:42:19 -0400 removed debug info in rsgxsnetservice + ed523e8 csoler Mon, 11 Jul 2016 22:44:15 -0400 fixed backend for locl circles + 931c3df csoler Mon, 11 Jul 2016 21:33:09 -0400 fixed display of group node restriction in GxsGroupDialog and info + a7d82cf csoler Mon, 11 Jul 2016 18:44:52 -0400 delete GXS IDs with no TS + 45b189c csoler Mon, 11 Jul 2016 18:30:12 -0400 removed EXTERNAL/PERSONNAL options from GxsCircleChooser + 951f29f csoler Sun, 10 Jul 2016 23:00:47 -0400 removed debug info in rsDataService + 95915fa csoler Sun, 10 Jul 2016 22:46:37 -0400 removed cross deadlock between p3GxsReputation and p3IdService + d089e2e csoler Sat, 9 Jul 2016 18:06:59 -0400 added a GroupChooser class to choose groups of friend nodes + 0125f91 csoler Wed, 6 Jul 2016 22:36:59 -0400 fixed deserialise bug in FileItem + a69629c csoler Wed, 6 Jul 2016 22:16:05 -0400 added missing own id from group list, and removed possible duplicates in random group ids + 269f945 csoler Wed, 6 Jul 2016 22:02:56 -0400 fixed load/save of new group ids and backward compatibility with FriendList + 01c0d2f csoler Tue, 5 Jul 2016 23:49:43 -0400 finished conversion to RsNodeGroupId for file transfer and GUI + 1c277ab csoler Tue, 5 Jul 2016 23:47:55 -0400 Merge pull request #433 from csoler/v0.6-SqlCache + 4ee9eff csoler Mon, 4 Jul 2016 23:55:48 -0400 changed internal storage of groups of friend nodes so as to use an abstract ID instead of a string (phase 1 of l + 42f2210 csoler Sun, 3 Jul 2016 23:15:05 -0400 removed debug info in IdDialog + 218ca45 csoler Sun, 3 Jul 2016 23:12:56 -0400 removed some debug info in rsdataservice + 09ad539 csoler Sun, 3 Jul 2016 22:02:23 -0400 fixed red color in IdDialog + 9f9f021 csoler Sun, 3 Jul 2016 22:02:04 -0400 remved debug output in udlstck + c98416d csoler Sun, 3 Jul 2016 18:59:30 -0400 added auto-cleaning of reputation info for outdated/removed identities + bf28ea7 csoler Sun, 3 Jul 2016 18:49:02 -0400 removed debug info in udpstack.cc + 692293e csoler Sun, 3 Jul 2016 18:12:50 -0400 added red color to banned identities in IdDialog + e611b2b csoler Sun, 3 Jul 2016 18:06:01 -0400 moved isIdentitybanned from p3GxsReputations to p3IdService, so as to avoid calling back p3IdService from p3GxsR + 720c6fd csoler Sat, 2 Jul 2016 22:41:12 -0400 fixed bug causing TS update of some unused identities + 86d8f01 csoler Fri, 1 Jul 2016 23:38:10 -0400 added a local cache in rsdataservice to avoid calling sqlcipher on GrpMetaData + cdd2c1f csoler Thu, 30 Jun 2016 16:50:35 -0400 Merge pull request #432 from G10h4ck/master + da4c563 Gio Thu, 30 Jun 2016 22:03:22 +0200 Fix typo in libresapi documentation + 0206c65 csoler Thu, 30 Jun 2016 15:06:41 -0400 added missing else in display of forum anti-spam message + 2dfe116 csoler Thu, 30 Jun 2016 14:21:54 -0400 added compilation flag for profiling in GUI + ef95451 csoler Tue, 28 Jun 2016 21:16:31 -0400 updated changelog + 440390e csoler Thu, 30 Jun 2016 14:21:11 -0400 Merge pull request #431 from csoler/v0.6-SignedForums3 + ba50028 csoler Thu, 30 Jun 2016 14:16:45 -0400 added GXS distribution flag to defavor posts signed by key form unknown RS nodes, and updated UI in forums to u + + -- Cyril Soler Mon, 18 Jul 2016 22:00:00 -0500 + +retroshare06 (0.6.0-1.20160628~18eb34) trusty; urgency=low + 9f7ef8b csoler Tue, 28 Jun 2016 20:59:56 -0400 fixed possible cross deadlocks between RsGxsGenExchange and RsGxsNetService 00bdc50 csoler Tue, 28 Jun 2016 17:56:37 -0400 updated changelog bb82b6e csoler Tue, 28 Jun 2016 14:35:59 -0400 Merge pull request #429 from PhenomRetroShare/Fix_StandardQSS From 66e1c8c2531646f54d5a128972b224f822f5c67c Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 18 Jul 2016 23:17:22 -0400 Subject: [PATCH 057/158] fixed compilation "without git" as asked by ubuntu packaging --- RetroShare.pro | 100 ++++++++++++++++++++++++------------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/RetroShare.pro b/RetroShare.pro index ce5ca7193..4f7e1934d 100644 --- a/RetroShare.pro +++ b/RetroShare.pro @@ -1,51 +1,51 @@ -!include("retroshare.pri"): error("Could not include file retroshare.pri") - -TEMPLATE = subdirs -CONFIG += tests - -SUBDIRS += \ - openpgpsdk \ - libbitdht \ - libretroshare \ - libresapi \ - retroshare_gui \ - retroshare_nogui \ - plugins - -openpgpsdk.file = openpgpsdk/src/openpgpsdk.pro - -libbitdht.file = libbitdht/src/libbitdht.pro - -libretroshare.file = libretroshare/src/libretroshare.pro -libretroshare.depends = openpgpsdk libbitdht - -libresapi.file = libresapi/src/libresapi.pro -libresapi.depends = libretroshare - -retroshare_gui.file = retroshare-gui/src/retroshare-gui.pro -retroshare_gui.depends = libretroshare libresapi -retroshare_gui.target = retroshare-gui - -retroshare_nogui.file = retroshare-nogui/src/retroshare-nogui.pro -retroshare_nogui.depends = libretroshare libresapi -retroshare_nogui.target = retroshare-nogui - -plugins.file = plugins/plugins.pro -plugins.depends = retroshare_gui -plugins.target = plugins - -wikipoos { - SUBDIRS += pegmarkdown - pegmarkdown.file = supportlibs/pegmarkdown/pegmarkdown.pro - retroshare_gui.depends += pegmarkdown -} - -tests { - SUBDIRS += librssimulator - librssimulator.file = tests/librssimulator/librssimulator.pro - - SUBDIRS += unittests - unittests.file = tests/unittests/unittests.pro - unittests.depends = libretroshare librssimulator +!include("retroshare.pri"): error("Could not include file retroshare.pri") + +TEMPLATE = subdirs +#CONFIG += tests + +SUBDIRS += \ + openpgpsdk \ + libbitdht \ + libretroshare \ + libresapi \ + retroshare_gui \ + retroshare_nogui \ + plugins + +openpgpsdk.file = openpgpsdk/src/openpgpsdk.pro + +libbitdht.file = libbitdht/src/libbitdht.pro + +libretroshare.file = libretroshare/src/libretroshare.pro +libretroshare.depends = openpgpsdk libbitdht + +libresapi.file = libresapi/src/libresapi.pro +libresapi.depends = libretroshare + +retroshare_gui.file = retroshare-gui/src/retroshare-gui.pro +retroshare_gui.depends = libretroshare libresapi +retroshare_gui.target = retroshare-gui + +retroshare_nogui.file = retroshare-nogui/src/retroshare-nogui.pro +retroshare_nogui.depends = libretroshare libresapi +retroshare_nogui.target = retroshare-nogui + +plugins.file = plugins/plugins.pro +plugins.depends = retroshare_gui +plugins.target = plugins + +wikipoos { + SUBDIRS += pegmarkdown + pegmarkdown.file = supportlibs/pegmarkdown/pegmarkdown.pro + retroshare_gui.depends += pegmarkdown +} + +tests { + SUBDIRS += librssimulator + librssimulator.file = tests/librssimulator/librssimulator.pro + + SUBDIRS += unittests + unittests.file = tests/unittests/unittests.pro + unittests.depends = libretroshare librssimulator unittests.target = unittests -} +} From 6cdeed6e3744ee5bba10ed88c4df9043f3b7b935 Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 19 Jul 2016 00:09:28 -0400 Subject: [PATCH 058/158] fixed changelog --- build_scripts/Debian+Ubuntu/changelog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_scripts/Debian+Ubuntu/changelog b/build_scripts/Debian+Ubuntu/changelog index 2a5e8695b..e818f4375 100644 --- a/build_scripts/Debian+Ubuntu/changelog +++ b/build_scripts/Debian+Ubuntu/changelog @@ -45,7 +45,7 @@ retroshare06 (0.6.0-1.XXXXXX~YYYYYY) YYYYYY; urgency=low -- Cyril Soler Mon, 18 Jul 2016 22:00:00 -0500 -retroshare06 (0.6.0-1.20160628~18eb34) trusty; urgency=low +retroshare06 (0.6.0-1.20160628~18eb34b8) trusty; urgency=low 9f7ef8b csoler Tue, 28 Jun 2016 20:59:56 -0400 fixed possible cross deadlocks between RsGxsGenExchange and RsGxsNetService 00bdc50 csoler Tue, 28 Jun 2016 17:56:37 -0400 updated changelog From 95edc5ba8e1c57b73a4bb71a53d0b15867efda28 Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 22 Jul 2016 10:06:24 -0400 Subject: [PATCH 059/158] fixed variable name problem in ServerPage (with no consequences) --- retroshare-gui/src/gui/settings/ServerPage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/settings/ServerPage.cpp b/retroshare-gui/src/gui/settings/ServerPage.cpp index b600db1da..581a23183 100755 --- a/retroshare-gui/src/gui/settings/ServerPage.cpp +++ b/retroshare-gui/src/gui/settings/ServerPage.cpp @@ -258,7 +258,7 @@ void ServerPage::load() */ netIndex = 3; // NONE. - if (detail.vs_dht != RS_VS_DISC_OFF) + if (detail.vs_dht != RS_VS_DHT_OFF) { if (detail.vs_disc != RS_VS_DISC_OFF) { From daf54dff3d7cac4a0674b388b0781b7aee40c484 Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 22 Jul 2016 17:49:07 -0400 Subject: [PATCH 060/158] fixed missing RsGxsGrpMeta cache update when updating grp meta, which caused unstable group flags/name/perms update --- libretroshare/src/gxs/rsdataservice.cc | 13 +++++++++++-- libretroshare/src/gxs/rsdataservice.h | 2 ++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/libretroshare/src/gxs/rsdataservice.cc b/libretroshare/src/gxs/rsdataservice.cc index b8eadb55d..d6038f7e7 100644 --- a/libretroshare/src/gxs/rsdataservice.cc +++ b/libretroshare/src/gxs/rsdataservice.cc @@ -883,6 +883,8 @@ int RsDataService::storeGroup(std::map &grp) cv.put(KEY_GRP_STATUS, (int32_t)grpMetaPtr->mGroupStatus); cv.put(KEY_GRP_LAST_POST, (int32_t)grpMetaPtr->mLastPost); + locked_clearGrpMetaCache(grpMetaPtr->mGroupId); + if (!mDb->sqlInsert(GRP_TABLE_NAME, "", cv)) { std::cerr << "RsDataService::storeGroup() sqlInsert Failed"; @@ -906,6 +908,12 @@ int RsDataService::storeGroup(std::map &grp) return ret; } +void RsDataService::locked_clearGrpMetaCache(const RsGxsGroupId& gid) +{ + mGrpMetaDataCache.erase(gid) ; // cleans existing cache entry + mGrpMetaDataCache_ContainsAllDatabase = false; +} + int RsDataService::updateGroup(std::map &grp) { @@ -973,6 +981,8 @@ int RsDataService::updateGroup(std::map &grp) cv.put(KEY_GRP_LAST_POST, (int32_t)grpMetaPtr->mLastPost); mDb->sqlUpdate(GRP_TABLE_NAME, "grpId='" + grpPtr->grpId.toStdString() + "'", cv); + + locked_clearGrpMetaCache(grpMetaPtr->mGroupId); } // finish transaction bool ret = mDb->commitTransaction(); @@ -1453,8 +1463,7 @@ int RsDataService::updateGroupMetaData(GrpLocMetaData &meta) std::cerr << (void*)this << ": erasing old entry from cache." << std::endl; #endif - mGrpMetaDataCache_ContainsAllDatabase = false ; - mGrpMetaDataCache.erase(meta.grpId) ; + locked_clearGrpMetaCache(meta.grpId); return mDb->sqlUpdate(GRP_TABLE_NAME, KEY_GRP_ID+ "='" + grpId.toStdString() + "'", meta.val) ? 1 : 0; } diff --git a/libretroshare/src/gxs/rsdataservice.h b/libretroshare/src/gxs/rsdataservice.h index 451d630cc..a48da407f 100644 --- a/libretroshare/src/gxs/rsdataservice.h +++ b/libretroshare/src/gxs/rsdataservice.h @@ -345,6 +345,8 @@ private: // The boolean variable below is also used to force re-reading when // the entre list of grp metadata is requested (which happens quite often) + void locked_clearGrpMetaCache(const RsGxsGroupId& gid); + std::map mGrpMetaDataCache ; bool mGrpMetaDataCache_ContainsAllDatabase ; }; From 7c7da7e6d16ae674981434dbb5fef889c3fc7c90 Mon Sep 17 00:00:00 2001 From: Phenom Date: Sat, 23 Jul 2016 01:48:23 +0200 Subject: [PATCH 061/158] Fix Posted Feed Item when received comment. --- libretroshare/src/retroshare/rsposted.h | 1 + libretroshare/src/services/p3posted.cc | 53 ++++++++++++++---- libretroshare/src/services/p3posted.h | 3 +- retroshare-gui/src/gui/Posted/PostedItem.cpp | 40 ++++++++++---- retroshare-gui/src/gui/Posted/PostedItem.ui | 54 ++++++++++++------- .../src/gui/feeds/GxsChannelPostItem.cpp | 3 +- 6 files changed, 112 insertions(+), 42 deletions(-) diff --git a/libretroshare/src/retroshare/rsposted.h b/libretroshare/src/retroshare/rsposted.h index 4a4c96269..69f9a17a5 100644 --- a/libretroshare/src/retroshare/rsposted.h +++ b/libretroshare/src/retroshare/rsposted.h @@ -83,6 +83,7 @@ virtual ~RsPosted() { return; } /* Specific Service Data */ virtual bool getGroupData(const uint32_t &token, std::vector &groups) = 0; +virtual bool getPostData(const uint32_t &token, std::vector &posts, std::vector &cmts) = 0; virtual bool getPostData(const uint32_t &token, std::vector &posts) = 0; //Not currently used //virtual bool getRelatedPosts(const uint32_t &token, std::vector &posts) = 0; diff --git a/libretroshare/src/services/p3posted.cc b/libretroshare/src/services/p3posted.cc index 271d269e1..b231149d5 100644 --- a/libretroshare/src/services/p3posted.cc +++ b/libretroshare/src/services/p3posted.cc @@ -98,8 +98,13 @@ bool p3Posted::getGroupData(const uint32_t &token, std::vector &g return ok; } -bool p3Posted::getPostData(const uint32_t &token, std::vector &msgs) +bool p3Posted::getPostData(const uint32_t &token, std::vector &msgs, std::vector &cmts) { +#ifdef POSTED_DEBUG + std::cerr << "p3Posted::getPostData()"; + std::cerr << std::endl; +#endif + GxsMsgDataMap msgData; bool ok = RsGenExchange::getMsgData(token, msgData); time_t now = time(NULL); @@ -110,32 +115,60 @@ bool p3Posted::getPostData(const uint32_t &token, std::vector &msg for(; mit != msgData.end(); ++mit) { - RsGxsGroupId grpId = mit->first; std::vector& msgItems = mit->second; std::vector::iterator vit = msgItems.begin(); for(; vit != msgItems.end(); ++vit) { - RsGxsPostedPostItem* item = dynamic_cast(*vit); + RsGxsPostedPostItem* postItem = dynamic_cast(*vit); - if(item) + if(postItem) { - RsPostedPost msg = item->mPost; - msg.mMeta = item->meta; + RsPostedPost msg = postItem->mPost; + msg.mMeta = postItem->meta; msg.calculateScores(now); msgs.push_back(msg); - delete item; + delete postItem; } else { - std::cerr << "Not a PostedPostItem, deleting!" << std::endl; - delete *vit; + RsGxsCommentItem* cmtItem = dynamic_cast(*vit); + if(cmtItem) + { + RsGxsComment cmt; + RsGxsMsgItem *mi = (*vit); + cmt = cmtItem->mMsg; + cmt.mMeta = mi->meta; +#ifdef GXSCOMMENT_DEBUG + std::cerr << "p3Posted::getPostData Found Comment:" << std::endl; + cmt.print(std::cerr," ", "cmt"); +#endif + cmts.push_back(cmt); + delete cmtItem; + } + else + { + RsGxsMsgItem* msg = (*vit); + //const uint16_t RS_SERVICE_GXS_TYPE_CHANNELS = 0x0217; + //const uint8_t RS_PKT_SUBTYPE_GXSCHANNEL_POST_ITEM = 0x03; + //const uint8_t RS_PKT_SUBTYPE_GXSCOMMENT_COMMENT_ITEM = 0xf1; + std::cerr << "Not a PostedPostItem neither a RsGxsCommentItem" + << " PacketService=" << std::hex << (int)msg->PacketService() << std::dec + << " PacketSubType=" << std::hex << (int)msg->PacketSubType() << std::dec + << " , deleting!" << std::endl; + delete *vit; + } } } } } - + else + { + std::cerr << "p3GxsChannels::getPostData() ERROR in request"; + std::cerr << std::endl; + } + return ok; } diff --git a/libretroshare/src/services/p3posted.h b/libretroshare/src/services/p3posted.h index 63ef72d32..0cb2bcd74 100644 --- a/libretroshare/src/services/p3posted.h +++ b/libretroshare/src/services/p3posted.h @@ -63,7 +63,8 @@ virtual void receiveHelperChanges(std::vector& changes) // Posted Specific DataTypes. virtual bool getGroupData(const uint32_t &token, std::vector &groups); -virtual bool getPostData(const uint32_t &token, std::vector &posts); +virtual bool getPostData(const uint32_t &token, std::vector &posts, std::vector &cmts); +virtual bool getPostData(const uint32_t &token, std::vector &posts) { std::vector cmts; return getPostData( token, posts, cmts);} //Not currently used //virtual bool getRelatedPosts(const uint32_t &token, std::vector &posts); diff --git a/retroshare-gui/src/gui/Posted/PostedItem.cpp b/retroshare-gui/src/gui/Posted/PostedItem.cpp index b8bcd0994..19d13dd4a 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.cpp +++ b/retroshare-gui/src/gui/Posted/PostedItem.cpp @@ -84,6 +84,8 @@ void PostedItem::setup() ui->dateLabel->clear(); ui->fromLabel->clear(); ui->siteLabel->clear(); + ui->newCommentLabel->hide(); + ui->commLabel->hide(); /* general ones */ connect(ui->clearButton, SIGNAL(clicked()), this, SLOT(removeItem())); @@ -160,21 +162,37 @@ void PostedItem::loadGroup(const uint32_t &token) void PostedItem::loadMessage(const uint32_t &token) { std::vector posts; - if (!rsPosted->getPostData(token, posts)) + std::vector cmts; + if (!rsPosted->getPostData(token, posts, cmts)) { std::cerr << "GxsChannelPostItem::loadMessage() ERROR getting data"; std::cerr << std::endl; return; } - if (posts.size() != 1) + if (posts.size() == 1) { - std::cerr << "GxsChannelPostItem::loadMessage() Wrong number of Items"; + setPost(posts[0]); + } + else if (cmts.size() == 1) + { + RsGxsComment cmt = cmts[0]; + + ui->newCommentLabel->show(); + ui->commLabel->show(); + ui->commLabel->setText(QString::fromUtf8(cmt.mComment.c_str())); + + //Change this item to be uploaded with thread element. + setMessageId(cmt.mMeta.mThreadId); + requestMessage(); + } + else + { + std::cerr << "GxsChannelPostItem::loadMessage() Wrong number of Items. Remove It."; std::cerr << std::endl; + removeItem(); return; } - - setPost(posts[0]); } void PostedItem::fill() @@ -390,15 +408,15 @@ void PostedItem::setReadStatus(bool isNew, bool isUnread) ui->newLabel->setVisible(isNew); /* unpolish widget to clear the stylesheet's palette cache */ - ui->frame->style()->unpolish(ui->frame); + ui->mainFrame->style()->unpolish(ui->mainFrame); - QPalette palette = ui->frame->palette(); - palette.setColor(ui->frame->backgroundRole(), isNew ? COLOR_NEW : COLOR_NORMAL); // QScrollArea + QPalette palette = ui->mainFrame->palette(); + palette.setColor(ui->mainFrame->backgroundRole(), isNew ? COLOR_NEW : COLOR_NORMAL); // QScrollArea palette.setColor(QPalette::Base, isNew ? COLOR_NEW : COLOR_NORMAL); // QTreeWidget - ui->frame->setPalette(palette); + ui->mainFrame->setPalette(palette); - ui->frame->setProperty("new", isNew); - Rshare::refreshStyleSheet(ui->frame, false); + ui->mainFrame->setProperty("new", isNew); + Rshare::refreshStyleSheet(ui->mainFrame, false); } void PostedItem::readToggled(bool checked) diff --git a/retroshare-gui/src/gui/Posted/PostedItem.ui b/retroshare-gui/src/gui/Posted/PostedItem.ui index a93d83b4d..8e150784f 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.ui +++ b/retroshare-gui/src/gui/Posted/PostedItem.ui @@ -13,9 +13,9 @@ - + - + 0 @@ -31,7 +31,7 @@ QFrame::Sunken - + @@ -59,9 +59,33 @@ true + + + + + 0 + + + + + New Comment: + + + true + + + + + + + Comment Value + + + + - + @@ -207,7 +231,7 @@ - + 0 @@ -297,21 +321,7 @@ - readAndClearButton - dateBoldLabel - dateLabel - fromBoldLabel - commentButton - newLabel - siteLabel - fromLabel - readButton - fromBoldLabel_2 - clearButton titleLabel - voteDownButton - voteUpButton - scoreLabel @@ -357,6 +367,12 @@ QLabel
gui/gxs/GxsIdLabel.h
+ + ElidedLabel + QLabel +
gui/common/ElidedLabel.h
+ 1 +
diff --git a/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp b/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp index 086d711eb..ea77307e2 100644 --- a/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp +++ b/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp @@ -269,8 +269,9 @@ void GxsChannelPostItem::loadMessage(const uint32_t &token) } else { - std::cerr << "GxsChannelPostItem::loadMessage() Wrong number of Items"; + std::cerr << "GxsChannelPostItem::loadMessage() Wrong number of Items. Remove It."; std::cerr << std::endl; + removeItem(); return; } } From 1a4d400694ce0e17b3b2b84d1964ebc21c15c8b5 Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 22 Jul 2016 20:40:42 -0400 Subject: [PATCH 062/158] updated changlog --- build_scripts/Debian+Ubuntu/changelog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build_scripts/Debian+Ubuntu/changelog b/build_scripts/Debian+Ubuntu/changelog index e818f4375..a8c2cb3cf 100644 --- a/build_scripts/Debian+Ubuntu/changelog +++ b/build_scripts/Debian+Ubuntu/changelog @@ -1,5 +1,7 @@ retroshare06 (0.6.0-1.XXXXXX~YYYYYY) YYYYYY; urgency=low + daf54df csoler Fri, 22 Jul 2016 17:49:07 -0400 fixed missing RsGxsGrpMeta cache update when updating grp meta, which caused unstable group flags/name/perms update + 95edc5b csoler Fri, 22 Jul 2016 10:06:24 -0400 fixed variable name problem in ServerPage (with no consequences) 713deac csoler Sat, 16 Jul 2016 18:39:36 -0400 time-stamping newly received GXS ids 95202d6 csoler Sat, 16 Jul 2016 18:26:04 -0400 removed possible double free() of buf in parse_headers (suggestion by GuessWho) 71168c7 csoler Fri, 15 Jul 2016 22:47:35 -0400 drop net ID request when peer list is empty From 35c01e53355427a6db0235fb0d570accfc39df99 Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 22 Jul 2016 21:10:54 -0400 Subject: [PATCH 063/158] updated translation files --- retroshare-gui/src/lang/retroshare_af.ts | 8933 ++++++++++--------- retroshare-gui/src/lang/retroshare_bg.ts | 8387 +++++++++-------- retroshare-gui/src/lang/retroshare_ca_ES.ts | 1805 +++- retroshare-gui/src/lang/retroshare_cs.ts | 4079 +++++---- retroshare-gui/src/lang/retroshare_da.ts | 8747 +++++++++--------- retroshare-gui/src/lang/retroshare_de.ts | 2119 +++-- retroshare-gui/src/lang/retroshare_el.ts | 3623 +++++--- retroshare-gui/src/lang/retroshare_en.ts | 1687 ++-- retroshare-gui/src/lang/retroshare_es.ts | 1781 +++- retroshare-gui/src/lang/retroshare_fi.ts | 3405 ++++--- retroshare-gui/src/lang/retroshare_fr.ts | 2073 +++-- retroshare-gui/src/lang/retroshare_hu.ts | 3705 +++++--- retroshare-gui/src/lang/retroshare_it.ts | 2101 +++-- retroshare-gui/src/lang/retroshare_ja_JP.ts | 7927 ++++++++-------- retroshare-gui/src/lang/retroshare_ko.ts | 7681 ++++++++-------- retroshare-gui/src/lang/retroshare_nl.ts | 2993 ++++--- retroshare-gui/src/lang/retroshare_pl.ts | 6161 +++++++------ retroshare-gui/src/lang/retroshare_pt.ts | 8829 +++++++++--------- retroshare-gui/src/lang/retroshare_ru.ts | 1979 ++-- retroshare-gui/src/lang/retroshare_sl.ts | 8707 +++++++++--------- retroshare-gui/src/lang/retroshare_sr.ts | 8411 +++++++++-------- retroshare-gui/src/lang/retroshare_sv.ts | 3155 ++++--- retroshare-gui/src/lang/retroshare_tr.ts | 3209 ++++--- retroshare-gui/src/lang/retroshare_zh_CN.ts | 3729 ++++---- retroshare-gui/src/lang/retroshare_zh_TW.ts | 8479 ++++++++++-------- 25 files changed, 70973 insertions(+), 52732 deletions(-) diff --git a/retroshare-gui/src/lang/retroshare_af.ts b/retroshare-gui/src/lang/retroshare_af.ts index 95224fcc6..374adfd90 100644 --- a/retroshare-gui/src/lang/retroshare_af.ts +++ b/retroshare-gui/src/lang/retroshare_af.ts @@ -1,15 +1,17 @@ - + + + AWidget version - + RetroShare version - + @@ -18,42 +20,42 @@ About RetroShare - + About - + Copy Info - + close - + Max score: %1 - + Score: %1 - + Level: %1 - + Have fun ;-) - + @@ -61,7 +63,7 @@ Add Comment - + @@ -69,28 +71,28 @@ File type(extension): - + Use default command - + Command - + RetroShare - + - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file - + @@ -98,42 +100,42 @@ RetroShare: Advanced Search - + Search Criteria - + Add a further search criterion. - + Reset the search criteria. - + Cancels the search. - + Cancel - + Perform the advanced search. - + Search - + @@ -142,206 +144,206 @@ Create Album - + Album Name: - + Category: - + Animals - + Family - + Friends - + Flowers - + Holiday - + Landscapes - + Pets - + Portraits - + Travel - + Work - + Random - + Caption: - + Where: - + Photographer: - + Description: - + Share Options - + Policy: - + Quality: - + Comments: - + Identity: - + Public - + Restricted - + Resize Images (< 1Mb) - + Resize Images (< 10Mb) - + Send Original Images - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with Identity - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Back - + Add Photos - + Publish Album - + Untitle Album - + Say something about this album... - + Where were these taken? - + Load Album Thumbnail - + @@ -350,101 +352,101 @@ p, li { white-space: pre-wrap; } Album - + Album Thumbnail - + TextLabel - + Summary - + Album Title: - + Category: - + Caption - + Where: - + When - + Description: - + Share Options - + Comments - + Publish Identity - + Visibility - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Add Photo - + Edit Photo - + Delete Photo - + Publish Photos - + @@ -452,32 +454,32 @@ p, li { white-space: pre-wrap; } Form - + TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + @@ -485,169 +487,169 @@ p, li { white-space: pre-wrap; } Language - + Changes to language will only take effect after restarting RetroShare! - + Choose the language used in RetroShare - + Style - + Choose RetroShare's interface style - + Style Sheet - + Appearance - + Tool Bar - + On Tool Bar - + On List Item - + Where do you want to have the buttons for menu? - + On List Ite&m - + Where do you want to have the buttons for the page? - + Icon Only - + Text Only - + Text Beside Icon - + Text Under Icon - + Choose the style of Tool Buttons. - + Choose the style of List Items. - + Icon Size = 8x8 - + Icon Size = 16x16 - + Icon Size = 24x24 - + Icon Size = 64x64 - + Icon Size = 128x128 - + Status Bar - + Remove surplus text in status bar. - + Compact Mode - + Hide Sound Status - + Hide Toaster Disable - + Show SysTray on Status Bar - + Disable SysTray ToolTip - + Icon Size = 32x32 - + @@ -656,43 +658,43 @@ p, li { white-space: pre-wrap; } RetroShare - + Warning: The services here are experimental. Please help us test them. But Remember: Any data here *WILL* be lost when we upgrade the protocols. - + Identities - + Circles - + GxsForums - + GxsChannels - + The Wire - + Photos - + @@ -700,17 +702,17 @@ p, li { white-space: pre-wrap; } %p Kb - + Cancel Download - + [ERROR]) - + @@ -718,32 +720,32 @@ p, li { white-space: pre-wrap; } Change Avatar - + Your Avatar Picture - + Add Avatar - + Remove - + Set your Avatar picture - + Load Avatar - + @@ -751,15 +753,15 @@ p, li { white-space: pre-wrap; } Click to change your avatar - + BWGraphSource - + KB/s - + @@ -767,7 +769,7 @@ p, li { white-space: pre-wrap; } N/A - + @@ -775,73 +777,73 @@ p, li { white-space: pre-wrap; } RetroShare Bandwidth Usage - + Show Settings - + Reset - + Receive Rate - + Send Rate - + Always on Top - + Style - + Changes the transparency of the Bandwidth Graph - + 100 - + % Opaque - + Save - + Cancel - + Since: - + Hide Settings - + @@ -850,23 +852,23 @@ p, li { white-space: pre-wrap; } Sum - + All - + KB/s - + Count - + @@ -874,77 +876,77 @@ p, li { white-space: pre-wrap; } Name - + ID - + In (KB/s) - + InMax (KB/s) - + InQueue - + InAllocated (KB/s) - + Allocated Sent - + Out (KB/s) - + OutMax (KB/s) - + OutQueue - + OutAllowed (KB/s) - + Allowed Recvd - + TOTALS - + Totals - + Form - + @@ -952,42 +954,42 @@ p, li { white-space: pre-wrap; } Form - + Friend: - + Type: - + Up - + Down - + Service: - + Unit: - + Log scale - + @@ -995,27 +997,27 @@ p, li { white-space: pre-wrap; } Channels - + Tabs - + General - + Load posts in background (Thread) - + Open each channel in a new tab - + @@ -1023,155 +1025,160 @@ p, li { white-space: pre-wrap; } Participants - + Change nick name - + Mute participant - + + + + + Ban this person (Sets negative opinion) + Send Message - + Sort by Name - + Sort by Activity - + - + Invite friends to this lobby - + Leave this lobby (Unsubscribe) - + Invite friends - + Select friends to invite: - + - + Welcome to lobby %1 - + Topic: %1 - + Lobby chat - + - + Lobby management - + %1 has left the lobby. - + %1 joined the lobby. - + %1 changed his name to: %2 - + Unsubscribe to lobby - + Do you want to unsubscribe to this chat lobby? - + Right click to mute/unmute participants<br/>Double click to address this person<br/> - + This participant is not active since: - + seconds - + - + Start private chat - + - + Decryption failed. - + Signature mismatch - + Unknown key - + Unknown hash - + Unknown error. - + Cannot start distant chat - + Distant chat cannot be initiated: - + @@ -1179,7 +1186,7 @@ p, li { white-space: pre-wrap; } Show Chat Lobby - + @@ -1187,194 +1194,194 @@ p, li { white-space: pre-wrap; } Chat Lobbies - + You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + Unknown Lobby - + Remove All - + ChatLobbyWidget - + Chat lobbies - + - + Name - + Count - + Topic - + Private Lobbies - + Public Lobbies - + Create chat lobby - + [No topic provided] - + - + Selected lobby info - + Private - + Public - + Anonymous IDs accepted - + You're not subscribed to this lobby; Double click-it to enter and chat. - + Remove Auto Subscribe - + Add Auto Subscribe - + %1 invites you to chat lobby named %2 - + - + Search Chat lobbies - + Search Name - + Subscribed - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + Columns - + Yes - + No - + - + Lobby Name: - + Lobby Id: - + Topic: - + Type: - + Security: - + Peers: - + @@ -1384,93 +1391,93 @@ p, li { white-space: pre-wrap; } TextLabel - + No lobby selected. Select lobbies at left to show details. Double click lobbies to enter and chat. - + Private Subscribed Lobbies - + Public Subscribed Lobbies - + Chat Lobbies - + Leave this lobby - + Enter this lobby - + Enter this lobby as... - + Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + You will need to create an identity in order to join chat lobbies. - + Choose an identity for this lobby: - + Create an identity and enter this lobby - + Show - + column - + @@ -1478,419 +1485,424 @@ Double click lobbies to enter and chat. Remove Item - + Write a quick Message - + Send Mail - + Write Message - + Start Chat - + Send - + Cancel - + - + Quick Message - + ChatPage - + General - + - + Distant Chat - + Everyone - + Contacts - + Nobody - + Accept encrypted distant chat from - + Chat Settings - + Enable Emoticons Private Chat - + Enable Emoticons Group Chat - + Enable custom fonts - + Enable custom font size - + Minimum font size - + Enable bold - + Enable italics - + Minimum text contrast - + Send message with Ctrl+Return - + + + + + Send as plain text by default + Chat Lobby - + Blink tab icon - + Private Chat - + Open Window for new chat - + Grab Focus when chat arrives - + Use a single tabbed window - + Blink window/tab icon - + Chat Font - + Change Chat Font - + Chat Font: - + History - + Style - + Group chat - + Variant - + Author: - + Description: - + Private chat - + Incoming - + Outgoing - + - + Incoming message in history - + Outgoing message in history - + Incoming message - + Outgoing message - + Outgoing offline message - + System - + System message - + UserName - + /me is sending a message with /me - + Chat - + <html><head/><body><p align="justify">In this tab you can setup how many chat messages Retroshare will keep saved on the disc and how much of the previous conversation it will display, for the different chat systems. The max storage period allows to discard old messages and prevents the chat history from filling up with volatile chat (e.g. chat lobbies and distant chat).</p></body></html> - + Chatlobbies - + Enabled: - + Saved messages (0 = unlimited): - + Number of messages restored (0 = off): - + Maximum storage period, in days (0=keep all): - + Search by default - + Case sensitive - + Whole Words - + Move to cursor - + Color All Text Found - + Color of found text - + Choose color of found text - + Maximum count for coloring matching text - + Threshold for automatic search - + Default identity for chat lobbies: - + Show Bar by default - + - + Private chat invite from - + Name : - + PGP id : - + Valid until : - + ChatStyle - + Standard style for group chat - + Compact style for group chat - + Standard style for private chat - + Compact style for private chat - + Standard style for history - + Compact style for history - + @@ -1898,7 +1910,7 @@ Double click lobbies to enter and chat. Show Chat - + @@ -1906,7 +1918,7 @@ Double click lobbies to enter and chat. Private Chat - + @@ -1914,281 +1926,289 @@ Double click lobbies to enter and chat. Close - + - + Send - + - + Bold - + Underline - + Italic - + - + Attach a Picture - + - + Strike - + Clear Chat History - + Disable Emoticons - + Save Chat History - + Browse Message History - + Browse History - + Delete Chat History - + Deletes all stored and displayed chat history - + Choose font - + Reset font to default - + - + Quote - + Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... - + - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? - + - + Add Extra File - + Load Picture File - + Save as... - + Text File (*.txt );;All Files (*) - + appears to be Offline. - + Messages you send will be delivered after Friend is again Online - + is Idle and may not reply - + is Away and may not reply - + is Busy and may not reply - + - + Find Case Sensitively - + Find Whole Words - + Move To Cursor - + Don't stop to color after X items found (need more CPU) - + - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> - + <b>Find Next </b><br/><i>Ctrl+G</i> - + <b>Find </b><br/><i>Ctrl+F</i> - + - + (Status) - + - + Set text font & color - + Attach a File - + - + WARNING: Could take a long time on big history. - + Choose color - + - + <b>Mark this selected text</b><br><i>Ctrl+M</i> - + - - %1This message consists of %2 characters. - - - - + items found. - + No items found. - + <b>Return to marked text</b><br><i>Ctrl+M</i> - + - - Display Search Box - - - - - Search Box - - - - + Type a message here - + - + Don't stop to color after - + items found (need more CPU) - - - - - Warning: - + @@ -2196,360 +2216,330 @@ Double click lobbies to enter and chat. TextLabel - + Empty Circle - + CirclesDialog - + Showing details: - + Membership - + Name - + IDs - + - + Personal Circles - + Public Circles - + Peers - + Status - + ID - + - + Friends - + Friends of Friends - + Others - + Permissions - + Anon Transfers - + Discovery - + Share Category - + Create Personal Circle - + Create External Circle - + Edit Circle - + Todo - + Friends Of Friends - + - + External Circles (Admin) - + External Circles (Subscribed) - + External Circles (Other) - + Circles - + ConfCertDialog - + Details - + Node info - + Peer Address - + - + Local Address - + External Address - + Dynamic DNS - + Port - + Addresses list - + - + + Use this certificate to make friends: + + + + Include signatures - + - - + + RetroShare - + - - + + Error : cannot get peer details. - + - - Use as direct source, when available - - - - - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - - - - + Encryption - + Not connected - + Peer Addresses - + - - Options - - - - + Retroshare node details - + - + Node name : - + Status : - + Last Contact : - + Retroshare version : - + Node ID : - + PGP key : - + Retroshare Certificate - + - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + none - + <p>This certificate contains: - + <li>a <b>node ID</b> and <b>name</b> - + an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + <p>You can use this certificate to make new friends. Send it by email, or give it hand to hand.</p> - + - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + with - + external signatures</li> - + @@ -2557,644 +2547,644 @@ Double click lobbies to enter and chat. Connect Friend Wizard - + Add a new Friend - + &You get a certificate file from your friend - + &Make friend with selected friends of my friends - + Text certificate - + Use text representation of the PGP certificates. - + Include signatures - + Copy your Cert to Clipboard - + Save your Cert into a File - + Run Email program - + Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + Certificate files - + Use PGP certificates saved in files. - + Import friend's certificate... - + You have to generate a file with your certificate and give it to your friend. Also, you can use a file generated before. - + Export my certificate... - + Drag and Drop your friends's certificate in this Window or specify path in the box below - + Browse - + Friends of friends - + Select now who you want to make friends with. - + Show me: - + Make friend with these peers - + RetroShare ID - + Use RetroShare ID for adding a Friend which is available in your network. - + Add Friends RetroShare ID... - + Paste Friends RetroShare ID in the box below - + Enter the RetroShare ID of your Friend, e.g. Peer@BDE8D16A46D938CF - + RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + GMail - + Yahoo - + Outlook - + AOL - + Yandex - + Email - + Invite Friends by Email - + Enter your friends' email addresses (separate each one with a semicolon) - + Your friends' email addresses: - + Enter Friends Email addresses - + Subject: - + Friend request - + Details about the request - + Peer details - + Name: - + Email: - + Node: - + Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + Location: - + Options - + This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + Add friend to group: - + Authenticate friend (Sign PGP Key) - + Add as friend to connect with - + To accept the Friend Request, click the Finish button. - + Sorry, some error appeared - + Here is the error message: - + Make Friend - + Details about your friend: - + Key validity: - + Signers - + This peer is already on your friend list. Adding it might just set it's ip address. - + Abnormal size read is bigger than memory block. - + Invalid external IP. - + Invalid local IP. - + Invalid checksum section. - + Checksum mismatch. Certificate is corrupted. - + Unknown section type found (Certificate might be corrupted). - + Missing checksum. - + Unknown certificate error - + Certificate Load Failed - + Cannot get peer details of PGP key %1 - + Any peer I've not signed - + Friends of my friends who already trust me - + Signed peers showing as denied - + Peer name - + Also signed by - + Peer id - + RetroShare Invitation - + Ultimate - + Full - + Marginal - + None - + No Trust - + You have a friend request from - + Certificate Load Failed:file %1 not found - + This Peer %1 is not available in your Network - + Use new certificate format (safer, more robust) - + Use old (backward compatible) certificate format - + Remove signatures - + RetroShare Invite - + No or misspelled BEGIN tag found - + No or misspelled END tag found - + No checksum found (the last 5 chars should be separated by a '=' char), or no newline after tag line (e.g. line beginning with Version:) - + Unknown error. Your cert is probably not even a certificate. - + Connect Friend Help - + You can copy this text and send it to your friend via email or some other way - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + Save as... - + RetroShare Certificate (*.rsc );;All Files (*) - + Select Certificate - + Sorry, create certificate failed - + Please choose a filename - + Certificate file successfully created - + Sorry, certificate file creation failed - + *** None *** - + Use as direct source, when available - + IP-Addr: - + IP-Address - + Recommend many friends to each others - + Friend Recommendations - + The text below is your Retroshare certificate. You have to provide it to your friend - + Message: - + Recommend friends - + To - + Please select at least one friend for recommendation. - + Please select at least one friend as recipient. - + Add key to keyring - + This key is already in your keyring - + @@ -3202,69 +3192,69 @@ resources. This might be useful for sending distant messages to this peer even if you don't make friends. - + Certificate has wrong version number. Remember that v0.6 and v0.5 networks are incompatible. - + Invalid node id. - + Auto-download recommended files - + Can be used as direct source - + Require whitelist clearance to connect - + Add IP to whitelist - + No IP in this certificate! - + <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + Added with certificate from %1 - + Paste Cert of your friend from Clipboard - + Certificate Load Failed:can't read from file %1 - + Certificate Load Failed:something is wrong with %1 - + @@ -3272,228 +3262,228 @@ even if you don't make friends. Connection Progress - + Connecting to: - + TextLabel - + Network - + Net Result - + Connect Status - + Contact Result - + DHT Startup - + DHT Result - + Peer Lookup - + Peer Result - + UDP Setup - + UDP Result - + Connection Assistant - + Invalid Peer ID - + Unknown State - + Offline - + Behind Symmetric NAT - + Behind NAT & No DHT - + NET Restart - + Behind NAT - + No DHT - + NET STATE GOOD! - + DHT Failed - + DHT Disabled - + DHT Okay - + Finding RS Peers - + Lookup requires DHT - + Searching DHT - + Lookup Timeout - + Peer DHT NOT ACTIVE - + Lookup Failure - + Peer Offline - + Peer Firewalled - + Peer Online - + Connection In Progress - + Initial connections can take a while, please be patient - + If an error is detected it will be displayed here - + You can close this dialog at any time - + Retroshare will continue connecting in the background - + Connection Timeout - + Connection Attempt has taken too long - + But no error has been detected - + Try again shortly, Retroshare will continue connecting in the background - + @@ -3502,214 +3492,214 @@ even if you don't make friends. If you continue to get this message, please contact developers - + DHT Lookup Timeout - + DHT Lookup has taken too long - + UDP Connection Timeout - + UDP Connection has taken too long - + UDP Connection Failed - + We are continually working to improve connectivity. - + In this case the UDP connection attempt has failed. - + Improve connectivity by opening a Port in your Firewall. - + Connected - + Congratulations, you are connected - + DHT startup Failed - + Your DHT has not started properly - + Common causes of this problem are: - + - You are not connected to the Internet - + - You have a missing or out-of-date DHT bootstrap file (bdboot.txt) - + DHT is Disabled - + The DHT is OFF, so Retroshare cannot find your Friends. - + Retroshare has tried All Known Addresses, with no success - + The DHT is needed if your friends have Dynamic IP Addresses. - + Go to Settings->Server and change config to "Public: DHT and Discovery" - + Peer Denied Connection - + We successfully reached your Friend. - + but they have not added you as a Friend. - + Please contact them to add your Certificate - + Your Retroshare Node is configured Okay - + We successfully reached your Friend via UDP. - + Please contact them to add your Full Certificate - + We Cannot find your Friend. - + They are either offline or their DHT is Off - + Peer DHT is Disabled - + Your Friend has configured Retroshare with DHT Disabled. - + You have previously connected to this Friend - + Retroshare has determined that they have DHT switched off - + Without the DHT it is hard for Retroshare to locate your friend - + Try importing a fresh Certificate to get up-to-date connection information - + Incomplete Friend Details - + You have imported an incomplete Certificate - + Please retry importing the full Certificate - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> - + @@ -3717,248 +3707,310 @@ p, li { white-space: pre-wrap; } N/A - + UNVERIFIABLE FORWARD! - + UNVERIFIABLE FORWARD & NO DHT - + Searching - + UDP Connect Timeout - + Only Advanced Retroshare users should switch off the DHT. - + Retroshare cannot connect without this information - + They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details - + - - + Name - + - - Creator - - - - - Distribution - - - - + Public - + - - Self-Restricted - - - - - Restricted to: - - - - - Circle Membership - - - - + IDs - + - - Known Identities - - - - + Filter - + - + Nickname - + - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID - + Type - + - - - - + + Name: + + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare - + - + Please set a name for your Circle - + - - Personal Circle Details - - - - - External Circle Details - - - - - Cannot Edit Existing Circles Yet - - - - + No Restriction Circle Selected - + - + No Circle Limitations Selected - + - - Create New Personal Circle - - - - - Create New External Circle - - - - + Add - + Remove - + - + Search - + - + All - + Signed - + Signed by known nodes - + - + Edit Circle - + - - + PGP Identity - + - - - + + + Anon Id - + + + + + Circle name + + + + + Update + + Close + + + + + + Create New Circle + + + + + Create + + + + PGP Linked Id - + + + + + Add Member + + + + + Remove Member + CreateGroup - + Create a Group - + - - Group Name - + + Group Name: + - + + Group ID: + + + + Enter a name for your group - + - + + To be defined + + + + Friends - + Edit Group - + @@ -3967,260 +4019,270 @@ p, li { white-space: pre-wrap; } New Channel Post - + Channel Post - + Channel Post to: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> - + Add File to Attach - + Add Channel Thumbnail - + Message - + Subject : - + Attachments - + Allow channels to get frame for message thumbnail from movie media attachments or not - + Auto Thumbnail - + Drag and Drop Files from Search Results - + Paste RetroShare Links - + Paste RetroShare Link - + Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + Add Extra File - + RetroShare - + File already Added and Hashed - + Please add a Subject - + Load thumbnail picture - + Generate mass data - + Do you really want to generate %1 messages ? - + You are about to add files you're not actually sharing. Do you still want this to happen? - + About to post un-owned files to a channel. - + CreateGxsForumMsg - + Post Forum Message - + Forum - + Subject - + Attach File - + Sign Message - + Forum Post - + Attach files via drag and drop - + You can attach files via drag and drop here in this window - + Start New Thread - + - + No Forum - + - + In Reply to - + RetroShare - + Please set a Forum Subject and Forum Message - + Please choose Signing Id, it is required - + Add Extra File - + + + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + - + Generate mass data - + Do you really want to generate %1 messages ? - + - + Send - + - + Forum Message - + Forum Message has not been Sent. Do you want to reject this message? - + Post as - + Congrats, you found a bug! - + @@ -4229,82 +4291,82 @@ Do you want to reject this message? Create Chat Lobby - + A chat lobby is a decentralized and anonymous chat group. All participants receive all messages. Once the lobby is created you can invite other friends from the Friends tab. - + Lobby name: - + Lobby topic: - + Visibility: - + Public (Visible by friends) - + Private (Works on invitation only) - + <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + Security: - + Select the Friends with which you want to group chat. - + Invited friends - + Put a sensible lobby name here - + Set a descriptive topic here - + Contacts: - + Identity to use: - + @@ -4312,137 +4374,137 @@ Do you want to reject this message? Public Information - + Name: - + Location: - + Location ID: - + Software Version: - + Online since: - + Other Information - + Certificate - + Include signatures - + Save Key into a file - + A RetroShare link with your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + Error - + Your certificate could not be parsed correctly. Please contact the developers. - + RetroShare - + Your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + Save as... - + RetroShare Certificate (*.rsc );;All Files (*) - + TextLabel - + PGP fingerprint: - + Node information - + PGP Id : - + Friend nodes: - + Copy certificate to clipboard - + Save certificate to file - + Node - + Create new node... - + show statistics window - + @@ -4450,7 +4512,7 @@ Do you want to reject this message? users - + @@ -4458,38 +4520,38 @@ Do you want to reject this message? DHT - + <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + DHT Off - + DHT Searching for RetroShare Peers - + RetroShare users in DHT (Total DHT users) - + DHT Good - + No peer found in DHT - + @@ -4497,27 +4559,27 @@ Do you want to reject this message? B - + KB - + MB - + GB - + File Never Seen - + @@ -4525,62 +4587,62 @@ Do you want to reject this message? Details - + General - + Done - + Active - + Outstanding - + Needs checking - + retroshare link(s) - + retroshare link - + Copy link to clipboard - + Rating - + Comments - + File Name - + @@ -4588,400 +4650,400 @@ Do you want to reject this message? Net Status - + Connect Options - + Network Mode - + Nat Type - + Nat Hole - + Peer Address - + Name - + PeerId - + DHT Status - + ConnectLogic - + Connect Status - + Connect Mode - + Request Status - + Cb Status - + RsId - + Bucket - + IP:Port - + Key - + Status Flags - + Found - + Last Sent - + Last Recv - + Relay Mode - + Source - + Proxy - + Destination - + Class - + Age - + Bandwidth - + IP - + Search IP - + Copy %1 to clipboard - + Unknown NetState - + Offline - + Local Net - + Behind NAT - + External IP - + UNKNOWN NAT STATE - + SYMMETRIC NAT - + DETERMINISTIC SYM NAT - + RESTRICTED CONE NAT - + FULL CONE NAT - + OTHER NAT - + NO NAT - + UNKNOWN NAT HOLE STATUS - + NO NAT HOLE - + UPNP FORWARD - + NATPMP FORWARD - + MANUAL FORWARD - + NET BAD: Unknown State - + NET BAD: Offline - + NET BAD: Behind Symmetric NAT - + NET BAD: Behind NAT & No DHT - + NET WARNING: NET Restart - + NET WARNING: Behind NAT - + NET WARNING: No DHT - + NET STATE GOOD! - + CAUTION: UNVERIFIABLE FORWARD! - + CAUTION: UNVERIFIABLE FORWARD & NO DHT - + Not Active (Maybe Connected!) - + Searching - + Failed - + offline - + Unreachable - + ONLINE - + Direct - + None - + Disconnected - + Udp Started - + Connected - + Request Active - + No Request - + Unknown - + RELAY END - + Yourself - + unknown - + unlimited - + Own Relay - + RELAY PROXY - + @@ -4990,27 +5052,27 @@ Do you want to reject this message? %1 secs ago - + %1B/s - + Relays - + 0x%1 EX:0x%2 - + never - + @@ -5018,113 +5080,113 @@ Do you want to reject this message? DHT - + Net Status: - + Network Mode: - + Nat Type: - + Nat Hole: - + Connect Mode: - + Peer Address: - + Unreach: - + Online: - + Offline: - + DHT Peers: - + Disconnected: - + Direct: - + Proxy: - + Relay: - + Filter: - + Search Network - + Peers - + Relay - + DHT Graph - + Proxy VIA - + Relay VIA - + @@ -5132,98 +5194,98 @@ Do you want to reject this message? Incoming Directory - + Browse - + Partials Directory - + Shared Directories - + Automatically share incoming directory (Recommended) - + Edit Share - + Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. - + Remember hashed files for - + days - + Forget any hashed file that is not anymore shared. - + Clean Hash Cache - + Auto-check shared directories every - + minute(s) - + Cache cleaning confirmation - + This will forget any former hash of non shared files. Do you confirm ? - + Set Incoming Directory - + Set Partials Directory - + Directories - + @@ -5231,12 +5293,12 @@ you plug it in. Waiting outgoing discovery operations - + Waiting incoming discovery operations - + @@ -5244,7 +5306,7 @@ you plug it in. Start file - + @@ -5254,36 +5316,36 @@ you plug it in. to - + ignore case - + dd.MM.yyyy - + KB - + MB - + GB - + @@ -5291,12 +5353,12 @@ you plug it in. Expression Widget - + Delete this expression - + @@ -5304,52 +5366,52 @@ you plug it in. &New - + Add new Association - + &Edit - + Edit this Association - + &Remove - + Remove this Association - + File type - + Friend Help - + You this - + Associations - + @@ -5357,47 +5419,47 @@ you plug it in. Chunk map - + Active chunks - + Availability map (%1 active source) - + Availability map (%1 active sources) - + File info - + File name - + Destination folder - + File hash - + File size - + @@ -5405,52 +5467,52 @@ you plug it in. bytes - + Chunk size - + Number of chunks - + Transferred - + Remaining - + Number of sources - + Chunk strategy - + Transfer type - + Anonymous F2F - + Direct friend transfer / Availability assumed - + @@ -5458,73 +5520,73 @@ you plug it in. Picture - + Video - + Audio - + Archive - + Program - + CD/DVD-Image - + Document - + RetroShare collection file - + Subtitles - + Nintendo DS Rom - + Patch - + C++ - + Header - + C - + @@ -5532,37 +5594,37 @@ you plug it in. Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + Directory - + @@ -5570,37 +5632,37 @@ you plug it in. Misc - + Set message to read on activate - + Expand new messages - + Forum - + Load embedded images - + Tabs - + Open each forum in a new tab - + @@ -5608,283 +5670,283 @@ you plug it in. Last Contact - + Hide Offline Friends - + export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + Show State - + Show Groups - + - + Group - + Friend - + Edit Group - + Remove Group - + Chat - + Recommend this Friend to... - + Copy certificate link - + Add to group - + - + Search - + Sort by state - + - + Move to group - + Groups - + Remove from group - + Remove from all groups - + Expand all - + Collapse all - + Available - + - + Do you want to remove this Friend? - + - + Done! - + Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + Error - + Failed to get a file! - + File is not writeable! - + File is not readable! - + IP - + - + Attempt to connect - + Create new group - + Display - + Paste certificate link - + Node - + Remove Friend Node - + - + Do you want to remove this node? - + Friend nodes - + - + Send message to whole group - + Details - + Deny - + Send message - + @@ -5892,17 +5954,17 @@ at least one peer was not added to a group Confirm Friend Request - + wants to be friend with you on RetroShare - + Unknown (Incoming) Connect Attempt - + @@ -5910,32 +5972,32 @@ at least one peer was not added to a group Search : - + Sort by state - + Name - + Search Friends - + - + Mark all - + Mark none - + @@ -5943,122 +6005,122 @@ at least one peer was not added to a group Edit status message - + Broadcast - + Clear Chat History - + Add Friend - + Add your Avatar Picture - + A - + Set your status message - + Edit your status message - + Browse Message History - + Browse History - + Save Chat History - + Add a new Group - + Delete Chat History - + Deletes all stored and displayed chat history - + Create new Chat lobby - + Choose Font - + Reset font to default - + Keyring - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + Retroshare broadcast chat: messages are sent to all connected friends. - + Network - + Network graph - + Set your status message here. - + @@ -6066,305 +6128,305 @@ at least one peer was not added to a group Create new Profile - + Name - + Enter your nickname here - + Email - + Be careful: this email will be visible to your friends and friends of your friends. This information is required by PGP, but to stay anonymous, you can use a fake email. - + Password - + [Optional] Visible to your friends, and friends of friends. - + [Required] Examples: Home, Laptop,... - + [Required] Visible to your friends, and friends of friends. - + All fields are required with a minimum of 3 characters - + Password (check) - + - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> - + [Required] Type the same password again here. - + Passwords do not match - + Port - + This password is for PGP - + Node - + Create new node - + Generate new node - + Create a new node - + You can use it now to create a new node. - + Invalid hidden node - + Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile - + Import new profile - + Export selected profile - + Advanced options - + Create a hidden node - + Use profile - + hidden address - + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + Create new profile - + Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + Export profile - + RetroShare profile files (*.asc) - + Profile saved - + @@ -6373,77 +6435,77 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + Import profile - + Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6451,103 +6513,133 @@ Fill in your PGP password when asked, to sign your new key. Startup - + Start RetroShare when my system starts - + Start minimized - + Start minimized on system start - + For Advanced Users - + Enable Advanced Mode (Restart Required) - + Misc - + Do not show the Quit RetroShare MessageBox - + Auto Login - + - Register retroshare:// as URL protocol (Restart required) - + Register retroshare:// as URL protocol + You need administrator rights to change this option. - + - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle - + Idle Time - + seconds - + Launch startup wizard - + - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error - + Could not add retroshare:// as protocol. - + Could not remove retroshare:// protocol. - + General - + - + Minimize to Tray Icon - + @@ -6556,55 +6648,55 @@ Fill in your PGP password when asked, to sign your new key. Getting Started - + Invite Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be sure to get their invitation back as well... </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can only connect with friends if you have both added each other.</span></p></body></html> - + Add Your Friends to RetroShare - + Add Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6616,31 +6708,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6653,107 +6745,107 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + Connect To Friends - + Advanced: Open Firewall Port - + Further Help and Support - + Open RS Website - + Open FAQ Wiki - + Open Online Forums - + Email Support - + Email Feedback - + RetroShare Invitation - + Your friend has installed RetroShare, and would like you to try it out. - + You can get RetroShare here: %1 - + RetroShare is a private Friend-2-Friend sharing network. - + forums and channels, all of which are as secure as the file-sharing. - + Here is your friends ID Certificate. - + Cut and paste the text below into your RetroShare client - + and send them your ID Certificate to get securely connected. - + Cut Below Here - + RetroShare Feedback - + RetroShare Support - + It has many features, including built-in chat, messaging, - + @@ -6761,82 +6853,82 @@ p, li { white-space: pre-wrap; } Router Statistics - + GroupBox - + ID - + Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + Unknown Peer - + Pending packets - + Unknown - + @@ -6844,22 +6936,22 @@ p, li { white-space: pre-wrap; } Managed keys - + Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6867,7 +6959,15 @@ p, li { white-space: pre-wrap; } Show Group Chat - + + + + + GroupChooser + + + [Unknown] + @@ -6875,27 +6975,27 @@ p, li { white-space: pre-wrap; } Friends - + Family - + Co-Workers - + Other Contacts - + Favorites - + @@ -6903,78 +7003,78 @@ p, li { white-space: pre-wrap; } Directory is browsable for friends from groups - + Directory is NOT browsable for friends from groups - + Directory is accessible by anonymous tunnels from friends from groups - + Directory is NOT accessible by anonymous tunnels from friends from groups - + Directory is browsable for any friend - + Directory is NOT browsable for any friend - + Directory is accessible by anonymous tunnels from any friend - + Directory is NOT accessible by anonymous tunnels from any friend - + No one can browse this directory - + No one can anonymously access this directory. - + All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -6982,12 +7082,12 @@ p, li { white-space: pre-wrap; } Form - + Hide tabbar with one open tab - + @@ -6995,47 +7095,47 @@ p, li { white-space: pre-wrap; } Share - + Contacts: - + - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer - + - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7043,57 +7143,62 @@ p, li { white-space: pre-wrap; } Title - + Search Title - + Description - + Search Description - + Sort by Name - + Sort by Popularity - + Sort by Last Post - + Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + Display - + - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7101,97 +7206,97 @@ p, li { white-space: pre-wrap; } and - + and / or - + or - + Name - + Path - + Extension - + Hash - + Date - + Size - + Popularity - + contains - + contains all - + is - + less than - + less than or equal - + equals - + greater than or equal - + greater than - + is in range - + @@ -7200,68 +7305,68 @@ p, li { white-space: pre-wrap; } Channels - + Create Channel - + Enable Auto-Download - + My Channels - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + Subscribed Channels - + Popular Channels - + Other Channels - + Select channel download directory - + Disable Auto-Download - + Set download directory - + [Default directory] - + Specify... - + @@ -7269,52 +7374,52 @@ p, li { white-space: pre-wrap; } Form - + Download - + TextLabel - + Open folder - + Error - + Paused - + Waiting - + Checking - + Are you sure that you want to cancel and delete the file? - + Can't open folder - + @@ -7322,32 +7427,32 @@ p, li { white-space: pre-wrap; } Form - + Filename - + Size - + Title - + Published - + Status - + @@ -7355,37 +7460,37 @@ p, li { white-space: pre-wrap; } Create New Channel - + Channel - + Edit Channel - + Add Channel Admins - + Select Channel Admins - + Update Channel - + Create - + @@ -7393,257 +7498,308 @@ p, li { white-space: pre-wrap; } Copy RetroShare Link - + Subscribe to Channel - + Expand - + Remove Item - + Channel Description - + Loading - + New Channel - + Hide - + GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status - + Download - + - + Play - + Comments - + Copy RetroShare Link - + Unsubscribe From Channel - + Expand - + Set as read and remove item - + Remove Item - + - + Channel Feed - + - + Files - + Warning! You have less than %1 hours and %2 minute before this file is deleted Consider saving it. - + Hide - + New - + 0 - + Comment - + I like this - + I dislike this - + - + Loading - + - + Open - + Open File - + Play Media - + GxsChannelPostsWidget - + Post to Channel - + Loading - + Search channels - + - + Title - + Search Title - + Message - + Search Message - + Filename - + Search Filename - + No Channel Selected - + - + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download - + Enable Auto-Download - + Show feeds - + Show files - + - + + Administrator: + + + + + + unknown + + + + + Distribution: + + + + Feeds - + Files - + - + Subscribers - + - + Description: - + - + Posts (at neighbor nodes): - + @@ -7651,7 +7807,7 @@ p, li { white-space: pre-wrap; } Channel Post - + @@ -7659,7 +7815,7 @@ p, li { white-space: pre-wrap; } Comment Container - + @@ -7667,67 +7823,67 @@ p, li { white-space: pre-wrap; } Form - + Hot - + New - + Top - + Voter ID: - + Refresh - + Comment - + Author - + Date - + Score - + UpVotes - + DownVotes - + OwnVote - + @@ -7735,22 +7891,22 @@ p, li { white-space: pre-wrap; } Reply to Comment - + Submit Comment - + Vote Up - + Vote Down - + @@ -7758,32 +7914,32 @@ p, li { white-space: pre-wrap; } Make Comment - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> - + Signed by - + Comment Signing Error - + You need to create an Identity before you can comment - + @@ -7791,37 +7947,37 @@ before you can comment Create New Forum - + Forum - + Edit Forum - + Update Forum - + Add Forum Admins - + Select Forum Admins - + Create - + @@ -7829,38 +7985,38 @@ before you can comment Subscribe to Forum - + Expand - + Remove Item - + Forum Description - + Loading - + New Forum - + Hide - + @@ -7869,48 +8025,48 @@ before you can comment Subject: - + Unsubscribe To Forum - + Expand - + Set as read and remove item - + Remove Item - + In Reply to: - + Loading - + Forum Feed - + Hide - + @@ -7918,251 +8074,291 @@ before you can comment Form - + - + Start new Thread for Selected Forum - + Search forums - + Last Post - + Threaded View - + Flat View - + - + Title - + Date - + - + Author - + Save image - + - + Loading - + Reply Message - + Previous Thread - + Next Thread - + Download all files - + Next unread - + Search Title - + Search Date - + Search Author - + Content - + Search Content - + No name - + Reply - + Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + Start New Thread - + Expand all - + Collapse all - + Mark as read - + with children - + Mark as unread - + Copy RetroShare Link - + Hide - + Expand - + This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + + + + Anti-spam - + [ ... Redacted message ... ] - + Anonymous - + signed - + none - + [ ... Missing Message ... ] - + <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8172,85 +8368,85 @@ before you can comment RetroShare - + No Forum Selected! - + You cant reply to a non-existant Message - + You cant reply to an Anonymous Author - + Original Message - + From - + Sent - + Subject - + On %1, %2 wrote: - + - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description - + By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8258,7 +8454,7 @@ before you can comment Forum Post - + @@ -8266,38 +8462,38 @@ before you can comment <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + Forums - + Create Forum - + My Forums - + Subscribed Forums - + Popular Forums - + Other Forums - + @@ -8305,272 +8501,337 @@ before you can comment Waiting - + Retrieving - + Loading - + GxsGroupDialog - - + + Name - + - + Add Icon - + Key recipients can publish to restricted-type group and can view and publish for private-type channels - + Share Publish Key - + - + check peers you would like to share private publish key with - + Share Key With - + - - + + Description - + - + Message Distribution - + - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public - + - - - Restricted to Group - - - - - + Only For Your Friends - + - + Publish Signatures - + Open - + New Thread - + Required - + Encrypted Msgs - + Personal Signatures - + PGP Required - + Signature Required - + If No Publish Signature - + - Comments - + - + Allow Comments - + No Comments - + Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: - + - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name - + - + + PGP signature from known ID required + + + + Load Group Logo - + - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback - + Owner: - + - + Set a descriptive description here - + - + Info - + - - Comments allowed - - - - - Comments not allowed - - - - + ID - + - + Last Post - + + + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + - Popularity - + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + - - Posts - + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + + Popularity + - Type - + Posts + - + Author - + GxsIdLabel - + @@ -8578,146 +8839,146 @@ before you can comment Loading - + Todo - + Print - + PrintPreview - + Unsubscribe - + Subscribe - + Open in new tab - + Show Details - + Edit Details - + - + + Share publish permissions + + + + Copy RetroShare Link - + Mark all as read - + Mark all as unread - + - + AUTHD - - - - - Share admin permissions - + GxsIdChooser - + No Signature - + - + Create new Identity - + GxsIdDetails - + Loading - + Not found - + No Signature - + [Banned] - + Authentication - + unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8725,12 +8986,12 @@ before you can comment Loading - + No name - + @@ -8738,42 +8999,42 @@ before you can comment Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + @@ -8782,17 +9043,17 @@ before you can comment Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + @@ -8801,166 +9062,166 @@ before you can comment RetroShare Help - + Find: - + Find Previous - + Find Next - + Case sensitive - + Whole words only - + Contents - + Help Topics - + Search - + Searching for: - + Found Documents - + Back - + Move to previous page (Backspace) - + Backspace - + Forward - + Move to next page (Shift+Backspace) - + Shift+Backspace - + Home - + Move to the Home page (Ctrl+H) - + Ctrl+H - + Find - + Search for a word or phrase on current page (Ctrl+F) - + Ctrl+F - + Close - + Close Vidalia Help - + Esc - + Supplied XML file is not a valid Contents document. - + Search reached end of document - + Search reached start of document - + Text not found in document - + Found %1 results - + Error Loading Help Contents: - + @@ -8968,27 +9229,27 @@ before you can comment About - + Authors - + Thanks to - + Translation - + License Agreement - + @@ -8997,14 +9258,14 @@ before you can comment p, li { white-space: pre-wrap; } </style></head><body style=" font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; font-weight:600;">About RetroShare</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9015,14 +9276,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Swedish: </span><span style=" font-size:8pt;"> Daniel Wester</span><span style=" font-size:8pt; font-weight:600;"> &lt;</span><span style=" font-size:8pt;">wester@speedmail.se</span><span style=" font-size:8pt; font-weight:600;">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">German: </span><span style=" font-size:8pt;">Jan</span><span style=" font-size:8pt; font-weight:600;"> </span><span style=" font-size:8pt;">Keller</span> &lt;<span style=" font-size:8pt;">trilarion@users.sourceforge.net</span>&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polish: </span>Maciej Mrug</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9032,16 +9293,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + Libraries - + @@ -9049,115 +9310,115 @@ p, li { white-space: pre-wrap; } Opening External Link - + RetroShare can open the link you selected in your default Web browser. If your browser is not currently configured to use Tor then the request will not be anonymous. - + Do you want Retroshare to open the link in your Web browser? - + Unable to Open Link - + RetroShare was unable to open the selected link in your Web browser. You can still copy the URL and paste it into your browser. - + Error opening help file: - + IdDetailsDialog - + Person Details - + Identity Info - + Owner node ID : - + Type: - + Owner node name : - + Identity name : - + Identity ID : - + Last used: - + Your Avatar Click here to change your avatar - + Reputation - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9167,497 +9428,733 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + Unknown real name - + Anonymous Id - + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + Banned - + IdDialog - + + New ID - + - - + + All - + Reputation - + Search - + - - Unknown real name - - - - + Anonymous Id - + - + Create new Identity - + + + + + Create new circle + Persons - + - + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + + + + + Circle name + + + + + Membership + + + + + Public Circles + + + + + Personal Circles + + + + Edit identity - + Delete identity - + Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID - + - + Send message - + - + Identity info - + Identity ID : - + Owner node name : - + Type: - + Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous - + - + ID - + Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + OK - + Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People - + Your Avatar Click here to change your avatar - + - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9665,43 +10162,43 @@ p, li { white-space: pre-wrap; } Nickname - + Key ID - + PGP Name - + PGP Hash - + PGP Id - + Pseudonym - + New identity - + To be generated - + @@ -9714,43 +10211,43 @@ p, li { white-space: pre-wrap; } N/A - + Edit identity - + Error getting key! - + Error KeyID invalid - + Unknown GpgId - + Unknown real name - + Create New Identity - + Type - + @@ -9760,7 +10257,7 @@ p, li { white-space: pre-wrap; } TextLabel - + @@ -9769,43 +10266,43 @@ p, li { white-space: pre-wrap; } RM - + Add - + Your Avatar Click here to change your avatar - + Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9813,47 +10310,47 @@ p, li { white-space: pre-wrap; } Name - + KeyId - + GXSId - + Add - + - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9862,38 +10359,38 @@ p, li { white-space: pre-wrap; } Message History - + - + Copy - + Remove - + Mark all - + Delete - + Clear history - + Send - + @@ -9902,17 +10399,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -9921,115 +10418,115 @@ p, li { white-space: pre-wrap; } Open File - + Open Folder - + Edit Share Permissions - + Checking... - + Check files - + Edit Shared Folder - + Recommend in a message to - + Set command for opening this file - + Collection - + MainWindow - + Add Friend - + Add a Friend Wizard - + Add Share - + - + Options - + Messenger - + About - + SMPlayer - + Quit - + Quick Start Wizard - + - + RetroShare %1 a secure decentralized communication platform - + - + Unfinished - + Low disk space warning - + @@ -10038,794 +10535,794 @@ p, li { white-space: pre-wrap; } RetroShare will now safely suspend any disk access to this directory. Please make some free space and click Ok. - + Show/Hide - + Status - + Notify - + Open Messenger - + Open Messages - + Bandwidth Graph - + Applications - + Help - + Minimize - + Maximize - + &Quit - + RetroShare - + %1 new message - + %1 new messages - + Down: %1 (kB/s) - + Up: %1 (kB/s) - + %1 friend connected - + %1 friends connected - + Do you really want to exit RetroShare ? - + - + Internal Error - + Hide - + Show - + Make sure this link has not been forged to drag you to a malicious website. - + Don't ask me again - + It seems to be an old RetroShare link. Please use copy instead. - + The file link is malformed. - + ServicePermissions - + Service permissions matrix - + - + Add - + Statistics - + Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose - + Contacts - + Paragraph - + Heading 1 - + Heading 2 - + Heading 3 - + Heading 4 - + Heading 5 - + Heading 6 - + Font size - + Increase font size - + Decrease font size - + Bold - + Italic - + Alignment - + Add an Image - + Sets text font to code style - + Underline - + Subject: - + Tags: - + - + Tags - + Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + Recommended Files - + File Name - + Size - + Hash - + Send - + Send this message now - + Reply - + Toggle Contacts View - + Save - + Save this message - + Attach - + Attach File - + Quote - + Add Blockquote - + Send To: - + &Left - + C&enter - + &Right - + &Justify - + All addresses (mixed) - + All people - + My contacts - + Hello,<br>I recommend a good friend of mine; you can trust them too when you trust me. <br> - + You have a friend recommendation - + This friend is suggested by - + wants to be friends with you on RetroShare - + Hi %1,<br><br>%2 wants to be friends with you on RetroShare.<br><br>Respond now:<br>%3<br><br>Thanks,<br>The RetroShare Team - + - + Save Message - + Message has not been Sent. Do you want to save message to draft box? - + Paste RetroShare Link - + Add to "To" - + Add to "CC" - + Add to "BCC" - + Add as Recommend - + Original Message - + From - + To - + Cc - + Sent - + Subject - + On %1, %2 wrote: - + Re: - + Fwd: - + RetroShare - + Do you want to send the message without a subject ? - + Please insert at least one recipient. - + Bcc - + Unknown - + &File - + &New - + &Open... - + &Save - + Save &As File - + Save &As Draft - + &Print... - + &Export PDF... - + &Quit - + &Edit - + &Undo - + &Redo - + Cu&t - + &Copy - + &Paste - + &View - + &Contacts Sidebar - + &Insert - + &Image - + &Horizontal Line - + &Format - + Details - + Open File... - + HTML-Files (*.htm *.html);;All Files (*) - + Save as... - + Print Document - + Export PDF - + Message has not been Sent. Do you want to save message ? - + Choose Image - + Image Files supported (*.png *.jpeg *.jpg *.gif) - + Add Extra File - + Close - + From: - + - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10833,97 +11330,97 @@ Do you want to save message ? Everyone - + Contacts - + Nobody - + Accept encrypted distant messages from - + Reading - + Set message to read on activate - + Open messages in - + Tags - + Tags can be used to categorize and prioritize your messages - + Add - + Edit - + Delete - + Default - + A new tab - + A new window - + Edit Tag - + Message - + Distant messages: - + Load embedded images - + @@ -10931,7 +11428,7 @@ Do you want to save message ? Sub: - + @@ -10939,7 +11436,7 @@ Do you want to save message ? Message - + @@ -10947,123 +11444,123 @@ Do you want to save message ? Recommended Files - + Download all Recommended Files - + Subject: - + From: - + To: - + Cc: - + Bcc: - + Tags: - + File Name - + Size - + Hash - + Print - + Print Preview - + Confirm %1 as friend - + Add %1 as friend - + No subject - + Download - + Download all - + Print Document - + Save as... - + HTML-Files (*.htm *.html);;All Files (*) - + Load images always for this message - + Hide the attachment pane - + Show the attachment pane - + @@ -11071,131 +11568,131 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Forward - + Remove selected message - + Delete - + Print selected message - + Print - + Display - + Tags - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + &File - + Save &As File - + &Print... - + Print Preview... - + &Quit - + @@ -11204,67 +11701,67 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Foward - + Remove selected message - + Delete - + Print selected message - + Print - + Display - + @@ -11273,7 +11770,7 @@ Do you want to save message ? Tags - + @@ -11281,7 +11778,7 @@ Do you want to save message ? Inbox - + @@ -11289,18 +11786,18 @@ Do you want to save message ? Outbox - + Draft - + Sent - + @@ -11308,283 +11805,283 @@ Do you want to save message ? Trash - + Total Inbox: - + Folders - + Quick View - + Print... - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + Save As... - + Reply to Message - + Reply to All - + Forward Message - + Subject - + From - + Date - + Content - + Click to sort by attachments - + Click to sort by subject - + Click to sort by read - + Click to sort by from - + Click to sort by date - + Click to sort by tags - + Click to sort by star - + Forward selected Message - + Search Subject - + Search From - + Search Date - + Search Content - + Search Tags - + Attachments - + Search Attachments - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + Starred - + System - + Open in a new window - + Open in a new tab - + Mark as read - + Mark as unread - + Add Star - + Edit - + Edit as new - + Remove Messages - + Remove Message - + Undelete - + Empty trash - + Drafts - + No starred messages available. Stars let you give messages a special status to make them easier to find. To star a message, click on the light gray star beside any message. - + No system messages available. - + To - + Click to sort by to - + This message goes to a distant person. - + @@ -11593,33 +12090,33 @@ Do you want to save message ? Total: - + Messages - + Click to sort by signature - + This message was signed and the signature checks - + This message was signed but the signature doesn't check - + This message comes from a distant person. - + @@ -11627,17 +12124,17 @@ Do you want to save message ? RetroShare Messenger - + - + Add a Friend - + Share files for your friends - + @@ -11645,27 +12142,27 @@ Do you want to save message ? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + Paste RetroShare Link - + Paste my certificate link - + @@ -11673,58 +12170,58 @@ Do you want to save message ? Reply to Message - + Reply Message - + Delete Message - + Play Media - + Expand - + Remove Item - + Message From - + Sent Msg - + Draft Msg - + Pending Msg - + Hide - + @@ -11732,52 +12229,52 @@ Do you want to save message ? <strong>NAT:</strong> - + Network Status Unknown - + Offline - + Nasty Firewall - + DHT Disabled and Firewalled - + Network Restarting - + Behind Firewall - + DHT Disabled - + RetroShare Server - + Forwarded Port - + @@ -11785,146 +12282,146 @@ Do you want to save message ? Filter: - + Search Network - + Name - + Did I authenticated peer - + Did I sign his PGP key - + Did peer authenticated me - + Cert Id - + Last used - + Clear - + Set Tabs Right - + Set Tabs North - + Set Tabs South - + Set Tabs Left - + Set Tabs Rounded - + Set Tabs Triangular - + Add Friend - + Copy My Key to Clipboard - + Export My Key - + Create New Profile - + Create a new Profile - + Peer ID - + Deny friend - + Peer details... - + Remove unused keys... - + Clean keyring - + - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. The removal may fail when running multiple Retroshare instances on the same machine. - + Keyring info - + @@ -11932,165 +12429,165 @@ Notes: Your old keyring will be backed up. For security, your keyring was previously backed-up to file - + Unknown error - + Cannot delete secret keys - + Cannot create backup file. Check for permissions in pgp directory, disk space, etc. - + Personal signature - + PGP key signed by you - + Marginally trusted peer - + Fully trusted peer - + Untrusted peer - + Has authenticated me - + Unknown - + Last hour - + Today - + Never - + %1 days ago - + has authenticated you. Right-click and select 'make friend' to be able to connect. - + yourself - + Data inconsistency in the keyring. This is most probably a bug. Please contact the developers. - + Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12098,7 +12595,7 @@ Reported error: Network - + @@ -12106,22 +12603,22 @@ Reported error: Redraw - + Friendship level: - + Edge length: - + Freeze - + @@ -12129,27 +12626,27 @@ Reported error: New Tag - + Name: - + Choose color - + OK - + Cancel - + @@ -12157,42 +12654,42 @@ Reported error: News Feed - + Options - + Remove All - + This is a test. - + News feed - + Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12200,290 +12697,290 @@ Reported error: News Feed - + Channels - + Forums - + Blogs - + Messages - + Chat - + Security - + Test - + Systray Icon - + Message - + Connect attempt - + Toasters - + Friend Connect - + Ip security - + New Message - + Download completed - + Private Chat - + Group Chat - + Chat Lobby - + Position - + X Margin - + Y Margin - + Systray message - + Group chat - + Chat lobbies - + Combined - + Blink - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + Top Left - + Top Right - + Bottom Left - + Bottom Right - + Notify - + Disable All Toasters - + Posted - + Disable All Toaster temporarily - + Feed - + Systray - + Chat Lobbies - + Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase - + Wrong password ! - + Unregistered plugin/executable - + RetroShare has detected an unregistered plugin. This happens in two cases:<UL><LI>Your RetroShare executable has changed.</LI><LI>The plugin has changed</LI></UL>Click on Yes to authorize this plugin, or No to deny it. You can change your mind later in Options -> Plugins, then restart. - + - + Please check your system clock. - + - + Examining shared files... - + Hashing file - + Saving file index... - + Test - + This is a test. - + Unknown title - + Encrypted message - + - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12491,7 +12988,7 @@ Reported error: Friend Online - + @@ -12499,30 +12996,30 @@ Reported error: Normal Mode - + No Anon D/L - + Gaming Mode - + Low Traffic - + - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers - + @@ -12530,232 +13027,293 @@ Reported error: Dialog - + PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + Unknown - + No trust - + Marginal - + Full - + Ultimate - + Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign PGP key - + <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures - + + + + + Options + + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + PGP Key details - + - - + + RetroShare - + - - - + + + Error : cannot get peer details. - + - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) - + - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + Your trust in this peer is full. - + Your trust in this peer is marginal. - + Your trust in this peer is none. - + - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure - + Maybe password is wrong - + - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12768,7 +13326,7 @@ p, li { white-space: pre-wrap; } Unknown - + @@ -12776,88 +13334,88 @@ p, li { white-space: pre-wrap; } Chat - + Start Chat - + Expand - + Remove Item - + Name: - + Peer ID: - + Trust: - + Location: - + IP Address: - + Connection Method: - + Status: - + Write Message - + Friend - + Friend Connected - + Connect Attempt - + Friend of Friend - + Peer - + @@ -12870,17 +13428,17 @@ p, li { white-space: pre-wrap; } Unknown Peer - + Hide - + Send Message - + @@ -12888,42 +13446,96 @@ p, li { white-space: pre-wrap; } Friends: 0/0 - + Online Friends/Total Friends - + Friends - + PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -12931,7 +13543,7 @@ p, li { white-space: pre-wrap; } Form - + @@ -12939,62 +13551,62 @@ p, li { white-space: pre-wrap; } PhotoShare - + Photo - + TextLabel - + Comment - + Summary - + Caption - + Where: - + Photo Title: - + When - + ... - + Add Comment - + Write a comment... - + @@ -13002,39 +13614,39 @@ p, li { white-space: pre-wrap; } Form - + TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> - + @@ -13042,58 +13654,58 @@ p, li { white-space: pre-wrap; } Form - + Create Album - + View Album - + Subscribe To Album - + Slide Show - + My Albums - + Subscribed Albums - + Shared Albums - + View Photo - + PhotoShare - + Please select an album before requesting to edit it! - + @@ -13101,53 +13713,53 @@ requesting to edit it! Album Name - + Image - + Show/Hide Details - + << - + Stop - + >> - + Close - + Start - + Start Slide Show - + Stop Slide Show - + @@ -13155,7 +13767,7 @@ requesting to edit it! Remove - + @@ -13163,76 +13775,76 @@ requesting to edit it! TextLabel - + Show more details about this plugin - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> - + Enable this plugin (restart required) - + Enable - + Disable this plugin (restart required) - + Disable - + Launch configuration panel, if provided by the plugin - + Configure - + About - + File name: - + File hash: - + Status: - + will be enabled after your restart RetroShare. - + @@ -13240,37 +13852,37 @@ p, li { white-space: pre-wrap; } base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13278,22 +13890,22 @@ p, li { white-space: pre-wrap; } Install New Plugin... - + Open Plugin to install - + Plugins (*.so *.dll) - + Widget for plugin %1 not found on plugins frame - + @@ -13301,27 +13913,27 @@ p, li { white-space: pre-wrap; } Authorize all plugins - + Plugin look-up directories - + Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + No API number supplied. Please read plugin development manual. - + @@ -13330,37 +13942,37 @@ p, li { white-space: pre-wrap; } [loading problem] - + No SVN number supplied. Please read plugin development manual. - + Loading error. - + Missing symbol. Wrong version? - + No plugin object - + Plugins is loaded. - + Unknown status. - + @@ -13368,18 +13980,18 @@ p, li { white-space: pre-wrap; } be checked for the hash. However, in normal times, checking the hash protects you from malicious behavior of crafted plugins. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + Plugins - + @@ -13387,7 +13999,7 @@ malicious behavior of crafted plugins. Popularity - + @@ -13395,17 +14007,17 @@ malicious behavior of crafted plugins. Clear offline messages - + Hide Avatar - + Show Avatar - + @@ -13413,36 +14025,36 @@ malicious behavior of crafted plugins. Avatar - + Set your Avatar Picture - + Dock tab - + Undock tab - + Set Chat Window Color - + Set window on top - + @@ -13450,32 +14062,32 @@ malicious behavior of crafted plugins. Chat remotely closed. Please close this window. - + The person you're talking to has deleted the secured chat tunnel. You may remove the chat window now. - + Closing this window will end the conversation, notify the peer and remove the encrypted tunnel. - + Kill the tunnel? - + Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13483,57 +14095,57 @@ malicious behavior of crafted plugins. Signed by: - + Notes - + RetroShare - + Please create or choose a Signing Id first - + Submit Post - + You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + Submit - + Submit a new Post - + Please add a Title - + Title - + Link - + @@ -13541,42 +14153,42 @@ malicious behavior of crafted plugins. Posted Links - + Posted - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + My Topics - + Subscribed Topics - + Popular Topics - + Other Topics - + @@ -13584,37 +14196,37 @@ malicious behavior of crafted plugins. Posted Topic - + Add Topic Admins - + Select Topic Admins - + Create New Topic - + Edit Topic - + Update Topic - + Create - + @@ -13622,107 +14234,117 @@ malicious behavior of crafted plugins. Subscribe to Posted - + Expand - + Remove Item - + Posted Description - + Loading - + New Posted - + Hide - + PostedItem - + 0 - + Site - + - + Comments - + Comment - + Vote up - + Vote down - + \/ - + Set as read and remove item - + New - + - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status - + Remove Item - + - + Loading - + By - + @@ -13730,77 +14352,77 @@ malicious behavior of crafted plugins. Form - + Hot - + New - + Top - + Today - + Yesterday - + This Week - + This Month - + This Year - + Submit a new Post - + Next - + RetroShare - + Please create or choose a Signing Id before Voting - + Previous - + 1-10 - + @@ -13808,17 +14430,17 @@ malicious behavior of crafted plugins. Tabs - + Posted - + Open each topic in a new tab - + @@ -13826,7 +14448,7 @@ malicious behavior of crafted plugins. Posted - + @@ -13834,37 +14456,37 @@ malicious behavior of crafted plugins. RetroShare Message - Print Preview - + Print - + &Print... - + Page Setup... - + Zoom In - + Zoom Out - + &Close - + @@ -13873,39 +14495,39 @@ malicious behavior of crafted plugins. Profile Manager - + Name - + Email - + GID - + Export Identity - + RetroShare Identity files (*.asc) - + Identity saved - + @@ -13914,80 +14536,80 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Identity not saved - + Your identity was not saved. An error occurred. - + Import Identity - + Identity not loaded - + Your identity was not loaded properly: - + New identity imported - + Your identity was imported successfully: - + Select Trusted Friend - + Certificates (*.pqi *.pem) - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + You can use it now to create a new node. - + @@ -13996,98 +14618,98 @@ p, li { white-space: pre-wrap; } Edit status message - + Copy Certificate - + Profile Manager - + Public Information - + Name: - + Location: - + Peer ID: - + Number of Friends: - + Version: - + Online since: - + Other Information - + My Address - + Local Address: - + External Address: - + Dynamic DNS: - + Addresses list: - + RetroShare - + Sorry, create certificate failed - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -14095,61 +14717,61 @@ p, li { white-space: pre-wrap; } Post From: - + Account 1 - + Account 2 - + Account 3 - + Add to Pulse - + filter - + URL Adder - + Display As - + URL - + Cancel - + Post Pulse to Wire - + @@ -14157,323 +14779,338 @@ p, li { white-space: pre-wrap; } From - + Date - + ... - + QObject - - - + + + Confirmation - + Do you want this link to be handled by your system? - + - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. - + - + Add file - + Add files - + Do you want to process the link ? - + Do you want to process %1 links ? - + - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. - + %1 of %2 RetroShare links processed. - + File added - + Files added - + File exist - + Files exist - + Friend added - + Friends added - + Friend exist - + Friends exist - + Friend not added - + Friends not added - + Friend not found - + Friends not found - + Forum not found - + Forums not found - + Forum message not found - + Forum messages not found - + Channel not found - + Channels not found - + Channel message not found - + Channel messages not found - + + + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + Recipient not accepted - + Recipients not accepted - + Unkown recipient - + Unkown recipients - + Malformed links - + Invalid links - + Warning: forbidden characters found in filenames. Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. - + Result - + - + Unable to make path - + Unable to make path: - + Failed to process collection file - + - + Deny friend - + Make friend - + Peer details - + File Request canceled - + - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. - + Choose between:<br><ul><li><b>Ok</b> to copy the existing keyring from gnupg (safest bet), or </li><li><b>Close without saving</b> to start fresh with an empty keyring (you will be asked to create a new PGP key to work with RetroShare, or import a previously saved pgp keypair). </li><li><b>Cancel</b> to quit and forge a keyring by yourself (needs some PGP skills)</li></ul> - + - + RetroShare - + - + Initialization failed. Wrong or missing installation of PGP. - + An unexpected error occurred. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + Multiple instances - + Another RetroShare using the same profile is already running on your system. Please close that instance first Lock file: - + An unexpected error occurred when Retroshare tried to acquire the single instance lock Lock file: - - - - - Start with a RetroShare link is only supported for Windows. - + Distant peer has closed the chat - + Tunnel is pending... - + Secured tunnel is working. You can talk! - + @@ -14481,186 +15118,186 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Reported error is: %2 - + - + Click to send a private message to %1 (%2). - + %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + secs - + TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + %1 days ago - + Subject: - + Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error - + unable to parse XML file! - + @@ -14668,19 +15305,19 @@ Security: no anonymous IDs Quick Start Wizard - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14689,7 +15326,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Choose which files you share.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Get started using RetroShare.</span></p></body></html> - + @@ -14697,7 +15334,7 @@ p, li { white-space: pre-wrap; } Next > - + @@ -14706,73 +15343,73 @@ p, li { white-space: pre-wrap; } Exit - + For best performance, RetroShare needs to know a little about your connection to the internet. - + Choose your download speed limit: - + KB/s - + Choose your upload speed limit: - + Connection : - + Automatic (UPnP) - + Firewalled - + Manually forwarded port - + Discovery : - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + @@ -14780,153 +15417,153 @@ p, li { white-space: pre-wrap; } < Back - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> - + Directory - + Network Wide - + Browseable - + Add - + Remove - + Automatically share incoming directory (Recommended) - + RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + Do not show a message when Closing RetroShare - + Start Minimized - + Start RetroShare when my System Starts. - + Start minimized on system start - + Finish - + Select A Folder To Share - + Shared Directory Added! - + Warning! - + Browsable - + Universal - + If checked, the share is anonymously shared to anybody. - + If checked, the share is browsable by your friends. - + @@ -14934,12 +15571,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + @@ -14947,17 +15584,17 @@ p, li { white-space: pre-wrap; } %1 KB - + %1 MB - + %1 GB - + @@ -14965,17 +15602,17 @@ p, li { white-space: pre-wrap; } Form - + The loading of embedded images is blocked. - + Load images - + @@ -14983,60 +15620,60 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15044,17 +15681,17 @@ p, li { white-space: pre-wrap; } Down - + Up - + <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15062,89 +15699,89 @@ p, li { white-space: pre-wrap; } Enable Relay Connections - + Use Relay Servers - + Relay options - + Number - + Bandwidth per link - + Total Bandwidth - + Friends - + kB/s - + Friends of Friends - + General - + Total: - + Relay Server Setup - + Add Server - + Server DHT Key - + Remove Server - + Relay - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15152,17 +15789,17 @@ p, li { white-space: pre-wrap; } Download - + Recommend in a message to - + Collection - + @@ -15170,7 +15807,7 @@ p, li { white-space: pre-wrap; } NEW - + @@ -15178,27 +15815,27 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + Unknown - + @@ -15206,33 +15843,33 @@ p, li { white-space: pre-wrap; } Add IP to whitelist - + Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15240,194 +15877,199 @@ p, li { white-space: pre-wrap; } Collection - + File name : - + Total size : - + Cancel - + Download! - + - + File - + - + Size - + Hash - + Bad filenames have been cleaned - + Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. - + Selected files : - + ... - + <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + >> - + <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + + - + Save - + - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + Real Size=%1 - + Real File Count=%1 - + Save Collection File. - + What do you want to do? - + Overwrite - + Merge - + Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + File already exists. - + <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15436,17 +16078,17 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Cannot open file %1 - + Error parsing xml file - + Open collection file - + @@ -15454,60 +16096,60 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Collection files - + Create collection file - + This file contains the string "%1" and is therefore an invalid collection file. If you believe it is correct, remove the corresponding line from the file and re-open it with Retroshare. - + Save Collection File. - + What do you want to do? - + Overwrite - + Merge - + Cancel - + File already exists. - + RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? - + @@ -15515,85 +16157,94 @@ Reducing image to %1x%2 pixels? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. - + Sets the directory RetroShare uses for data files. - + Sets the name and location of RetroShare's logfile. - + Sets the verbosity of RetroShare's logging. - + Sets RetroShare's interface style. - + Sets RetroShare's interface stylesheets. - + Sets RetroShare's language. - + RetroShare Usage Information - + - + Unable to open log file '%1': %2 - + built-in - + Could not create data directory: %1 - + - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -15601,7 +16252,7 @@ Reducing image to %1x%2 pixels? RTT Statistics - + @@ -15609,282 +16260,282 @@ Reducing image to %1x%2 pixels? Enter a keyword here (at least 3 char long) - + Start Search - + Search - + Advanced Search - + Advanced - + Search inside "browsable" files of your friends - + Browsable files - + Multi-hop search at distance 6 in the network (always reports available files) - + Distant - + Include files from your own file list in the search result - + Own files - + Close all Search Results - + Clear - + KeyWords - + Results - + Search Id - + Filename - + Size - + Sources - + Type - + Age - + Hash - + Filter: - + Filter Search Result - + Max results: - + Any - + Archive - + Audio - + CD-Image - + Document - + Picture - + Program - + Video - + Directory - + Download Selected - + Download selected - + File Name - + Download - + Copy RetroShare Link - + Send RetroShare Link - + Download Notice - + Skipping Local Files - + Sorry - + This function is not yet implemented. - + Search again - + Remove - + Remove All - + Folder - + New RetroShare Link(s) - + Open Folder - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + Collection - + @@ -15892,81 +16543,81 @@ Reducing image to %1x%2 pixels? Peer details - + Expand - + Remove Item - + IP address: - + Peer ID: - + Location: - + Peer Name: - + Unknown Peer - + Hide - + but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -15974,108 +16625,108 @@ Reducing image to %1x%2 pixels? wants to be friend with you on RetroShare - + Accept Friend Request - + Peer details - + Deny friend - + Chat - + Start Chat - + Expand - + Remove Item - + Name: - + Peer ID: - + Trust: - + Location: - + IP Address: - + Connection Method: - + Status: - + Write Message - + Connect Attempt - + Connection refused by remote peer - + Unknown (Incoming) Connect Attempt - + Unknown (Outgoing) Connect Attempt - + Unknown Security Issue - + @@ -16084,42 +16735,42 @@ Reducing image to %1x%2 pixels? Unknown Peer - + Hide - + Do you want to remove this Friend? - + Certificate has wrong signature!! This peer is not who he claims to be. - + Missing/Damaged certificate. Not a real Retroshare user. - + Certificate caused an internal error. - + Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16127,529 +16778,529 @@ Reducing image to %1x%2 pixels? Network Configuration - + Network Mode - + Nat - + Automatic (UPnP) - + Firewalled - + Manually Forwarded Port - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + Local Address - + External Address - + Dynamic DNS - + Port: - + Local network - + External ip address finder - + UPnP - + Known / Previous IPs: - + Show Discovery information in statusbar - + If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. - + Allow RetroShare to ask my ip to these websites: - + kB/s - + Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + Onion Address - + Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + Clear - + Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + Test - + Network - + IP Filters - + IP blacklist - + IP range - + Status - + Origin - + Reason - + Comment - + IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + Remove - + Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16657,27 +17308,27 @@ If you have issues connecting over Tor check the Tor logs too. Service permissions - + Service Permissions - + Use as direct source, when available - + Auto-download recommended files - + Require whitelist - + @@ -16685,27 +17336,27 @@ If you have issues connecting over Tor check the Tor logs too. ServicePermissions - + Reset - + Permissions - + hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16713,7 +17364,7 @@ If you have issues connecting over Tor check the Tor logs too. Options - + @@ -16721,48 +17372,48 @@ If you have issues connecting over Tor check the Tor logs too. RetroShare Share Folder - + Share Folder - + Local Path - + Browse - + Virtual Folder - + Share Flags - + Edit Shared Folder - + Select A Folder To Share - + Share flags and groups: - + @@ -16770,23 +17421,23 @@ If you have issues connecting over Tor check the Tor logs too. check peers you would like to share private publish key with - + Share for Friend - + Share - + You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -16794,110 +17445,110 @@ Select the Friends with which you want to Share your Channel. RetroShare Share Manager - + Shared Folder Manager - + Directory - + Virtual Folder - + Share flags - + Groups - + Add a Share Directory - + Add - + Stop sharing selected Directory - + Remove - + Apply and close - + Edit selected Shared Directory - + Edit - + Share Manager - + Edit Shared Folder - + Warning! - + Do you really want to stop sharing this directory ? - + Drop file error. - + File can't be dropped, only directories are accepted. - + Directory not found or directory name not accepted. - + This is a list of shared folders. You can add and remove folders using the buttons at the bottom. When you add a new folder, intially all files in that folder are shared. You can separately setup share flags for each shared directory. - + @@ -16905,128 +17556,128 @@ Select the Friends with which you want to Share your Channel. Files - + Search files - + Start Search - + Reset - + Tree view - + Flat view - + All - + One day old - + One Week old - + One month old - + check files - + Download selected - + Download - + Copy retroshare Links to Clipboard - + Copy retroshare Links to Clipboard (HTML) - + Send retroshare Links - + Send retroshare Links to Cloud - + Add Links to Cloud - + RetroShare Link - + Recommendation(s) - + Add Share - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + @@ -17034,48 +17685,48 @@ Select the Friends with which you want to Share your Channel. Friend - + Go Online - + Chatmessage - + New Msg - + Message - + Message arrived - + Download - + Download complete - + Lobby - + @@ -17083,42 +17734,42 @@ Select the Friends with which you want to Share your Channel. Event: - + Filename: - + Browse - + Event - + Filename - + Open File - + Sound - + Default - + @@ -17126,30 +17777,30 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile - + Load configuration - + Create interface - + @@ -17157,60 +17808,60 @@ Select the Friends with which you want to Share your Channel. RetroShare - + Login - + Name (PGP Id) - location: - + Remember Password - + Log In - + Opens a dialog for creating a new profile or adding locations to an existing profile. The current identities/locations will not be affected. - + Load Person Failure - + Missing PGP Certificate - + Warning - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17219,7 +17870,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17228,7 +17879,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17237,7 +17888,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17245,83 +17896,83 @@ This choice can be reverted in settings. Add Friend - + Add a Friend Wizard - + Add Share - + Options - + Messenger - + About - + SMPlayer - + Quit - + Quick Start Wizard - + ServicePermissions - + Service permissions matrix - + DHT - + Bandwidth - + Turtle Router - + Global Router - + RTT Statistics - + @@ -17330,165 +17981,165 @@ This choice can be reverted in settings. Offline - + Away - + Busy - + Online - + Idle - + Friend is offline - + Friend is away - + Friend is busy - + Friend is online - + Friend is idle - + Connected - + Unreachable - + Available - + Neighbor - + Trying TCP - + Trying UDP - + Connected: TCP - + Connected: UDP - + Connected: I2P - + Connected: Unknown - + DHT: Contact - + TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17496,30 +18147,30 @@ This choice can be reverted in settings. Status message - + Message: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> - + @@ -17528,43 +18179,43 @@ p, li { white-space: pre-wrap; } Define Style - + Choose color - + Color 2 - + Color 1 - + Style - + None - + Solid - + Gradient - + @@ -17572,124 +18223,124 @@ p, li { white-space: pre-wrap; } %p Kb - + Cancel Download - + Download File - + Download - + Play File - + Play - + Save File - + ERROR - + EXTRA - + REMOTE - + DOWNLOAD - + LOCAL - + UPLOAD - + Remove Attachment - + File %1 does not exist at location. - + File %1 is not completed. - + Save Channel File - + Open - + Open File - + Copy RetroShare Link - + SubscribeToolButton - + Subscribed - + - + Unsubscribe - + - + Subscribe - + @@ -17697,7 +18348,7 @@ p, li { white-space: pre-wrap; } Pause - + @@ -17705,27 +18356,27 @@ p, li { white-space: pre-wrap; } Important - + Work - + Personal - + Todo - + Later - + @@ -17733,12 +18384,12 @@ p, li { white-space: pre-wrap; } Remove All Tags - + New tag ... - + @@ -17746,12 +18397,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17759,90 +18410,90 @@ p, li { white-space: pre-wrap; } Transfer options - + Maximum simultaneous downloads: - + Slots reserved for non-cache transfers: - + Default chunk strategy: - + Safety disk space limit : - + Streaming - + Progressive - + Random - + MB - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> - + Max. tunnel req. forwarded per second: - + <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -17850,367 +18501,367 @@ p, li { white-space: pre-wrap; } Download completed - + You have %1 completed downloads - + You have %1 completed download - + %1 completed downloads - + %1 completed download - + TransfersDialog - + Downloads - + Uploads - + - + Name i.e: file name - + Size i.e: file size - + Completed - + Speed i.e: Download speed - + Progress / Availability i.e: % downloaded - + Sources i.e: Sources - + Status - + Speed / Queue position - + Remaining - + Download time i.e: Estimated Time of Arrival / Time left - + Peer i.e: user name - + Progress i.e: % uploaded - + Speed i.e: upload speed - + Transferred - + Hash - + Search - + Friends files - + My files - + Download from collection file... - + Pause - + Resume - + Force Check - + Cancel - + Open Folder - + Open File - + Preview File - + Details... - + Clear Completed - + Copy RetroShare Link - + Paste RetroShare Link - + Down - + Up - + Top - + Bottom - + Streaming - + Slower - + Average - + Faster - + Random - + Progressive - + Play - + Rename file... - + Specify... - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + Move in Queue... - + Priority (Speed)... - + Chunk strategy - + Set destination directory - + Choose directory - + - + Failed - - - - - - - Okay - - - - - - Waiting - - - - - Downloading - - - - - - - - Complete - + + + + Okay + + + + + + Waiting + + + + + Downloading + + + + + + + + Complete + + + + Queued - + Paused - + Checking... - + Unknown - + - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18221,27 +18872,27 @@ map of the data; it will compare and invalidate bad blocks, and download them again Try to be patient! - + Transferring - + Uploading - + Are you sure that you want to cancel and delete these files? - + RetroShare - + @@ -18249,229 +18900,229 @@ Try to be patient! File preview - + Can't create link for file %1. - + File %1 preview failed. - + Click OK when program terminates! - + Open Transfer - + File %1 is not completed. If it is a media file, try to preview it. - + Change file name - + Please enter a new file name - + Please enter a new--and valid--filename - + - + Last Time Seen i.e: Last Time Receiced Data - + UserID - + Expand all - + Collapse all - + Size - + Show Size Column - + Show Completed Column - + Speed - + Show Speed Column - + Progress / Availability - + Show Progress / Availability Column - + Sources - + Show Sources Column - + Show Status Column - + Show Speed / Queue position Column - + Show Remaining Column - + Download time - + Show Download time Column - + Show Hash Column - + Last Time Seen - + Show Last Time Seen Column - + Columns - + File Transfers - + Path i.e: Where file is saved - + Path - + Show Path Column - + - + Could not delete preview file - + Try it again? - + - + Create Collection... - + Modify Collection... - + View Collection... - + Collection - + - + File sharing - + - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: - + @@ -18480,69 +19131,69 @@ Try to be patient! My files - + FILE - + Files - + File - + DIR - + Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + What's new - + Groups - + @@ -18551,13 +19202,13 @@ Try to be patient! Search requests - + Tunnel requests - + @@ -18566,28 +19217,28 @@ Try to be patient! Unknown hashes - + Tunnel id - + last transfer - + Speed - + Request id: %1 from [%2] %3 secs ago - + @@ -18595,12 +19246,12 @@ Try to be patient! Router Statistics - + F2F router information - + @@ -18608,42 +19259,42 @@ Try to be patient! Router Statistics - + Age in seconds - + Depth - + total - + Anonymous tunnels - + Authenticated tunnels - + Unknown Peer - + Turtle Router - + @@ -18651,47 +19302,47 @@ Try to be patient! Search requests repartition - + Tunnel requests repartition - + Turtle router traffic - + Tunnel requests Up - + Tunnel requests Dn - + Incoming file data - + Outgoing file data - + TR Forward probabilities - + Forwarded data - + @@ -18703,7 +19354,7 @@ Try to be patient! Loading - + @@ -18711,22 +19362,22 @@ Try to be patient! B - + KB - + MB - + GB - + @@ -18734,22 +19385,22 @@ Try to be patient! You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + @@ -18757,57 +19408,57 @@ Try to be patient! OK - + Cancel - + Yes - + No - + Help - + Retry - + Show Log - + Show Settings - + Continue - + Quit - + Browse - + @@ -18815,62 +19466,62 @@ Try to be patient! Form - + Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -18878,123 +19529,123 @@ Try to be patient! Basic Details - + Group Name: - + Category: - + Travel - + Holiday - + Friends - + Family - + Work - + Random - + Description: - + Share Options - + Public - + All Friends - + Restricted - + N/A - + University Friends - + This List Contains - + All your Groups - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with XXX Key - + Cancel - + Create Group - + @@ -19003,107 +19654,107 @@ Try to be patient! Wiki Pages - + New Group - + Page Name - + Page Id - + Orig Id - + << - + >> - + Republish - + Edit - + New Page - + Refresh - + Search - + My Groups - + Subscribed Groups - + Popular Groups - + Other Groups - + Subscribe to Group - + Unsubscribe to Group - + Todo - + Show Wiki Group - + Edit Wiki Group - + @@ -19111,127 +19762,127 @@ Try to be patient! Page Edit History - + Enable Obsolete Edits - + Choose for Merge - + Merge for Republish (TODO) - + Publish Date - + By - + PageId - + \/ - + /\ - + Wiki Group: - + Page Name: - + Previous Version - + Tags - + Show Edit History - + Status - + Preview - + Cancel - + Revert - + Submit - + Hide Edit History - + Edit Page - + Create New Wiki Page - + Republish - + Edit Wiki Page - + @@ -19239,37 +19890,37 @@ Try to be patient! Create New Wiki Group - + Wiki Group - + Edit Wiki Group - + Add Wiki Moderators - + Select Wiki Moderators - + Create Group - + Update Group - + @@ -19277,98 +19928,98 @@ Try to be patient! TimeRange - + All - + Last Month - + Last Week - + Today - + New - + from - + until - + Search/Filter - + Network Wide - + Manage Accounts - + Showing: - + Yourself - + Friends - + Following - + Custom - + Account 1 - + Account 2 - + Account 3 - + @@ -19377,12 +20028,12 @@ Try to be patient! CheckBox - + Post Pulse to Wire - + @@ -19391,112 +20042,112 @@ Try to be patient! Unknown Unknown (size) - + B bytes - + KB kilobytes (1024 bytes) - + MB megabytes (1024 kilobytes) - + GB gigabytes (1024 megabytes) - + TB, terabytes (1024 gigabytes) - + TB terabytes (1024 gigabytes) - + Unknown - + < 1m < 1 minute - + %1 minutes e.g: 10minutes - + %1h %2m e.g: 3hours 5minutes - + %1d %2h e.g: 2days 10hours - + %1y %2d e.g: 2 years 2days - + k e.g: 3.1 k - + M e.g: 3.1 M - + G e.g: 3.1 G - + T e.g: 3.1 T - + Load avatar image - + Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_bg.ts b/retroshare-gui/src/lang/retroshare_bg.ts index fb183b897..886305bb6 100644 --- a/retroshare-gui/src/lang/retroshare_bg.ts +++ b/retroshare-gui/src/lang/retroshare_bg.ts @@ -1,4 +1,6 @@ - + + + AWidget @@ -28,7 +30,7 @@ Copy Info - + @@ -88,9 +90,9 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file - + @@ -98,27 +100,27 @@ RetroShare: Advanced Search - + Search Criteria - + Add a further search criterion. - + Reset the search criteria. - + Cancels the search. - + @@ -128,12 +130,12 @@ Perform the advanced search. - + Search - + @@ -142,87 +144,87 @@ Create Album - + Album Name: - + Category: - + Animals - + Family - + Friends - + Flowers - + Holiday - + Landscapes - + Pets - + Portraits - + Travel - + Work - + Random - + Caption: - + Where: - + Photographer: - + @@ -232,12 +234,12 @@ Share Options - + Policy: - + @@ -247,101 +249,101 @@ Comments: - + Identity: - + Public - + Restricted - + Resize Images (< 1Mb) - + Resize Images (< 10Mb) - + Send Original Images - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with Identity - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Back - + Add Photos - + Publish Album - + Untitle Album - + Say something about this album... - + Where were these taken? - + Load Album Thumbnail - + @@ -350,47 +352,47 @@ p, li { white-space: pre-wrap; } Album - + Album Thumbnail - + TextLabel - + Summary - + Album Title: - + Category: - + Caption - + Where: - + When - + @@ -400,51 +402,51 @@ p, li { white-space: pre-wrap; } Share Options - + Comments - + Publish Identity - + Visibility - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Add Photo - + Edit Photo - + Delete Photo - + Publish Photos - + @@ -459,25 +461,25 @@ p, li { white-space: pre-wrap; } TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + @@ -485,169 +487,169 @@ p, li { white-space: pre-wrap; } Language - + Changes to language will only take effect after restarting RetroShare! - + Choose the language used in RetroShare - + Style - + Choose RetroShare's interface style - + Style Sheet - + Appearance - + Tool Bar - + On Tool Bar - + On List Item - + Where do you want to have the buttons for menu? - + On List Ite&m - + Where do you want to have the buttons for the page? - + Icon Only - + Text Only - + Text Beside Icon - + Text Under Icon - + Choose the style of Tool Buttons. - + Choose the style of List Items. - + Icon Size = 8x8 - + Icon Size = 16x16 - + Icon Size = 24x24 - + Icon Size = 64x64 - + Icon Size = 128x128 - + Status Bar - + Remove surplus text in status bar. - + Compact Mode - + Hide Sound Status - + Hide Toaster Disable - + Show SysTray on Status Bar - + Disable SysTray ToolTip - + Icon Size = 32x32 - + @@ -662,37 +664,37 @@ p, li { white-space: pre-wrap; } Warning: The services here are experimental. Please help us test them. But Remember: Any data here *WILL* be lost when we upgrade the protocols. - + Identities - + Circles - + GxsForums - + GxsChannels - + The Wire - + Photos - + @@ -700,17 +702,17 @@ p, li { white-space: pre-wrap; } %p Kb - + Cancel Download - + [ERROR]) - + @@ -718,17 +720,17 @@ p, li { white-space: pre-wrap; } Change Avatar - + Your Avatar Picture - + Add Avatar - + @@ -738,12 +740,12 @@ p, li { white-space: pre-wrap; } Set your Avatar picture - + Load Avatar - + @@ -751,15 +753,15 @@ p, li { white-space: pre-wrap; } Click to change your avatar - + BWGraphSource - + KB/s - + @@ -767,7 +769,7 @@ p, li { white-space: pre-wrap; } N/A - + @@ -775,7 +777,7 @@ p, li { white-space: pre-wrap; } RetroShare Bandwidth Usage - + @@ -791,37 +793,37 @@ p, li { white-space: pre-wrap; } Receive Rate - + Send Rate - + Always on Top - + Style - + Changes the transparency of the Bandwidth Graph - + 100 - + % Opaque - + @@ -836,12 +838,12 @@ p, li { white-space: pre-wrap; } Since: - + Hide Settings - + @@ -850,23 +852,23 @@ p, li { white-space: pre-wrap; } Sum - + All - + KB/s - + Count - + @@ -879,67 +881,67 @@ p, li { white-space: pre-wrap; } ID - + In (KB/s) - + InMax (KB/s) - + InQueue - + InAllocated (KB/s) - + Allocated Sent - + Out (KB/s) - + OutMax (KB/s) - + OutQueue - + OutAllowed (KB/s) - + Allowed Recvd - + TOTALS - + Totals - + @@ -952,42 +954,42 @@ p, li { white-space: pre-wrap; } Form - + Формуляр Friend: - + Type: - + Up - + Down - + Service: - + Unit: - + Log scale - + @@ -995,27 +997,27 @@ p, li { white-space: pre-wrap; } Channels - + Tabs - + General - + Load posts in background (Thread) - + Open each channel in a new tab - + @@ -1023,155 +1025,160 @@ p, li { white-space: pre-wrap; } Participants - + Change nick name - + Mute participant - + + + + + Ban this person (Sets negative opinion) + Send Message - + Sort by Name - + Sort by Activity - + - + Invite friends to this lobby - + Leave this lobby (Unsubscribe) - + Invite friends - + Select friends to invite: - + - + Welcome to lobby %1 - + Topic: %1 - + Lobby chat - + - + Lobby management - + %1 has left the lobby. - + %1 joined the lobby. - + %1 changed his name to: %2 - + Unsubscribe to lobby - + Do you want to unsubscribe to this chat lobby? - + Right click to mute/unmute participants<br/>Double click to address this person<br/> - + This participant is not active since: - + seconds - + - + Start private chat - + - + Decryption failed. - + Signature mismatch - + Unknown key - + Unknown hash - + Unknown error. - + Cannot start distant chat - + Distant chat cannot be initiated: - + @@ -1179,7 +1186,7 @@ p, li { white-space: pre-wrap; } Show Chat Lobby - + @@ -1187,49 +1194,49 @@ p, li { white-space: pre-wrap; } Chat Lobbies - + You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + Unknown Lobby - + Remove All - + ChatLobbyWidget - + Chat lobbies - + - + Name Име @@ -1237,144 +1244,144 @@ p, li { white-space: pre-wrap; } Count - + Topic - + Private Lobbies - + Public Lobbies - + Create chat lobby - + [No topic provided] - + - + Selected lobby info - + Private - + Public - + Anonymous IDs accepted - + You're not subscribed to this lobby; Double click-it to enter and chat. - + Remove Auto Subscribe - + Add Auto Subscribe - + %1 invites you to chat lobby named %2 - + - + Search Chat lobbies - + Search Name - + Subscribed - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + Columns - + Yes - + No - + - + Lobby Name: - + Lobby Id: - + Topic: - + Type: - + Security: - + Peers: - + @@ -1384,93 +1391,93 @@ p, li { white-space: pre-wrap; } TextLabel - + No lobby selected. Select lobbies at left to show details. Double click lobbies to enter and chat. - + Private Subscribed Lobbies - + Public Subscribed Lobbies - + Chat Lobbies - + Leave this lobby - + Enter this lobby - + Enter this lobby as... - + Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + You will need to create an identity in order to join chat lobbies. - + Choose an identity for this lobby: - + Create an identity and enter this lobby - + Show - + Показване column - + @@ -1483,28 +1490,28 @@ Double click lobbies to enter and chat. Write a quick Message - + Send Mail - + Write Message - + Start Chat - + Send - + @@ -1512,167 +1519,172 @@ Double click lobbies to enter and chat. Отмяна - + Quick Message - + ChatPage - + General - + - + Distant Chat - + Everyone - + Contacts - + Nobody - + Accept encrypted distant chat from - + Chat Settings - + Enable Emoticons Private Chat - + Enable Emoticons Group Chat - + Enable custom fonts - + Enable custom font size - + Minimum font size - + Enable bold - + Enable italics - + Minimum text contrast - + Send message with Ctrl+Return - + + + + + Send as plain text by default + Chat Lobby - + Blink tab icon - + Private Chat - + Open Window for new chat - + Grab Focus when chat arrives - + Use a single tabbed window - + Blink window/tab icon - + Chat Font - + Change Chat Font - + Chat Font: - + History - + Style - + Group chat - + Variant - + @@ -1692,102 +1704,102 @@ Double click lobbies to enter and chat. Private chat - + Incoming - + Outgoing - + - + Incoming message in history - + Outgoing message in history - + Incoming message - + Outgoing message - + Outgoing offline message - + System - + System message - + UserName - + /me is sending a message with /me - + Chat - + <html><head/><body><p align="justify">In this tab you can setup how many chat messages Retroshare will keep saved on the disc and how much of the previous conversation it will display, for the different chat systems. The max storage period allows to discard old messages and prevents the chat history from filling up with volatile chat (e.g. chat lobbies and distant chat).</p></body></html> - + Chatlobbies - + Enabled: - + Saved messages (0 = unlimited): - + Number of messages restored (0 = off): - + Maximum storage period, in days (0=keep all): - + Search by default - + @@ -1797,100 +1809,100 @@ Double click lobbies to enter and chat. Whole Words - + Move to cursor - + Color All Text Found - + Color of found text - + Choose color of found text - + Maximum count for coloring matching text - + Threshold for automatic search - + Default identity for chat lobbies: - + Show Bar by default - + - + Private chat invite from - + Name : - + PGP id : - + Valid until : - + ChatStyle - + Standard style for group chat - + Compact style for group chat - + Standard style for private chat - + Compact style for private chat - + Standard style for history - + Compact style for history - + @@ -1898,7 +1910,7 @@ Double click lobbies to enter and chat. Show Chat - + @@ -1906,7 +1918,7 @@ Double click lobbies to enter and chat. Private Chat - + @@ -1914,281 +1926,289 @@ Double click lobbies to enter and chat. Close - + - + Send - + - + Bold - + Underline - + Italic - + - + Attach a Picture - + - + Strike - + Clear Chat History - + Disable Emoticons - + Save Chat History - + Browse Message History - + Browse History - + Delete Chat History - + Deletes all stored and displayed chat history - + Choose font - + Reset font to default - + - + Quote - + Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... - + - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? - + - + Add Extra File - + Load Picture File - + Save as... - + Text File (*.txt );;All Files (*) - + appears to be Offline. - + Messages you send will be delivered after Friend is again Online - + is Idle and may not reply - + is Away and may not reply - + is Busy and may not reply - + - + Find Case Sensitively - + Find Whole Words - + Move To Cursor - + Don't stop to color after X items found (need more CPU) - + - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> - + <b>Find Next </b><br/><i>Ctrl+G</i> - + <b>Find </b><br/><i>Ctrl+F</i> - + - + (Status) - + - + Set text font & color - + Attach a File - + - + WARNING: Could take a long time on big history. - + Choose color - + - + <b>Mark this selected text</b><br><i>Ctrl+M</i> - + - - %1This message consists of %2 characters. - - - - + items found. - + No items found. - + <b>Return to marked text</b><br><i>Ctrl+M</i> - + - - Display Search Box - - - - - Search Box - - - - + Type a message here - + - + Don't stop to color after - + items found (need more CPU) - - - - - Warning: - + @@ -2196,25 +2216,25 @@ Double click lobbies to enter and chat. TextLabel - + Empty Circle - + CirclesDialog - + Showing details: - + Membership - + @@ -2225,23 +2245,23 @@ Double click lobbies to enter and chat. IDs - + - + Personal Circles - + Public Circles - + Peers - + @@ -2251,244 +2271,228 @@ Double click lobbies to enter and chat. ID - + - + Friends - + Friends of Friends - + Others - + Permissions - + Anon Transfers - + Discovery - + Share Category - + Create Personal Circle - + Create External Circle - + Edit Circle - + Todo - + Friends Of Friends - + - + External Circles (Admin) - + External Circles (Subscribed) - + External Circles (Other) - + Circles - + ConfCertDialog - + Details - + Node info - + Peer Address - + - + Local Address - + External Address - + Dynamic DNS - + Port - + Addresses list - + - + + Use this certificate to make friends: + + + + Include signatures - + - - + + RetroShare RetroShare - - + + Error : cannot get peer details. - + - - Use as direct source, when available - - - - - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - - - - + Encryption - + Not connected - + Peer Addresses - + - Options - Настройки + Настройки - + Retroshare node details - + - + Node name : - + Status : - + Last Contact : - + Retroshare version : - + Node ID : - + PGP key : - + Retroshare Certificate - + - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + @@ -2499,57 +2503,47 @@ Double click lobbies to enter and chat. <p>This certificate contains: - + <li>a <b>node ID</b> and <b>name</b> - + an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + <p>You can use this certificate to make new friends. Send it by email, or give it hand to hand.</p> - + - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + with - + external signatures</li> - + @@ -2557,228 +2551,228 @@ Double click lobbies to enter and chat. Connect Friend Wizard - + Add a new Friend - + &You get a certificate file from your friend - + &Make friend with selected friends of my friends - + Text certificate - + Use text representation of the PGP certificates. - + Include signatures - + Copy your Cert to Clipboard - + Save your Cert into a File - + Run Email program - + Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + Certificate files - + Use PGP certificates saved in files. - + Import friend's certificate... - + You have to generate a file with your certificate and give it to your friend. Also, you can use a file generated before. - + Export my certificate... - + Drag and Drop your friends's certificate in this Window or specify path in the box below - + Browse - + Friends of friends - + Select now who you want to make friends with. - + Show me: - + Make friend with these peers - + RetroShare ID - + Use RetroShare ID for adding a Friend which is available in your network. - + Add Friends RetroShare ID... - + Paste Friends RetroShare ID in the box below - + Enter the RetroShare ID of your Friend, e.g. Peer@BDE8D16A46D938CF - + RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + GMail - + Yahoo - + Outlook - + AOL - + Yandex - + Email - + Invite Friends by Email - + Enter your friends' email addresses (separate each one with a semicolon) - + Your friends' email addresses: - + Enter Friends Email addresses - + Subject: - + Friend request - + Details about the request - + Peer details - + @@ -2790,23 +2784,23 @@ Double click lobbies to enter and chat. Email: - + Node: - + Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + Location: - + @@ -2818,194 +2812,194 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + Add friend to group: - + Authenticate friend (Sign PGP Key) - + Add as friend to connect with - + To accept the Friend Request, click the Finish button. - + Sorry, some error appeared - + Here is the error message: - + Make Friend - + Details about your friend: - + Key validity: - + Signers - + This peer is already on your friend list. Adding it might just set it's ip address. - + Abnormal size read is bigger than memory block. - + Invalid external IP. - + Invalid local IP. - + Invalid checksum section. - + Checksum mismatch. Certificate is corrupted. - + Unknown section type found (Certificate might be corrupted). - + Missing checksum. - + Unknown certificate error - + Certificate Load Failed - + Cannot get peer details of PGP key %1 - + Any peer I've not signed - + Friends of my friends who already trust me - + Signed peers showing as denied - + Peer name - + Also signed by - + Peer id - + RetroShare Invitation - + Ultimate - + Full - + Marginal - + @@ -3015,186 +3009,186 @@ resources. No Trust - + You have a friend request from - + Certificate Load Failed:file %1 not found - + This Peer %1 is not available in your Network - + Use new certificate format (safer, more robust) - + Use old (backward compatible) certificate format - + Remove signatures - + RetroShare Invite - + No or misspelled BEGIN tag found - + No or misspelled END tag found - + No checksum found (the last 5 chars should be separated by a '=' char), or no newline after tag line (e.g. line beginning with Version:) - + Unknown error. Your cert is probably not even a certificate. - + Connect Friend Help - + You can copy this text and send it to your friend via email or some other way - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + Save as... - + RetroShare Certificate (*.rsc );;All Files (*) - + Select Certificate - + Sorry, create certificate failed - + Please choose a filename - + Certificate file successfully created - + Sorry, certificate file creation failed - + *** None *** - + Use as direct source, when available - + IP-Addr: - + IP-Address - + Recommend many friends to each others - + Friend Recommendations - + The text below is your Retroshare certificate. You have to provide it to your friend - + Message: - + Recommend friends - + To - + Please select at least one friend for recommendation. - + Please select at least one friend as recipient. - + Add key to keyring - + This key is already in your keyring - + @@ -3202,69 +3196,69 @@ resources. This might be useful for sending distant messages to this peer even if you don't make friends. - + Certificate has wrong version number. Remember that v0.6 and v0.5 networks are incompatible. - + Invalid node id. - + Auto-download recommended files - + Can be used as direct source - + Require whitelist clearance to connect - + Add IP to whitelist - + No IP in this certificate! - + <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + Added with certificate from %1 - + Paste Cert of your friend from Clipboard - + Certificate Load Failed:can't read from file %1 - + Certificate Load Failed:something is wrong with %1 - + @@ -3272,228 +3266,228 @@ even if you don't make friends. Connection Progress - + Connecting to: - + TextLabel - + Network - + Net Result - + Connect Status - + Contact Result - + DHT Startup - + DHT Result - + Peer Lookup - + Peer Result - + UDP Setup - + UDP Result - + Connection Assistant - + Invalid Peer ID - + Unknown State - + Offline - + Behind Symmetric NAT - + Behind NAT & No DHT - + NET Restart - + Behind NAT - + No DHT - + NET STATE GOOD! - + DHT Failed - + DHT Disabled - + DHT Okay - + Finding RS Peers - + Lookup requires DHT - + Searching DHT - + Lookup Timeout - + Peer DHT NOT ACTIVE - + Lookup Failure - + Peer Offline - + Peer Firewalled - + Peer Online - + Connection In Progress - + Initial connections can take a while, please be patient - + If an error is detected it will be displayed here - + You can close this dialog at any time - + Retroshare will continue connecting in the background - + Connection Timeout - + Connection Attempt has taken too long - + But no error has been detected - + Try again shortly, Retroshare will continue connecting in the background - + @@ -3502,214 +3496,214 @@ even if you don't make friends. If you continue to get this message, please contact developers - + DHT Lookup Timeout - + DHT Lookup has taken too long - + UDP Connection Timeout - + UDP Connection has taken too long - + UDP Connection Failed - + We are continually working to improve connectivity. - + In this case the UDP connection attempt has failed. - + Improve connectivity by opening a Port in your Firewall. - + Connected - + Congratulations, you are connected - + DHT startup Failed - + Your DHT has not started properly - + Common causes of this problem are: - + - You are not connected to the Internet - + - You have a missing or out-of-date DHT bootstrap file (bdboot.txt) - + DHT is Disabled - + The DHT is OFF, so Retroshare cannot find your Friends. - + Retroshare has tried All Known Addresses, with no success - + The DHT is needed if your friends have Dynamic IP Addresses. - + Go to Settings->Server and change config to "Public: DHT and Discovery" - + Peer Denied Connection - + We successfully reached your Friend. - + but they have not added you as a Friend. - + Please contact them to add your Certificate - + Your Retroshare Node is configured Okay - + We successfully reached your Friend via UDP. - + Please contact them to add your Full Certificate - + We Cannot find your Friend. - + They are either offline or their DHT is Off - + Peer DHT is Disabled - + Your Friend has configured Retroshare with DHT Disabled. - + You have previously connected to this Friend - + Retroshare has determined that they have DHT switched off - + Without the DHT it is hard for Retroshare to locate your friend - + Try importing a fresh Certificate to get up-to-date connection information - + Incomplete Friend Details - + You have imported an incomplete Certificate - + Please retry importing the full Certificate - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> - + @@ -3717,111 +3711,99 @@ p, li { white-space: pre-wrap; } N/A - + UNVERIFIABLE FORWARD! - + UNVERIFIABLE FORWARD & NO DHT - + Searching - + UDP Connect Timeout - + Only Advanced Retroshare users should switch off the DHT. - + Retroshare cannot connect without this information - + They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details - + - - + Name Име - - Creator - - - - - Distribution - - - - + Public - + - - Self-Restricted - - - - - Restricted to: - - - - - Circle Membership - - - - + IDs - + - - Known Identities - - - - + Filter - + - + Nickname - + - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID - + @@ -3829,136 +3811,214 @@ p, li { white-space: pre-wrap; } Тип - - - - + + Name: + Име: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare RetroShare - + Please set a name for your Circle - + - - Personal Circle Details - - - - - External Circle Details - - - - - Cannot Edit Existing Circles Yet - - - - + No Restriction Circle Selected - + - + No Circle Limitations Selected - + - - Create New Personal Circle - - - - - Create New External Circle - - - - + Add Добавяне Remove - + - + Search - + - + All - + Signed - + Signed by known nodes - + - + Edit Circle - + - - + PGP Identity - + - - - + + + Anon Id - + + + + + Circle name + + + + + Update + + Close + + + + + + Create New Circle + + + + + Create + + + + PGP Linked Id - + + + + + Add Member + + + + + Remove Member + CreateGroup - + Create a Group - + + + + + Group Name: + + + + + Group ID: + - Group Name - Име + Име - + Enter a name for your group - + - + + To be defined + + + + Friends - + Edit Group - + @@ -3967,100 +4027,100 @@ p, li { white-space: pre-wrap; } New Channel Post - + Channel Post - + Channel Post to: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> - + Add File to Attach - + Add Channel Thumbnail - + Message - + Subject : - + Attachments - + Allow channels to get frame for message thumbnail from movie media attachments or not - + Auto Thumbnail - + Drag and Drop Files from Search Results - + Paste RetroShare Links - + Paste RetroShare Link - + Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + Add Extra File - + @@ -4071,47 +4131,47 @@ p, li { white-space: pre-wrap; } File already Added and Hashed - + Please add a Subject - + Load thumbnail picture - + Generate mass data - + Do you really want to generate %1 messages ? - + You are about to add files you're not actually sharing. Do you still want this to happen? - + About to post un-owned files to a channel. - + CreateGxsForumMsg - + Post Forum Message - + @@ -4121,47 +4181,47 @@ p, li { white-space: pre-wrap; } Subject - + Attach File - + Sign Message - + Forum Post - + Attach files via drag and drop - + You can attach files via drag and drop here in this window - + Start New Thread - + - + No Forum - + - + In Reply to - + @@ -4173,54 +4233,64 @@ p, li { white-space: pre-wrap; } Please set a Forum Subject and Forum Message - + Please choose Signing Id, it is required - + Add Extra File - + + + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + - + Generate mass data - + Do you really want to generate %1 messages ? - + - + Send - + - + Forum Message - + Forum Message has not been Sent. Do you want to reject this message? - + Post as - + Congrats, you found a bug! - + @@ -4229,82 +4299,82 @@ Do you want to reject this message? Create Chat Lobby - + A chat lobby is a decentralized and anonymous chat group. All participants receive all messages. Once the lobby is created you can invite other friends from the Friends tab. - + Lobby name: - + Lobby topic: - + Visibility: - + Public (Visible by friends) - + Private (Works on invitation only) - + <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + Security: - + Select the Friends with which you want to group chat. - + Invited friends - + Put a sensible lobby name here - + Set a descriptive topic here - + Contacts: - + Identity to use: - + @@ -4312,7 +4382,7 @@ Do you want to reject this message? Public Information - + @@ -4322,57 +4392,57 @@ Do you want to reject this message? Location: - + Location ID: - + Software Version: - + Online since: - + Other Information - + Certificate - + Include signatures - + Save Key into a file - + A RetroShare link with your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + Error - + Your certificate could not be parsed correctly. Please contact the developers. - + @@ -4382,67 +4452,67 @@ Do you want to reject this message? Your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + Save as... - + RetroShare Certificate (*.rsc );;All Files (*) - + TextLabel - + PGP fingerprint: - + Node information - + PGP Id : - + Friend nodes: - + Copy certificate to clipboard - + Save certificate to file - + Node - + Create new node... - + show statistics window - + @@ -4450,7 +4520,7 @@ Do you want to reject this message? users - + @@ -4458,38 +4528,38 @@ Do you want to reject this message? DHT - + <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + DHT Off - + DHT Searching for RetroShare Peers - + RetroShare users in DHT (Total DHT users) - + DHT Good - + No peer found in DHT - + @@ -4497,27 +4567,27 @@ Do you want to reject this message? B - + KB - + MB - + GB - + File Never Seen - + @@ -4525,42 +4595,42 @@ Do you want to reject this message? Details - + General - + Done - + Active - + Outstanding - + Needs checking - + retroshare link(s) - + retroshare link - + @@ -4570,17 +4640,17 @@ Do you want to reject this message? Rating - + Comments - + File Name - + @@ -4588,32 +4658,32 @@ Do you want to reject this message? Net Status - + Connect Options - + Network Mode - + Nat Type - + Nat Hole - + Peer Address - + @@ -4623,83 +4693,83 @@ Do you want to reject this message? PeerId - + DHT Status - + ConnectLogic - + Connect Status - + Connect Mode - + Request Status - + Cb Status - + RsId - + Bucket - + IP:Port - + Key - + Status Flags - + Found - + Last Sent - + Last Recv - + Relay Mode - + @@ -4719,202 +4789,202 @@ Do you want to reject this message? Class - + Age - + Bandwidth - + IP - + Search IP - + Copy %1 to clipboard - + Unknown NetState - + Offline - + Local Net - + Behind NAT - + External IP - + UNKNOWN NAT STATE - + SYMMETRIC NAT - + DETERMINISTIC SYM NAT - + RESTRICTED CONE NAT - + FULL CONE NAT - + OTHER NAT - + NO NAT - + UNKNOWN NAT HOLE STATUS - + NO NAT HOLE - + UPNP FORWARD - + NATPMP FORWARD - + MANUAL FORWARD - + NET BAD: Unknown State - + NET BAD: Offline - + NET BAD: Behind Symmetric NAT - + NET BAD: Behind NAT & No DHT - + NET WARNING: NET Restart - + NET WARNING: Behind NAT - + NET WARNING: No DHT - + NET STATE GOOD! - + CAUTION: UNVERIFIABLE FORWARD! - + CAUTION: UNVERIFIABLE FORWARD & NO DHT - + Not Active (Maybe Connected!) - + Searching - + Failed - + offline - + Unreachable - + ONLINE - + Direct - + @@ -4924,27 +4994,27 @@ Do you want to reject this message? Disconnected - + Udp Started - + Connected - + Request Active - + No Request - + @@ -4954,13 +5024,13 @@ Do you want to reject this message? RELAY END - + Yourself - + @@ -4971,17 +5041,17 @@ Do you want to reject this message? unlimited - + Own Relay - + RELAY PROXY - + @@ -4990,27 +5060,27 @@ Do you want to reject this message? %1 secs ago - + %1B/s - + Relays - + 0x%1 EX:0x%2 - + never - + @@ -5018,113 +5088,113 @@ Do you want to reject this message? DHT - + Net Status: - + Network Mode: - + Nat Type: - + Nat Hole: - + Connect Mode: - + Peer Address: - + Unreach: - + Online: - + Offline: - + DHT Peers: - + Disconnected: - + Direct: - + Proxy: - + Relay: - + Filter: - + Search Network - + Peers - + Relay - + DHT Graph - + Proxy VIA - + Relay VIA - + @@ -5132,98 +5202,98 @@ Do you want to reject this message? Incoming Directory - + Browse - + Partials Directory - + Shared Directories - + Automatically share incoming directory (Recommended) - + Edit Share - + Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. - + Remember hashed files for - + days - + Forget any hashed file that is not anymore shared. - + Clean Hash Cache - + Auto-check shared directories every - + minute(s) - + Cache cleaning confirmation - + This will forget any former hash of non shared files. Do you confirm ? - + Set Incoming Directory - + Set Partials Directory - + Directories - + @@ -5231,12 +5301,12 @@ you plug it in. Waiting outgoing discovery operations - + Waiting incoming discovery operations - + @@ -5244,7 +5314,7 @@ you plug it in. Start file - + @@ -5254,36 +5324,36 @@ you plug it in. to - + ignore case - + dd.MM.yyyy - + KB - + MB - + GB - + @@ -5291,12 +5361,12 @@ you plug it in. Expression Widget - + Delete this expression - + @@ -5304,52 +5374,52 @@ you plug it in. &New - + Add new Association - + &Edit - + Edit this Association - + &Remove - + Remove this Association - + File type - + Friend Help - + You this - + Associations - + @@ -5357,47 +5427,47 @@ you plug it in. Chunk map - + Active chunks - + Availability map (%1 active source) - + Availability map (%1 active sources) - + File info - + File name - + Destination folder - + File hash - + File size - + @@ -5405,52 +5475,52 @@ you plug it in. bytes - + Chunk size - + Number of chunks - + Transferred - + Remaining - + Number of sources - + Chunk strategy - + Transfer type - + Anonymous F2F - + Direct friend transfer / Availability assumed - + @@ -5458,73 +5528,73 @@ you plug it in. Picture - + Video - + Audio - + Archive - + Program - + CD/DVD-Image - + Document - + RetroShare collection file - + Subtitles - + Nintendo DS Rom - + Patch - + C++ - + Header - + C - + @@ -5532,37 +5602,37 @@ you plug it in. Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + Directory - + @@ -5580,7 +5650,7 @@ you plug it in. Expand new messages - + @@ -5590,17 +5660,17 @@ you plug it in. Load embedded images - + Tabs - + Open each forum in a new tab - + @@ -5608,283 +5678,283 @@ you plug it in. Last Contact - + Hide Offline Friends - + export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + Show State - + Show Groups - + - + Group - + Friend - + Edit Group - + Remove Group - + Chat - + Recommend this Friend to... - + Copy certificate link - + Add to group - + - + Search - + Sort by state - + - + Move to group - + Groups - + Remove from group - + Remove from all groups - + Expand all - + Collapse all - + Available - + - + Do you want to remove this Friend? - + - + Done! - + Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + Error - + Failed to get a file! - + File is not writeable! - + File is not readable! - + IP - + - + Attempt to connect - + Create new group - + Display - + Paste certificate link - + Node - + Remove Friend Node - + - + Do you want to remove this node? - + Friend nodes - + - + Send message to whole group - + Details - + Deny - + Send message - + @@ -5892,17 +5962,17 @@ at least one peer was not added to a group Confirm Friend Request - + wants to be friend with you on RetroShare - + Unknown (Incoming) Connect Attempt - + @@ -5910,12 +5980,12 @@ at least one peer was not added to a group Search : - + Sort by state - + @@ -5925,17 +5995,17 @@ at least one peer was not added to a group Search Friends - + - + Mark all - + Mark none - + @@ -5943,122 +6013,122 @@ at least one peer was not added to a group Edit status message - + Broadcast - + Clear Chat History - + Add Friend - + Add your Avatar Picture - + A - + Set your status message - + Edit your status message - + Browse Message History - + Browse History - + Save Chat History - + Add a new Group - + Delete Chat History - + Deletes all stored and displayed chat history - + Create new Chat lobby - + Choose Font - + Reset font to default - + Keyring - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + Retroshare broadcast chat: messages are sent to all connected friends. - + Network - + Network graph - + Set your status message here. - + @@ -6066,7 +6136,7 @@ at least one peer was not added to a group Create new Profile - + @@ -6076,19 +6146,19 @@ at least one peer was not added to a group Enter your nickname here - + Email - + Be careful: this email will be visible to your friends and friends of your friends. This information is required by PGP, but to stay anonymous, you can use a fake email. - + @@ -6098,273 +6168,273 @@ anonymous, you can use a fake email. [Optional] Visible to your friends, and friends of friends. - + [Required] Examples: Home, Laptop,... - + [Required] Visible to your friends, and friends of friends. - + All fields are required with a minimum of 3 characters - + Password (check) - + - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> - + [Required] Type the same password again here. - + Passwords do not match - + Port - + This password is for PGP - + Node - + Create new node - + Generate new node - + Create a new node - + You can use it now to create a new node. - + Invalid hidden node - + Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile - + Import new profile - + Export selected profile - + Advanced options - + Create a hidden node - + Use profile - + hidden address - + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + Create new profile - + Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + Export profile - + RetroShare profile files (*.asc) - + Profile saved - + @@ -6373,77 +6443,77 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + Import profile - + Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6451,32 +6521,32 @@ Fill in your PGP password when asked, to sign your new key. Startup - + Start RetroShare when my system starts - + Start minimized - + Start minimized on system start - + For Advanced Users - + Enable Advanced Mode (Restart Required) - + @@ -6486,68 +6556,98 @@ Fill in your PGP password when asked, to sign your new key. Do not show the Quit RetroShare MessageBox - + Auto Login - + - Register retroshare:// as URL protocol (Restart required) - + Register retroshare:// as URL protocol + You need administrator rights to change this option. - + - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle - + Idle Time - + seconds - + Launch startup wizard - + - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error - + Could not add retroshare:// as protocol. - + Could not remove retroshare:// protocol. - + General - + - + Minimize to Tray Icon - + @@ -6556,55 +6656,55 @@ Fill in your PGP password when asked, to sign your new key. Getting Started - + Invite Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be sure to get their invitation back as well... </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can only connect with friends if you have both added each other.</span></p></body></html> - + Add Your Friends to RetroShare - + Add Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6616,31 +6716,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6653,107 +6753,107 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + Connect To Friends - + Advanced: Open Firewall Port - + Further Help and Support - + Open RS Website - + Open FAQ Wiki - + Open Online Forums - + Email Support - + Email Feedback - + RetroShare Invitation - + Your friend has installed RetroShare, and would like you to try it out. - + You can get RetroShare here: %1 - + RetroShare is a private Friend-2-Friend sharing network. - + forums and channels, all of which are as secure as the file-sharing. - + Here is your friends ID Certificate. - + Cut and paste the text below into your RetroShare client - + and send them your ID Certificate to get securely connected. - + Cut Below Here - + RetroShare Feedback - + RetroShare Support - + It has many features, including built-in chat, messaging, - + @@ -6761,82 +6861,82 @@ p, li { white-space: pre-wrap; } Router Statistics - + GroupBox - + ID - + Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + Unknown Peer - + Pending packets - + Unknown - + Неизвестен @@ -6844,22 +6944,22 @@ p, li { white-space: pre-wrap; } Managed keys - + Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6867,7 +6967,15 @@ p, li { white-space: pre-wrap; } Show Group Chat - + + + + + GroupChooser + + + [Unknown] + @@ -6875,27 +6983,27 @@ p, li { white-space: pre-wrap; } Friends - + Family - + Co-Workers - + Other Contacts - + Favorites - + @@ -6903,78 +7011,78 @@ p, li { white-space: pre-wrap; } Directory is browsable for friends from groups - + Directory is NOT browsable for friends from groups - + Directory is accessible by anonymous tunnels from friends from groups - + Directory is NOT accessible by anonymous tunnels from friends from groups - + Directory is browsable for any friend - + Directory is NOT browsable for any friend - + Directory is accessible by anonymous tunnels from any friend - + Directory is NOT accessible by anonymous tunnels from any friend - + No one can browse this directory - + No one can anonymously access this directory. - + All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -6987,7 +7095,7 @@ p, li { white-space: pre-wrap; } Hide tabbar with one open tab - + @@ -6995,47 +7103,47 @@ p, li { white-space: pre-wrap; } Share - + Contacts: - + - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer - + - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7053,47 +7161,52 @@ p, li { white-space: pre-wrap; } Description - + Search Description - + Sort by Name - + Sort by Popularity - + Sort by Last Post - + Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + Display - + - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7101,17 +7214,17 @@ p, li { white-space: pre-wrap; } and - + and / or - + or - + @@ -7126,12 +7239,12 @@ p, li { white-space: pre-wrap; } Extension - + Hash - + @@ -7141,57 +7254,57 @@ p, li { white-space: pre-wrap; } Size - + Popularity - + contains - + contains all - + is - + less than - + less than or equal - + equals - + greater than or equal - + greater than - + is in range - + @@ -7200,68 +7313,68 @@ p, li { white-space: pre-wrap; } Channels - + Create Channel - + Enable Auto-Download - + My Channels - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + Subscribed Channels - + Popular Channels - + Other Channels - + Select channel download directory - + Disable Auto-Download - + Set download directory - + [Default directory] - + Specify... - + @@ -7274,47 +7387,47 @@ p, li { white-space: pre-wrap; } Download - + TextLabel - + Open folder - + Error - + Paused - + Waiting - + Checking - + Are you sure that you want to cancel and delete the file? - + Can't open folder - + @@ -7327,12 +7440,12 @@ p, li { white-space: pre-wrap; } Filename - + Size - + @@ -7342,7 +7455,7 @@ p, li { white-space: pre-wrap; } Published - + @@ -7355,37 +7468,37 @@ p, li { white-space: pre-wrap; } Create New Channel - + Channel - + Edit Channel - + Add Channel Admins - + Select Channel Admins - + Update Channel - + Create - + @@ -7393,12 +7506,12 @@ p, li { white-space: pre-wrap; } Copy RetroShare Link - + Subscribe to Channel - + @@ -7414,17 +7527,17 @@ p, li { white-space: pre-wrap; } Channel Description - + Loading - + New Channel - + @@ -7436,35 +7549,45 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status - + Download - + - + Play - + Comments - + Copy RetroShare Link - + Unsubscribe From Channel - + @@ -7483,19 +7606,19 @@ p, li { white-space: pre-wrap; } Премахни елемент - + Channel Feed - + - + Files - + Warning! You have less than %1 hours and %2 minute before this file is deleted Consider saving it. - + @@ -7510,63 +7633,63 @@ p, li { white-space: pre-wrap; } 0 - + Comment - + I like this - + I dislike this - + - + Loading - + - + Open Отваряне Open File - + Play Media - + GxsChannelPostsWidget - + Post to Channel - + Loading - + Search channels - + - + Title Заглавие @@ -7578,72 +7701,113 @@ p, li { white-space: pre-wrap; } Message - + Search Message - + Filename - + Search Filename - + No Channel Selected - + - + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download - + Enable Auto-Download - + Show feeds - + Show files - + - + + Administrator: + + + + + + unknown + непознат + + + + Distribution: + + + + Feeds Информационни канали Files - + - + Subscribers - + - + Description: Описание: - + Posts (at neighbor nodes): - + @@ -7651,7 +7815,7 @@ p, li { white-space: pre-wrap; } Channel Post - + @@ -7659,7 +7823,7 @@ p, li { white-space: pre-wrap; } Comment Container - + @@ -7672,7 +7836,7 @@ p, li { white-space: pre-wrap; } Hot - + @@ -7682,22 +7846,22 @@ p, li { white-space: pre-wrap; } Top - + Voter ID: - + Refresh - + Comment - + @@ -7712,22 +7876,22 @@ p, li { white-space: pre-wrap; } Score - + UpVotes - + DownVotes - + OwnVote - + @@ -7735,22 +7899,22 @@ p, li { white-space: pre-wrap; } Reply to Comment - + Submit Comment - + Vote Up - + Vote Down - + @@ -7758,32 +7922,32 @@ p, li { white-space: pre-wrap; } Make Comment - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> - + Signed by - + Comment Signing Error - + You need to create an Identity before you can comment - + @@ -7791,7 +7955,7 @@ before you can comment Create New Forum - + @@ -7801,27 +7965,27 @@ before you can comment Edit Forum - + Update Forum - + Add Forum Admins - + Select Forum Admins - + Create - + @@ -7829,7 +7993,7 @@ before you can comment Subscribe to Forum - + @@ -7845,17 +8009,17 @@ before you can comment Forum Description - + Loading - + New Forum - + @@ -7869,12 +8033,12 @@ before you can comment Subject: - + Unsubscribe To Forum - + @@ -7895,17 +8059,17 @@ before you can comment In Reply to: - + Loading - + Forum Feed - + @@ -7921,9 +8085,9 @@ before you can comment Формуляр - + Start new Thread for Selected Forum - + @@ -7933,21 +8097,21 @@ before you can comment Last Post - + Threaded View - + Flat View - + - + Title Заглавие @@ -7960,45 +8124,45 @@ before you can comment - + Author Автор Save image - + - + Loading - + Reply Message - + Previous Thread - + Next Thread - + Download all files - + Next unread - + @@ -8018,12 +8182,12 @@ before you can comment Content - + Search Content - + @@ -8033,32 +8197,32 @@ before you can comment Reply - + Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + Start New Thread - + Expand all - + Collapse all - + @@ -8070,7 +8234,7 @@ before you can comment with children - + @@ -8081,7 +8245,7 @@ before you can comment Copy RetroShare Link - + @@ -8096,43 +8260,83 @@ before you can comment This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + + + + Anti-spam - + [ ... Redacted message ... ] - + Anonymous - + signed - + @@ -8142,27 +8346,27 @@ before you can comment [ ... Missing Message ... ] - + <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8177,80 +8381,80 @@ before you can comment No Forum Selected! - + You cant reply to a non-existant Message - + You cant reply to an Anonymous Author - + Original Message - + From - + Sent - + Subject - + On %1, %2 wrote: - + - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description - + By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8258,7 +8462,7 @@ before you can comment Forum Post - + @@ -8266,38 +8470,38 @@ before you can comment <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + Forums - + Create Forum - + My Forums - + Subscribed Forums - + Popular Forums - + Other Forums - + @@ -8305,85 +8509,85 @@ before you can comment Waiting - + Retrieving - + Loading - + GxsGroupDialog - - + + Name Име - + Add Icon - + Key recipients can publish to restricted-type group and can view and publish for private-type channels - + Share Publish Key - + - + check peers you would like to share private publish key with - + Share Key With - + - - + + Description - + - + Message Distribution - + - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public - + - - - Restricted to Group - - - - - + Only For Your Friends - + - + Publish Signatures - + @@ -8393,184 +8597,253 @@ before you can comment New Thread - + Required - + Encrypted Msgs - + Personal Signatures - + PGP Required - + Signature Required - + If No Publish Signature - + - Comments - + - + Allow Comments - + No Comments - + Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: - + - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name - + - + + PGP signature from known ID required + + + + Load Group Logo - + - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback - + Owner: - + - + Set a descriptive description here - + - + Info - + - - Comments allowed - - - - - Comments not allowed - - - - + ID - + - + Last Post - + + + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + - Popularity - + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + - - Posts - + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + + Popularity + - Type - Тип + Posts + - + Type + Тип + + + Author Автор GxsIdLabel - + @@ -8578,32 +8851,32 @@ before you can comment Loading - + Todo - + Print - + PrintPreview - + Unsubscribe - + Subscribe - + @@ -8613,17 +8886,22 @@ before you can comment Show Details - + Edit Details - + - + + Share publish permissions + + + + Copy RetroShare Link - + @@ -8633,91 +8911,86 @@ before you can comment Mark all as unread - + - + AUTHD - - - - - Share admin permissions - + GxsIdChooser - + No Signature - + - + Create new Identity - + GxsIdDetails - + Loading - + Not found - + No Signature - + [Banned] - + Authentication - + unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8725,7 +8998,7 @@ before you can comment Loading - + @@ -8738,42 +9011,42 @@ before you can comment Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + @@ -8782,17 +9055,17 @@ before you can comment Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + @@ -8801,22 +9074,22 @@ before you can comment RetroShare Help - + Find: - + Find Previous - + Find Next - + @@ -8826,141 +9099,141 @@ before you can comment Whole words only - + Contents - + Help Topics - + Search - + Searching for: - + Found Documents - + Back - + Move to previous page (Backspace) - + Backspace - + Forward - + Move to next page (Shift+Backspace) - + Shift+Backspace - + Home - + Move to the Home page (Ctrl+H) - + Ctrl+H - + Find - + Search for a word or phrase on current page (Ctrl+F) - + Ctrl+F - + Close - + Close Vidalia Help - + Esc - + Supplied XML file is not a valid Contents document. - + Search reached end of document - + Search reached start of document - + Text not found in document - + Found %1 results - + Error Loading Help Contents: - + @@ -8973,22 +9246,22 @@ before you can comment Authors - + Thanks to - + Translation - + License Agreement - + @@ -8997,14 +9270,14 @@ before you can comment p, li { white-space: pre-wrap; } </style></head><body style=" font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; font-weight:600;">About RetroShare</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9015,14 +9288,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Swedish: </span><span style=" font-size:8pt;"> Daniel Wester</span><span style=" font-size:8pt; font-weight:600;"> &lt;</span><span style=" font-size:8pt;">wester@speedmail.se</span><span style=" font-size:8pt; font-weight:600;">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">German: </span><span style=" font-size:8pt;">Jan</span><span style=" font-size:8pt; font-weight:600;"> </span><span style=" font-size:8pt;">Keller</span> &lt;<span style=" font-size:8pt;">trilarion@users.sourceforge.net</span>&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polish: </span>Maciej Mrug</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9032,16 +9305,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + Libraries - + @@ -9049,115 +9322,115 @@ p, li { white-space: pre-wrap; } Opening External Link - + RetroShare can open the link you selected in your default Web browser. If your browser is not currently configured to use Tor then the request will not be anonymous. - + Do you want Retroshare to open the link in your Web browser? - + Unable to Open Link - + RetroShare was unable to open the selected link in your Web browser. You can still copy the URL and paste it into your browser. - + Error opening help file: - + IdDetailsDialog - + Person Details - + Identity Info - + Owner node ID : - + Type: - + Owner node name : - + Identity name : - + Identity ID : - + Last used: - + Your Avatar Click here to change your avatar - + Reputation - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9167,497 +9440,733 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + Unknown real name - + Anonymous Id - + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + Banned - + IdDialog - + + New ID - + - - + + All - + Reputation - + Search - + - - Unknown real name - - - - + Anonymous Id - + - + Create new Identity - + + + + + Create new circle + Persons - + - + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + + + + + Circle name + + + + + Membership + + + + + Public Circles + + + + + Personal Circles + + + + Edit identity - + Delete identity - + Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID - + - + Send message - + - + Identity info - + Identity ID : - + Owner node name : - + Type: - + Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous - + - + ID - + Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + непознат + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + OK - + Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People - + Your Avatar Click here to change your avatar - + - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9665,43 +10174,43 @@ p, li { white-space: pre-wrap; } Nickname - + Key ID - + PGP Name - + PGP Hash - + PGP Id - + Pseudonym - + New identity - + To be generated - + @@ -9714,38 +10223,38 @@ p, li { white-space: pre-wrap; } N/A - + Edit identity - + Error getting key! - + Error KeyID invalid - + Unknown GpgId - + Unknown real name - + Create New Identity - + @@ -9760,7 +10269,7 @@ p, li { white-space: pre-wrap; } TextLabel - + @@ -9769,7 +10278,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9780,32 +10289,32 @@ p, li { white-space: pre-wrap; } Your Avatar Click here to change your avatar - + Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9818,12 +10327,12 @@ p, li { white-space: pre-wrap; } KeyId - + GXSId - + @@ -9833,27 +10342,27 @@ p, li { white-space: pre-wrap; } - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9862,11 +10371,11 @@ p, li { white-space: pre-wrap; } Message History - + - + Copy Копиране @@ -9878,7 +10387,7 @@ p, li { white-space: pre-wrap; } Mark all - + @@ -9888,12 +10397,12 @@ p, li { white-space: pre-wrap; } Clear history - + Send - + @@ -9902,17 +10411,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -9921,69 +10430,69 @@ p, li { white-space: pre-wrap; } Open File - + Open Folder - + Edit Share Permissions - + Checking... - + Check files - + Edit Shared Folder - + Recommend in a message to - + Set command for opening this file - + Collection - + MainWindow - + Add Friend - + Add a Friend Wizard - + Add Share - + - + Options Настройки @@ -9991,7 +10500,7 @@ p, li { white-space: pre-wrap; } Messenger - + @@ -10002,34 +10511,34 @@ p, li { white-space: pre-wrap; } SMPlayer - + Quit - + Quick Start Wizard - + - + RetroShare %1 a secure decentralized communication platform - + - + Unfinished - + Low disk space warning - + @@ -10038,12 +10547,12 @@ p, li { white-space: pre-wrap; } RetroShare will now safely suspend any disk access to this directory. Please make some free space and click Ok. - + Show/Hide - + @@ -10053,27 +10562,27 @@ p, li { white-space: pre-wrap; } Notify - + Open Messenger - + Open Messages - + Bandwidth Graph - + Applications - + @@ -10083,17 +10592,17 @@ p, li { white-space: pre-wrap; } Minimize - + Maximize - + &Quit - + @@ -10103,42 +10612,42 @@ p, li { white-space: pre-wrap; } %1 new message - + %1 new messages - + Down: %1 (kB/s) - + Up: %1 (kB/s) - + %1 friend connected - + %1 friends connected - + Do you really want to exit RetroShare ? - + - + Internal Error - + @@ -10153,233 +10662,233 @@ p, li { white-space: pre-wrap; } Make sure this link has not been forged to drag you to a malicious website. - + Don't ask me again - + It seems to be an old RetroShare link. Please use copy instead. - + The file link is malformed. - + ServicePermissions - + Service permissions matrix - + - + Add Добавяне Statistics - + Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose - + Contacts - + Paragraph - + Heading 1 - + Heading 2 - + Heading 3 - + Heading 4 - + Heading 5 - + Heading 6 - + Font size - + Increase font size - + Decrease font size - + Bold - + Italic - + Alignment - + Add an Image - + Sets text font to code style - + Underline - + Subject: - + Tags: - + - + Tags - + Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + Recommended Files - + File Name - + Size - + Hash - + Send - + Send this message now - + Reply - + Toggle Contacts View - + @@ -10389,178 +10898,178 @@ p, li { white-space: pre-wrap; } Save this message - + Attach - + Attach File - + Quote - + Add Blockquote - + Send To: - + &Left - + C&enter - + &Right - + &Justify - + All addresses (mixed) - + All people - + My contacts - + Hello,<br>I recommend a good friend of mine; you can trust them too when you trust me. <br> - + You have a friend recommendation - + This friend is suggested by - + wants to be friends with you on RetroShare - + Hi %1,<br><br>%2 wants to be friends with you on RetroShare.<br><br>Respond now:<br>%3<br><br>Thanks,<br>The RetroShare Team - + - + Save Message - + Message has not been Sent. Do you want to save message to draft box? - + Paste RetroShare Link - + Add to "To" - + Add to "CC" - + Add to "BCC" - + Add as Recommend - + Original Message - + From - + To - + Cc - + Sent - + Subject - + On %1, %2 wrote: - + Re: - + Fwd: - + @@ -10572,18 +11081,18 @@ Do you want to save message to draft box? Do you want to send the message without a subject ? - + Please insert at least one recipient. - + Bcc - + @@ -10593,164 +11102,164 @@ Do you want to save message to draft box? &File - + &New - + &Open... - + &Save - + Save &As File - + Save &As Draft - + &Print... - + &Export PDF... - + &Quit - + &Edit - + &Undo - + &Redo - + Cu&t - + &Copy - + &Paste - + &View - + &Contacts Sidebar - + &Insert - + &Image - + &Horizontal Line - + &Format - + Details - + Open File... - + HTML-Files (*.htm *.html);;All Files (*) - + Save as... - + Print Document - + Export PDF - + Message has not been Sent. Do you want to save message ? - + Choose Image - + Image Files supported (*.png *.jpeg *.jpg *.gif) - + Add Extra File - + Close - + @@ -10758,74 +11267,74 @@ Do you want to save message ? От: - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10833,27 +11342,27 @@ Do you want to save message ? Everyone - + Contacts - + Nobody - + Accept encrypted distant messages from - + Reading - + @@ -10863,17 +11372,17 @@ Do you want to save message ? Open messages in - + Tags - + Tags can be used to categorize and prioritize your messages - + @@ -10898,32 +11407,32 @@ Do you want to save message ? A new tab - + A new window - + Edit Tag - + Message - + Distant messages: - + Load embedded images - + @@ -10931,7 +11440,7 @@ Do you want to save message ? Sub: - + @@ -10939,7 +11448,7 @@ Do you want to save message ? Message - + @@ -10947,17 +11456,17 @@ Do you want to save message ? Recommended Files - + Download all Recommended Files - + Subject: - + @@ -10972,98 +11481,98 @@ Do you want to save message ? Cc: - + Bcc: - + Tags: - + File Name - + Size - + Hash - + Print - + Print Preview - + Confirm %1 as friend - + Add %1 as friend - + No subject - + Download - + Download all - + Print Document - + Save as... - + HTML-Files (*.htm *.html);;All Files (*) - + Load images always for this message - + Hide the attachment pane - + Show the attachment pane - + @@ -11071,47 +11580,47 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Forward - + Remove selected message - + @@ -11121,81 +11630,81 @@ Do you want to save message ? Print selected message - + Print - + Display - + Tags - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + &File - + Save &As File - + &Print... - + Print Preview... - + &Quit - + @@ -11204,47 +11713,47 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Foward - + Remove selected message - + @@ -11254,17 +11763,17 @@ Do you want to save message ? Print selected message - + Print - + Display - + @@ -11273,7 +11782,7 @@ Do you want to save message ? Tags - + @@ -11281,7 +11790,7 @@ Do you want to save message ? Inbox - + @@ -11289,18 +11798,18 @@ Do you want to save message ? Outbox - + Draft - + Sent - + @@ -11308,93 +11817,93 @@ Do you want to save message ? Trash - + Total Inbox: - + Folders - + Quick View - + Print... - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + Save As... - + Reply to Message - + Reply to All - + Forward Message - + Subject - + From - + @@ -11406,58 +11915,58 @@ Do you want to save message ? Content - + Click to sort by attachments - + Click to sort by subject - + Click to sort by read - + Click to sort by from - + Click to sort by date - + Click to sort by tags - + Click to sort by star - + Forward selected Message - + Search Subject - + Search From - + @@ -11467,47 +11976,47 @@ Do you want to save message ? Search Content - + Search Tags - + Attachments - + Search Attachments - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + Starred - + System - + Open in a new window - + Open in a new tab - + @@ -11522,7 +12031,7 @@ Do you want to save message ? Add Star - + @@ -11532,59 +12041,59 @@ Do you want to save message ? Edit as new - + Remove Messages - + Remove Message - + Undelete - + Empty trash - + Drafts - + No starred messages available. Stars let you give messages a special status to make them easier to find. To star a message, click on the light gray star beside any message. - + No system messages available. - + To - + Click to sort by to - + This message goes to a distant person. - + @@ -11593,33 +12102,33 @@ Do you want to save message ? Total: - + Messages - + Click to sort by signature - + This message was signed and the signature checks - + This message was signed but the signature doesn't check - + This message comes from a distant person. - + @@ -11627,17 +12136,17 @@ Do you want to save message ? RetroShare Messenger - + - + Add a Friend - + Share files for your friends - + @@ -11645,27 +12154,27 @@ Do you want to save message ? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + Paste RetroShare Link - + Paste my certificate link - + @@ -11673,22 +12182,22 @@ Do you want to save message ? Reply to Message - + Reply Message - + Delete Message - + Play Media - + @@ -11704,22 +12213,22 @@ Do you want to save message ? Message From - + Sent Msg - + Draft Msg - + Pending Msg - + @@ -11732,52 +12241,52 @@ Do you want to save message ? <strong>NAT:</strong> - + Network Status Unknown - + Offline - + Nasty Firewall - + DHT Disabled and Firewalled - + Network Restarting - + Behind Firewall - + DHT Disabled - + RetroShare Server - + Forwarded Port - + @@ -11785,12 +12294,12 @@ Do you want to save message ? Filter: - + Search Network - + @@ -11802,129 +12311,129 @@ Do you want to save message ? Did I authenticated peer - + Did I sign his PGP key - + Did peer authenticated me - + Cert Id - + Last used - + Clear - + Set Tabs Right - + Set Tabs North - + Set Tabs South - + Set Tabs Left - + Set Tabs Rounded - + Set Tabs Triangular - + Add Friend - + Copy My Key to Clipboard - + Export My Key - + Create New Profile - + Create a new Profile - + Peer ID - + Deny friend - + Peer details... - + Remove unused keys... - + Clean keyring - + - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. The removal may fail when running multiple Retroshare instances on the same machine. - + Keyring info - + @@ -11932,7 +12441,7 @@ Notes: Your old keyring will be backed up. For security, your keyring was previously backed-up to file - + @@ -11942,42 +12451,42 @@ For security, your keyring was previously backed-up to file Cannot delete secret keys - + Cannot create backup file. Check for permissions in pgp directory, disk space, etc. - + Personal signature - + PGP key signed by you - + Marginally trusted peer - + Fully trusted peer - + Untrusted peer - + Has authenticated me - + @@ -11987,12 +12496,12 @@ For security, your keyring was previously backed-up to file Last hour - + Today - + @@ -12002,95 +12511,95 @@ For security, your keyring was previously backed-up to file %1 days ago - + has authenticated you. Right-click and select 'make friend' to be able to connect. - + yourself - + Data inconsistency in the keyring. This is most probably a bug. Please contact the developers. - + Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12098,7 +12607,7 @@ Reported error: Network - + @@ -12106,22 +12615,22 @@ Reported error: Redraw - + Friendship level: - + Edge length: - + Freeze - + @@ -12129,7 +12638,7 @@ Reported error: New Tag - + @@ -12139,12 +12648,12 @@ Reported error: Choose color - + OK - + @@ -12157,7 +12666,7 @@ Reported error: News Feed - + @@ -12167,32 +12676,32 @@ Reported error: Remove All - + This is a test. - + News feed - + Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12200,37 +12709,37 @@ Reported error: News Feed - + Channels - + Forums - + Blogs - + Messages - + Chat - + Security - + @@ -12241,145 +12750,145 @@ Reported error: Systray Icon - + Message - + Connect attempt - + Toasters - + Friend Connect - + Ip security - + New Message - + Download completed - + Private Chat - + Group Chat - + Chat Lobby - + Position - + X Margin - + Y Margin - + Systray message - + Group chat - + Chat lobbies - + Combined - + Blink - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + Top Left - + Top Right - + Bottom Left - + Bottom Right - + Notify - + Disable All Toasters - + Posted - + Disable All Toaster temporarily - + @@ -12389,70 +12898,70 @@ Reported error: Systray - + Chat Lobbies - + Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase - + Wrong password ! - + Unregistered plugin/executable - + RetroShare has detected an unregistered plugin. This happens in two cases:<UL><LI>Your RetroShare executable has changed.</LI><LI>The plugin has changed</LI></UL>Click on Yes to authorize this plugin, or No to deny it. You can change your mind later in Options -> Plugins, then restart. - + - + Please check your system clock. - + - + Examining shared files... - + Hashing file - + Saving file index... - + @@ -12462,28 +12971,28 @@ Reported error: This is a test. - + Unknown title - + Encrypted message - + - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12491,7 +13000,7 @@ Reported error: Friend Online - + @@ -12499,30 +13008,30 @@ Reported error: Normal Mode - + No Anon D/L - + Gaming Mode - + Low Traffic - + - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers - + @@ -12530,42 +13039,42 @@ Reported error: Dialog - + PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + @@ -12575,187 +13084,248 @@ Reported error: No trust - + Marginal - + Full - + Ultimate - + Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign PGP key - + <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures - + + + + + Options + Настройки + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + PGP Key details - + - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. - + - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) - + - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + Your trust in this peer is full. - + Your trust in this peer is marginal. - + Your trust in this peer is none. - + - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure - + Maybe password is wrong - + - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12776,12 +13346,12 @@ p, li { white-space: pre-wrap; } Chat - + Start Chat - + @@ -12802,62 +13372,62 @@ p, li { white-space: pre-wrap; } Peer ID: - + Trust: - + Location: - + IP Address: - + Connection Method: - + Status: - + Write Message - + Friend - + Friend Connected - + Connect Attempt - + Friend of Friend - + Peer - + @@ -12870,7 +13440,7 @@ p, li { white-space: pre-wrap; } Unknown Peer - + @@ -12880,7 +13450,7 @@ p, li { white-space: pre-wrap; } Send Message - + @@ -12888,42 +13458,96 @@ p, li { white-space: pre-wrap; } Friends: 0/0 - + Online Friends/Total Friends - + Friends - + PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -12939,47 +13563,47 @@ p, li { white-space: pre-wrap; } PhotoShare - + Photo - + TextLabel - + Comment - + Summary - + Caption - + Where: - + Photo Title: - + When - + @@ -12994,7 +13618,7 @@ p, li { white-space: pre-wrap; } Write a comment... - + @@ -13007,34 +13631,34 @@ p, li { white-space: pre-wrap; } TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> - + @@ -13047,53 +13671,53 @@ p, li { white-space: pre-wrap; } Create Album - + View Album - + Subscribe To Album - + Slide Show - + My Albums - + Subscribed Albums - + Shared Albums - + View Photo - + PhotoShare - + Please select an album before requesting to edit it! - + @@ -13101,53 +13725,53 @@ requesting to edit it! Album Name - + Image - + Show/Hide Details - + << - + Stop - + >> - + Close - + Start - + Start Slide Show - + Stop Slide Show - + @@ -13163,26 +13787,26 @@ requesting to edit it! TextLabel - + Show more details about this plugin - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> - + Enable this plugin (restart required) - + @@ -13192,22 +13816,22 @@ p, li { white-space: pre-wrap; } Disable this plugin (restart required) - + Disable - + Launch configuration panel, if provided by the plugin - + Configure - + @@ -13217,22 +13841,22 @@ p, li { white-space: pre-wrap; } File name: - + File hash: - + Status: - + will be enabled after your restart RetroShare. - + @@ -13240,37 +13864,37 @@ p, li { white-space: pre-wrap; } base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13278,22 +13902,22 @@ p, li { white-space: pre-wrap; } Install New Plugin... - + Open Plugin to install - + Plugins (*.so *.dll) - + Widget for plugin %1 not found on plugins frame - + @@ -13301,27 +13925,27 @@ p, li { white-space: pre-wrap; } Authorize all plugins - + Plugin look-up directories - + Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + No API number supplied. Please read plugin development manual. - + @@ -13330,37 +13954,37 @@ p, li { white-space: pre-wrap; } [loading problem] - + No SVN number supplied. Please read plugin development manual. - + Loading error. - + Missing symbol. Wrong version? - + No plugin object - + Plugins is loaded. - + Unknown status. - + @@ -13368,18 +13992,18 @@ p, li { white-space: pre-wrap; } be checked for the hash. However, in normal times, checking the hash protects you from malicious behavior of crafted plugins. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + Plugins - + @@ -13387,7 +14011,7 @@ malicious behavior of crafted plugins. Popularity - + @@ -13395,17 +14019,17 @@ malicious behavior of crafted plugins. Clear offline messages - + Hide Avatar - + Show Avatar - + @@ -13413,36 +14037,36 @@ malicious behavior of crafted plugins. Avatar - + Set your Avatar Picture - + Dock tab - + Undock tab - + Set Chat Window Color - + Set window on top - + @@ -13450,32 +14074,32 @@ malicious behavior of crafted plugins. Chat remotely closed. Please close this window. - + The person you're talking to has deleted the secured chat tunnel. You may remove the chat window now. - + Closing this window will end the conversation, notify the peer and remove the encrypted tunnel. - + Kill the tunnel? - + Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13483,12 +14107,12 @@ malicious behavior of crafted plugins. Signed by: - + Notes - + @@ -13498,32 +14122,32 @@ malicious behavior of crafted plugins. Please create or choose a Signing Id first - + Submit Post - + You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + Submit - + Submit a new Post - + Please add a Title - + @@ -13533,7 +14157,7 @@ malicious behavior of crafted plugins. Link - + @@ -13541,42 +14165,42 @@ malicious behavior of crafted plugins. Posted Links - + Posted - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + My Topics - + Subscribed Topics - + Popular Topics - + Other Topics - + @@ -13584,37 +14208,37 @@ malicious behavior of crafted plugins. Posted Topic - + Add Topic Admins - + Select Topic Admins - + Create New Topic - + Edit Topic - + Update Topic - + Create - + @@ -13622,7 +14246,7 @@ malicious behavior of crafted plugins. Subscribe to Posted - + @@ -13638,17 +14262,17 @@ malicious behavior of crafted plugins. Posted Description - + Loading - + New Posted - + @@ -13659,40 +14283,40 @@ malicious behavior of crafted plugins. PostedItem - + 0 - + Site - + - + Comments - + Comment - + Vote up - + Vote down - + \/ - + @@ -13705,9 +14329,19 @@ malicious behavior of crafted plugins. Нов - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status - + @@ -13715,14 +14349,14 @@ malicious behavior of crafted plugins. Премахни елемент - + Loading - + By - + @@ -13735,7 +14369,7 @@ malicious behavior of crafted plugins. Hot - + @@ -13745,37 +14379,37 @@ malicious behavior of crafted plugins. Top - + Today - + Yesterday - + This Week - + This Month - + This Year - + Submit a new Post - + @@ -13790,7 +14424,7 @@ malicious behavior of crafted plugins. Please create or choose a Signing Id before Voting - + @@ -13800,7 +14434,7 @@ malicious behavior of crafted plugins. 1-10 - + @@ -13808,17 +14442,17 @@ malicious behavior of crafted plugins. Tabs - + Posted - + Open each topic in a new tab - + @@ -13826,7 +14460,7 @@ malicious behavior of crafted plugins. Posted - + @@ -13834,37 +14468,37 @@ malicious behavior of crafted plugins. RetroShare Message - Print Preview - + Print - + &Print... - + Page Setup... - + Zoom In - + Zoom Out - + &Close - + @@ -13873,7 +14507,7 @@ malicious behavior of crafted plugins. Profile Manager - + @@ -13883,29 +14517,29 @@ malicious behavior of crafted plugins. Email - + GID - + Export Identity - + RetroShare Identity files (*.asc) - + Identity saved - + @@ -13914,80 +14548,80 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Identity not saved - + Your identity was not saved. An error occurred. - + Import Identity - + Identity not loaded - + Your identity was not loaded properly: - + New identity imported - + Your identity was imported successfully: - + Select Trusted Friend - + Certificates (*.pqi *.pem) - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + You can use it now to create a new node. - + @@ -13996,22 +14630,22 @@ p, li { white-space: pre-wrap; } Edit status message - + Copy Certificate - + Profile Manager - + Public Information - + @@ -14021,57 +14655,57 @@ p, li { white-space: pre-wrap; } Location: - + Peer ID: - + Number of Friends: - + Version: - + Online since: - + Other Information - + My Address - + Local Address: - + External Address: - + Dynamic DNS: - + Addresses list: - + @@ -14082,12 +14716,12 @@ p, li { white-space: pre-wrap; } Sorry, create certificate failed - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -14095,51 +14729,51 @@ p, li { white-space: pre-wrap; } Post From: - + Account 1 - + Account 2 - + Account 3 - + Add to Pulse - + filter - + URL Adder - + Display As - + URL - + @@ -14149,7 +14783,7 @@ p, li { white-space: pre-wrap; } Post Pulse to Wire - + @@ -14157,7 +14791,7 @@ p, li { white-space: pre-wrap; } From - + @@ -14175,118 +14809,123 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation - + Do you want this link to be handled by your system? - + - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. - + - + Add file - + Add files - + Do you want to process the link ? - + Do you want to process %1 links ? - + - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. - + %1 of %2 RetroShare links processed. - + File added - + Files added - + File exist - + Files exist - + Friend added - + Friends added - + Friend exist - + Friends exist - + Friend not added - + Friends not added - + Friend not found - + Friends not found - + @@ -14296,184 +14935,194 @@ and open the Make Friend Wizard. Forums not found - + Forum message not found - + Forum messages not found - + Channel not found - + Channels not found - + Channel message not found - + Channel messages not found - + + + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + Recipient not accepted - + Recipients not accepted - + Unkown recipient - + Unkown recipients - + Malformed links - + Invalid links - + Warning: forbidden characters found in filenames. Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. - + Result - + - + Unable to make path - + Unable to make path: - + Failed to process collection file - + - + Deny friend - + Make friend - + Peer details - + File Request canceled - + - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. - + Choose between:<br><ul><li><b>Ok</b> to copy the existing keyring from gnupg (safest bet), or </li><li><b>Close without saving</b> to start fresh with an empty keyring (you will be asked to create a new PGP key to work with RetroShare, or import a previously saved pgp keypair). </li><li><b>Cancel</b> to quit and forge a keyring by yourself (needs some PGP skills)</li></ul> - + - + RetroShare RetroShare - + Initialization failed. Wrong or missing installation of PGP. - + An unexpected error occurred. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + Multiple instances - + Another RetroShare using the same profile is already running on your system. Please close that instance first Lock file: - + An unexpected error occurred when Retroshare tried to acquire the single instance lock Lock file: - - - - - Start with a RetroShare link is only supported for Windows. - + Distant peer has closed the chat - + Tunnel is pending... - + Secured tunnel is working. You can talk! - + @@ -14481,186 +15130,186 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Reported error is: %2 - + - + Click to send a private message to %1 (%2). - + %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + secs - + TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + %1 days ago - + Subject: - + Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error - + unable to parse XML file! - + @@ -14668,19 +15317,19 @@ Security: no anonymous IDs Quick Start Wizard - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14689,7 +15338,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Choose which files you share.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Get started using RetroShare.</span></p></body></html> - + @@ -14697,7 +15346,7 @@ p, li { white-space: pre-wrap; } Next > - + @@ -14706,73 +15355,73 @@ p, li { white-space: pre-wrap; } Exit - + For best performance, RetroShare needs to know a little about your connection to the internet. - + Choose your download speed limit: - + KB/s - + Choose your upload speed limit: - + Connection : - + Automatic (UPnP) - + Firewalled - + Manually forwarded port - + Discovery : - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + @@ -14780,35 +15429,35 @@ p, li { white-space: pre-wrap; } < Back - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> - + Directory - + Network Wide - + Browseable - + @@ -14823,110 +15472,110 @@ p, li { white-space: pre-wrap; } Automatically share incoming directory (Recommended) - + RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + Do not show a message when Closing RetroShare - + Start Minimized - + Start RetroShare when my System Starts. - + Start minimized on system start - + Finish - + Select A Folder To Share - + Shared Directory Added! - + Warning! - + Browsable - + Universal - + If checked, the share is anonymously shared to anybody. - + If checked, the share is browsable by your friends. - + @@ -14934,12 +15583,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + @@ -14947,17 +15596,17 @@ p, li { white-space: pre-wrap; } %1 KB - + %1 MB - + %1 GB - + @@ -14970,12 +15619,12 @@ p, li { white-space: pre-wrap; } The loading of embedded images is blocked. - + Load images - + @@ -14983,60 +15632,60 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15044,17 +15693,17 @@ p, li { white-space: pre-wrap; } Down - + Up - + <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15062,89 +15711,89 @@ p, li { white-space: pre-wrap; } Enable Relay Connections - + Use Relay Servers - + Relay options - + Number - + Bandwidth per link - + Total Bandwidth - + Friends - + kB/s - + Friends of Friends - + General - + Total: - + Relay Server Setup - + Add Server - + Server DHT Key - + Remove Server - + Relay - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15152,17 +15801,17 @@ p, li { white-space: pre-wrap; } Download - + Recommend in a message to - + Collection - + @@ -15170,7 +15819,7 @@ p, li { white-space: pre-wrap; } NEW - + @@ -15178,22 +15827,22 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + @@ -15206,33 +15855,33 @@ p, li { white-space: pre-wrap; } Add IP to whitelist - + Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15240,17 +15889,17 @@ p, li { white-space: pre-wrap; } Collection - + File name : - + Total size : - + @@ -15261,39 +15910,39 @@ p, li { white-space: pre-wrap; } Download! - + - + File - + - + Size - + Hash - + Bad filenames have been cleaned - + Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. - + Selected files : - + @@ -15303,27 +15952,27 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + >> - + <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + + - + @@ -15331,58 +15980,63 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Запазване - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + Real Size=%1 - + Real File Count=%1 - + Save Collection File. - + What do you want to do? - + @@ -15392,42 +16046,42 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Merge - + Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + File already exists. - + <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15436,17 +16090,17 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Cannot open file %1 - + Error parsing xml file - + Open collection file - + @@ -15454,31 +16108,31 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Collection files - + Create collection file - + This file contains the string "%1" and is therefore an invalid collection file. If you believe it is correct, remove the corresponding line from the file and re-open it with Retroshare. - + Save Collection File. - + What do you want to do? - + @@ -15488,7 +16142,7 @@ If you believe it is correct, remove the corresponding line from the file and re Merge - + @@ -15498,16 +16152,16 @@ If you believe it is correct, remove the corresponding line from the file and re File already exists. - + RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? - + @@ -15515,85 +16169,94 @@ Reducing image to %1x%2 pixels? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. - + Sets the directory RetroShare uses for data files. - + Sets the name and location of RetroShare's logfile. - + Sets the verbosity of RetroShare's logging. - + Sets RetroShare's interface style. - + Sets RetroShare's interface stylesheets. - + Sets RetroShare's language. - + RetroShare Usage Information - + - + Unable to open log file '%1': %2 - + built-in - + Could not create data directory: %1 - + - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -15601,7 +16264,7 @@ Reducing image to %1x%2 pixels? RTT Statistics - + @@ -15609,98 +16272,98 @@ Reducing image to %1x%2 pixels? Enter a keyword here (at least 3 char long) - + Start Search - + Search - + Advanced Search - + Advanced - + Search inside "browsable" files of your friends - + Browsable files - + Multi-hop search at distance 6 in the network (always reports available files) - + Distant - + Include files from your own file list in the search result - + Own files - + Close all Search Results - + Clear - + KeyWords - + Results - + Search Id - + Filename - + Size - + Sources - + @@ -15710,130 +16373,130 @@ Reducing image to %1x%2 pixels? Age - + Hash - + Filter: - + Filter Search Result - + Max results: - + Any - + Archive - + Audio - + CD-Image - + Document - + Picture - + Program - + Video - + Directory - + Download Selected - + Download selected - + File Name - + Download - + Copy RetroShare Link - + Send RetroShare Link - + Download Notice - + Skipping Local Files - + Sorry - + This function is not yet implemented. - + Search again - + @@ -15843,7 +16506,7 @@ Reducing image to %1x%2 pixels? Remove All - + @@ -15854,37 +16517,37 @@ Reducing image to %1x%2 pixels? New RetroShare Link(s) - + Open Folder - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + Collection - + @@ -15892,7 +16555,7 @@ Reducing image to %1x%2 pixels? Peer details - + @@ -15908,29 +16571,29 @@ Reducing image to %1x%2 pixels? IP address: - + Peer ID: - + Location: - + Peer Name: - + Unknown Peer - + @@ -15940,33 +16603,33 @@ Reducing image to %1x%2 pixels? but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -15974,32 +16637,32 @@ Reducing image to %1x%2 pixels? wants to be friend with you on RetroShare - + Accept Friend Request - + Peer details - + Deny friend - + Chat - + Start Chat - + @@ -16020,62 +16683,62 @@ Reducing image to %1x%2 pixels? Peer ID: - + Trust: - + Location: - + IP Address: - + Connection Method: - + Status: - + Write Message - + Connect Attempt - + Connection refused by remote peer - + Unknown (Incoming) Connect Attempt - + Unknown (Outgoing) Connect Attempt - + Unknown Security Issue - + @@ -16084,7 +16747,7 @@ Reducing image to %1x%2 pixels? Unknown Peer - + @@ -16094,32 +16757,32 @@ Reducing image to %1x%2 pixels? Do you want to remove this Friend? - + Certificate has wrong signature!! This peer is not who he claims to be. - + Missing/Damaged certificate. Not a real Retroshare user. - + Certificate caused an internal error. - + Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16127,236 +16790,236 @@ Reducing image to %1x%2 pixels? Network Configuration - + Network Mode - + Nat - + Automatic (UPnP) - + Firewalled - + Manually Forwarded Port - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + Local Address - + External Address - + Dynamic DNS - + Port: - + Local network - + External ip address finder - + UPnP - + Known / Previous IPs: - + Show Discovery information in statusbar - + If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. - + Allow RetroShare to ask my ip to these websites: - + kB/s - + Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + Onion Address - + Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + Clear - + Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16366,23 +17029,23 @@ Also check your ports! Network - + IP Filters - + IP blacklist - + IP range - + @@ -16396,176 +17059,176 @@ Also check your ports! Origin - + Reason - + Comment - + IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + @@ -16578,78 +17241,78 @@ If you have issues connecting over Tor check the Tor logs too. Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16657,27 +17320,27 @@ If you have issues connecting over Tor check the Tor logs too. Service permissions - + Service Permissions - + Use as direct source, when available - + Auto-download recommended files - + Require whitelist - + @@ -16685,7 +17348,7 @@ If you have issues connecting over Tor check the Tor logs too. ServicePermissions - + @@ -16695,17 +17358,17 @@ If you have issues connecting over Tor check the Tor logs too. Permissions - + hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16721,48 +17384,48 @@ If you have issues connecting over Tor check the Tor logs too. RetroShare Share Folder - + Share Folder - + Local Path - + Browse - + Virtual Folder - + Share Flags - + Edit Shared Folder - + Select A Folder To Share - + Share flags and groups: - + @@ -16770,23 +17433,23 @@ If you have issues connecting over Tor check the Tor logs too. check peers you would like to share private publish key with - + Share for Friend - + Share - + You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -16794,37 +17457,37 @@ Select the Friends with which you want to Share your Channel. RetroShare Share Manager - + Shared Folder Manager - + Directory - + Virtual Folder - + Share flags - + Groups - + Add a Share Directory - + @@ -16834,7 +17497,7 @@ Select the Friends with which you want to Share your Channel. Stop sharing selected Directory - + @@ -16845,12 +17508,12 @@ Select the Friends with which you want to Share your Channel. Apply and close - + Edit selected Shared Directory - + @@ -16861,43 +17524,43 @@ Select the Friends with which you want to Share your Channel. Share Manager - + Edit Shared Folder - + Warning! - + Do you really want to stop sharing this directory ? - + Drop file error. - + File can't be dropped, only directories are accepted. - + Directory not found or directory name not accepted. - + This is a list of shared folders. You can add and remove folders using the buttons at the bottom. When you add a new folder, intially all files in that folder are shared. You can separately setup share flags for each shared directory. - + @@ -16905,17 +17568,17 @@ Select the Friends with which you want to Share your Channel. Files - + Search files - + Start Search - + @@ -16925,108 +17588,108 @@ Select the Friends with which you want to Share your Channel. Tree view - + Flat view - + All - + One day old - + One Week old - + One month old - + check files - + Download selected - + Download - + Copy retroshare Links to Clipboard - + Copy retroshare Links to Clipboard (HTML) - + Send retroshare Links - + Send retroshare Links to Cloud - + Add Links to Cloud - + RetroShare Link - + Recommendation(s) - + Add Share - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + @@ -17034,48 +17697,48 @@ Select the Friends with which you want to Share your Channel. Friend - + Go Online - + Chatmessage - + New Msg - + Message - + Message arrived - + Download - + Download complete - + Lobby - + @@ -17083,7 +17746,7 @@ Select the Friends with which you want to Share your Channel. Event: - + @@ -17093,32 +17756,32 @@ Select the Friends with which you want to Share your Channel. Browse - + Event - + Filename - + Open File - + Sound - + Default - + По подразбиране @@ -17126,30 +17789,30 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile - + Load configuration - + Create interface - + @@ -17162,55 +17825,55 @@ Select the Friends with which you want to Share your Channel. Login - + Name (PGP Id) - location: - + Remember Password - + Log In - + Opens a dialog for creating a new profile or adding locations to an existing profile. The current identities/locations will not be affected. - + Load Person Failure - + Missing PGP Certificate - + Warning - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17219,7 +17882,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17228,7 +17891,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17237,7 +17900,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17245,17 +17908,17 @@ This choice can be reverted in settings. Add Friend - + Add a Friend Wizard - + Add Share - + @@ -17265,7 +17928,7 @@ This choice can be reverted in settings. Messenger - + @@ -17275,53 +17938,53 @@ This choice can be reverted in settings. SMPlayer - + Quit - + Quick Start Wizard - + ServicePermissions - + Service permissions matrix - + DHT - + Bandwidth - + Turtle Router - + Global Router - + RTT Statistics - + @@ -17330,165 +17993,165 @@ This choice can be reverted in settings. Offline - + Away - + Busy - + Online - + Idle - + Friend is offline - + Friend is away - + Friend is busy - + Friend is online - + Friend is idle - + Connected - + Unreachable - + Available - + Neighbor - + Trying TCP - + Trying UDP - + Connected: TCP - + Connected: UDP - + Connected: I2P - + Connected: Unknown - + DHT: Contact - + TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17496,30 +18159,30 @@ This choice can be reverted in settings. Status message - + Message: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> - + @@ -17528,28 +18191,28 @@ p, li { white-space: pre-wrap; } Define Style - + Choose color - + Color 2 - + Color 1 - + Style - + @@ -17559,12 +18222,12 @@ p, li { white-space: pre-wrap; } Solid - + Gradient - + @@ -17572,91 +18235,91 @@ p, li { white-space: pre-wrap; } %p Kb - + Cancel Download - + Download File - + Download - + Play File - + Play - + Save File - + ERROR - + EXTRA - + REMOTE - + DOWNLOAD - + LOCAL - + UPLOAD - + Remove Attachment - + File %1 does not exist at location. - + File %1 is not completed. - + Save Channel File - + @@ -17666,30 +18329,30 @@ p, li { white-space: pre-wrap; } Open File - + Copy RetroShare Link - + SubscribeToolButton - + Subscribed - + - + Unsubscribe - + - + Subscribe - + @@ -17697,7 +18360,7 @@ p, li { white-space: pre-wrap; } Pause - + @@ -17705,27 +18368,27 @@ p, li { white-space: pre-wrap; } Important - + Work - + Personal - + Todo - + Later - + @@ -17733,12 +18396,12 @@ p, li { white-space: pre-wrap; } Remove All Tags - + New tag ... - + @@ -17746,12 +18409,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17759,90 +18422,90 @@ p, li { white-space: pre-wrap; } Transfer options - + Maximum simultaneous downloads: - + Slots reserved for non-cache transfers: - + Default chunk strategy: - + Safety disk space limit : - + Streaming - + Progressive - + Random - + MB - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> - + Max. tunnel req. forwarded per second: - + <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -17850,45 +18513,45 @@ p, li { white-space: pre-wrap; } Download completed - + You have %1 completed downloads - + You have %1 completed download - + %1 completed downloads - + %1 completed download - + TransfersDialog - + Downloads - + Uploads - + - + Name i.e: file name @@ -17899,31 +18562,31 @@ p, li { white-space: pre-wrap; } Size i.e: file size - + Completed - + Speed i.e: Download speed - + Progress / Availability i.e: % downloaded - + Sources i.e: Sources - + @@ -17936,84 +18599,84 @@ p, li { white-space: pre-wrap; } Speed / Queue position - + Remaining - + Download time i.e: Estimated Time of Arrival / Time left - + Peer i.e: user name - + Progress i.e: % uploaded - + Speed i.e: upload speed - + Transferred - + Hash - + Search - + Friends files - + My files - + Download from collection file... - + Pause - + Resume - + Force Check - + @@ -18024,185 +18687,185 @@ p, li { white-space: pre-wrap; } Open Folder - + Open File - + Preview File - + Details... - + Clear Completed - + Copy RetroShare Link - + Paste RetroShare Link - + Down - + Up - + Top - + Bottom - + Streaming - + Slower - + Average - + Faster - + Random - + Progressive - + Play - + Rename file... - + Specify... - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + Move in Queue... - + Priority (Speed)... - + Chunk strategy - + Set destination directory - + Choose directory - + - + Failed - + - - + + Okay - + - - + + Waiting - + - + Downloading Изтегляне - + Complete - + - + Queued - + Paused - + Checking... - + @@ -18210,7 +18873,7 @@ p, li { white-space: pre-wrap; } Неизвестен - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18221,22 +18884,22 @@ map of the data; it will compare and invalidate bad blocks, and download them again Try to be patient! - + Transferring - + Uploading - + Are you sure that you want to cancel and delete these files? - + @@ -18249,163 +18912,163 @@ Try to be patient! File preview - + Can't create link for file %1. - + File %1 preview failed. - + Click OK when program terminates! - + Open Transfer - + File %1 is not completed. If it is a media file, try to preview it. - + Change file name - + Please enter a new file name - + Please enter a new--and valid--filename - + - + Last Time Seen i.e: Last Time Receiced Data - + UserID - + Expand all - + Collapse all - + Size - + Show Size Column - + Show Completed Column - + Speed - + Show Speed Column - + Progress / Availability - + Show Progress / Availability Column - + Sources - + Show Sources Column - + Show Status Column - + Show Speed / Queue position Column - + Show Remaining Column - + Download time - + Show Download time Column - + Show Hash Column - + Last Time Seen - + Show Last Time Seen Column - + Columns - + File Transfers - + @@ -18421,57 +19084,57 @@ Try to be patient! Show Path Column - + - + Could not delete preview file - + Try it again? - + - + Create Collection... - + Modify Collection... - + View Collection... - + Collection - + - + File sharing - + - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: - + @@ -18480,69 +19143,69 @@ Try to be patient! My files - + FILE - + Files - + File - + DIR - + Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + What's new - + Groups - + @@ -18551,13 +19214,13 @@ Try to be patient! Search requests - + Tunnel requests - + @@ -18566,28 +19229,28 @@ Try to be patient! Unknown hashes - + Tunnel id - + last transfer - + Speed - + Request id: %1 from [%2] %3 secs ago - + @@ -18595,12 +19258,12 @@ Try to be patient! Router Statistics - + F2F router information - + @@ -18608,42 +19271,42 @@ Try to be patient! Router Statistics - + Age in seconds - + Depth - + total - + Anonymous tunnels - + Authenticated tunnels - + Unknown Peer - + Turtle Router - + @@ -18651,47 +19314,47 @@ Try to be patient! Search requests repartition - + Tunnel requests repartition - + Turtle router traffic - + Tunnel requests Up - + Tunnel requests Dn - + Incoming file data - + Outgoing file data - + TR Forward probabilities - + Forwarded data - + @@ -18703,7 +19366,7 @@ Try to be patient! Loading - + @@ -18711,22 +19374,22 @@ Try to be patient! B - + KB - + MB - + GB - + @@ -18734,22 +19397,22 @@ Try to be patient! You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + @@ -18757,7 +19420,7 @@ Try to be patient! OK - + @@ -18767,12 +19430,12 @@ Try to be patient! Yes - + No - + @@ -18782,12 +19445,12 @@ Try to be patient! Retry - + Show Log - + @@ -18802,12 +19465,12 @@ Try to be patient! Quit - + Browse - + @@ -18820,57 +19483,57 @@ Try to be patient! Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -18878,48 +19541,48 @@ Try to be patient! Basic Details - + Group Name: - + Category: - + Travel - + Holiday - + Friends - + Family - + Work - + Random - + @@ -18929,72 +19592,72 @@ Try to be patient! Share Options - + Public - + All Friends - + Restricted - + N/A - + University Friends - + This List Contains - + All your Groups - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with XXX Key - + Cancel - + Create Group - + @@ -19003,42 +19666,42 @@ Try to be patient! Wiki Pages - + New Group - + Page Name - + Page Id - + Orig Id - + << - + >> - + Republish - + @@ -19048,62 +19711,62 @@ Try to be patient! New Page - + Refresh - + Search - + My Groups - + Subscribed Groups - + Popular Groups - + Other Groups - + Subscribe to Group - + Unsubscribe to Group - + Todo - + Show Wiki Group - + Edit Wiki Group - + @@ -19111,74 +19774,74 @@ Try to be patient! Page Edit History - + Enable Obsolete Edits - + Choose for Merge - + Merge for Republish (TODO) - + Publish Date - + By - + PageId - + \/ - + /\ - + Wiki Group: - + Page Name: - + Previous Version - + Tags - + Show Edit History - + @@ -19199,39 +19862,39 @@ Try to be patient! Revert - + Submit - + Hide Edit History - + Edit Page - + Create New Wiki Page - + Republish - + Edit Wiki Page - + @@ -19239,37 +19902,37 @@ Try to be patient! Create New Wiki Group - + Wiki Group - + Edit Wiki Group - + Add Wiki Moderators - + Select Wiki Moderators - + Create Group - + Update Group - + @@ -19277,28 +19940,28 @@ Try to be patient! TimeRange - + All - + Last Month - + Last Week - + Today - + @@ -19308,67 +19971,67 @@ Try to be patient! from - + until - + Search/Filter - + Network Wide - + Manage Accounts - + Showing: - + Yourself - + Friends - + Following - + Custom - + Account 1 - + Account 2 - + Account 3 - + @@ -19377,12 +20040,12 @@ Try to be patient! CheckBox - + Post Pulse to Wire - + @@ -19397,37 +20060,37 @@ Try to be patient! B bytes - + KB kilobytes (1024 bytes) - + MB megabytes (1024 kilobytes) - + GB gigabytes (1024 megabytes) - + TB, terabytes (1024 gigabytes) - + TB terabytes (1024 gigabytes) - + @@ -19438,65 +20101,65 @@ Try to be patient! < 1m < 1 minute - + %1 minutes e.g: 10minutes - + %1h %2m e.g: 3hours 5minutes - + %1d %2h e.g: 2days 10hours - + %1y %2d e.g: 2 years 2days - + k e.g: 3.1 k - + M e.g: 3.1 M - + G e.g: 3.1 G - + T e.g: 3.1 T - + Load avatar image - + Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_ca_ES.ts b/retroshare-gui/src/lang/retroshare_ca_ES.ts index a8a86fc64..b2670a412 100644 --- a/retroshare-gui/src/lang/retroshare_ca_ES.ts +++ b/retroshare-gui/src/lang/retroshare_ca_ES.ts @@ -1,4 +1,6 @@ - + + + AWidget @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file Ho sentim, no es pot determinar l'ordre de sistema per defecte per a aquest fitxer\n @@ -304,7 +306,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -426,7 +428,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -474,7 +476,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -487,7 +489,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -774,7 +776,7 @@ Però recorda: Totes les dades generades aquí *SERAN* perdudes quan actualitzem BWGraphSource - + KB/s KB/s @@ -1052,6 +1054,11 @@ Però recorda: Totes les dades generades aquí *SERAN* perdudes quan actualitzem Mute participant Silencia participant + + + Ban this person (Sets negative opinion) + + Send Message @@ -1068,7 +1075,7 @@ Però recorda: Totes les dades generades aquí *SERAN* perdudes quan actualitzem Ordenar per activitat - + Invite friends to this lobby Invitar amics a aquesta sala @@ -1088,7 +1095,7 @@ Però recorda: Totes les dades generades aquí *SERAN* perdudes quan actualitzem Seleccionar els amics a invitar: - + Welcome to lobby %1 Benvinguts a la sala de xat %1 @@ -1104,7 +1111,7 @@ Però recorda: Totes les dades generades aquí *SERAN* perdudes quan actualitzem Sala de xat - + Lobby management @@ -1151,12 +1158,12 @@ Però recorda: Totes les dades generades aquí *SERAN* perdudes quan actualitzem segons - + Start private chat Inicia xat privat - + Decryption failed. Ha fallat la desencriptació. @@ -1241,12 +1248,12 @@ Però recorda: Totes les dades generades aquí *SERAN* perdudes quan actualitzem ChatLobbyWidget - + Chat lobbies Sales de xat - + Name Nom @@ -1284,7 +1291,7 @@ Però recorda: Totes les dades generades aquí *SERAN* perdudes quan actualitzem [No s'ha proporcionat cap assumpte] - + Selected lobby info Informació de la sala seleccionada @@ -1324,7 +1331,7 @@ Però recorda: Totes les dades generades aquí *SERAN* perdudes quan actualitzem %1 t'invita a una sala de xat anomenada %2 - + Search Chat lobbies Cercar sales de xat @@ -1364,7 +1371,7 @@ Però recorda: Totes les dades generades aquí *SERAN* perdudes quan actualitzem No - + Lobby Name: Nom de la sala: @@ -1531,7 +1538,7 @@ Fes doble clic a les sales per entrar-hi i xatejar. Cancel·la - + Quick Message Missatge ràpid @@ -1540,12 +1547,12 @@ Fes doble clic a les sales per entrar-hi i xatejar. ChatPage - + General General - + Distant Chat Xat distant @@ -1619,6 +1626,11 @@ Fes doble clic a les sales per entrar-hi i xatejar. Send message with Ctrl+Return Enviar missatge amb Ctrl+Retorn + + + Send as plain text by default + + Chat Lobby @@ -1724,7 +1736,7 @@ Fes doble clic a les sales per entrar-hi i xatejar. Sortints - + Incoming message in history Missatge entrant a l'històrial @@ -1859,7 +1871,7 @@ Fes doble clic a les sales per entrar-hi i xatejar. Mostra la barra per defecte - + Private chat invite from Invitació a xat privat de @@ -1882,7 +1894,7 @@ Fes doble clic a les sales per entrar-hi i xatejar. ChatStyle - + Standard style for group chat Estil estàndard per al xat en grup @@ -1936,12 +1948,12 @@ Fes doble clic a les sales per entrar-hi i xatejar. Tancar - + Send Enviar - + Bold Negreta @@ -1956,12 +1968,12 @@ Fes doble clic a les sales per entrar-hi i xatejar. Cursiva - + Attach a Picture Adjunta una imatge - + Strike Vaga @@ -2012,7 +2024,7 @@ Fes doble clic a les sales per entrar-hi i xatejar. Restablir tipografia per defecte - + Quote Cita @@ -2037,17 +2049,45 @@ Fes doble clic a les sales per entrar-hi i xatejar. Desar imatge - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... està escrivint... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? Segur que vols eliminar físicament l'historial? - + Add Extra File Afegir arxiu extra @@ -2092,7 +2132,7 @@ Fes doble clic a les sales per entrar-hi i xatejar. està ocupat i pot no respondre - + Find Case Sensitively Cercar diferenciant majúscules i minúscules @@ -2114,7 +2154,7 @@ Fes doble clic a les sales per entrar-hi i xatejar. No deixis de colorejar fins trobar X elements (Necessita més UCP) - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> <b>Trobar anterior </b><br/><i>Ctrl+Shift+G</i> @@ -2129,12 +2169,12 @@ Fes doble clic a les sales per entrar-hi i xatejar. <b>Trobar </b><br/><i>Ctrl+F</i> - + (Status) (Estat) - + Set text font & color Estableix tipus de lletra i color @@ -2144,7 +2184,7 @@ Fes doble clic a les sales per entrar-hi i xatejar. Adjunta un arxiu - + WARNING: Could take a long time on big history. ATENCIÓ: Pot trigar molta estona en un registre històric gros. @@ -2155,17 +2195,16 @@ Fes doble clic a les sales per entrar-hi i xatejar. - + <b>Mark this selected text</b><br><i>Ctrl+M</i> <b>Marca el text seleccionat</b><br><i>Ctrl+M</i> - %1This message consists of %2 characters. - %1Aquest missatge té %2 caràcters. + %1Aquest missatge té %2 caràcters. - + items found. Elements trobats. @@ -2180,22 +2219,20 @@ Fes doble clic a les sales per entrar-hi i xatejar. <b>Torna al text marcat</b><br><i>Ctrl+M</i> - Display Search Box - Mostra la casella de cerca + Mostra la casella de cerca - Search Box - Casella de cerca + Casella de cerca - + Type a message here Escriu un missatge aquí - + Don't stop to color after No t'aturis a colorejar després de @@ -2205,9 +2242,8 @@ Fes doble clic a les sales per entrar-hi i xatejar. elements trobats (necessita més UCP) - Warning: - Avís: + Avís: @@ -2226,7 +2262,7 @@ Fes doble clic a les sales per entrar-hi i xatejar. CirclesDialog - + Showing details: Mostrant detalls: @@ -2248,7 +2284,7 @@ Fes doble clic a les sales per entrar-hi i xatejar. - + Personal Circles Cercles personals @@ -2274,7 +2310,7 @@ Fes doble clic a les sales per entrar-hi i xatejar. - + Friends Amics @@ -2334,7 +2370,7 @@ Fes doble clic a les sales per entrar-hi i xatejar. Amics dels amics - + External Circles (Admin) Cercles externs (Admin) @@ -2358,7 +2394,7 @@ Fes doble clic a les sales per entrar-hi i xatejar. ConfCertDialog - + Details Detalls @@ -2374,7 +2410,7 @@ Fes doble clic a les sales per entrar-hi i xatejar. - + Local Address Adreça local @@ -2401,36 +2437,39 @@ Fes doble clic a les sales per entrar-hi i xatejar. Llista d'adreces - + + Use this certificate to make friends: + + + + Include signatures Inclou les signatures - - + + RetroShare RetroShare - - + + Error : cannot get peer details. Error: no es poden obtenir detalls del contacte. - Use as direct source, when available - Utilitza com a font directa quan estigui disponible + Utilitza com a font directa quan estigui disponible - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - <html><head/><body><p align="justify">El RetroShare periòdicament comprova la teva llista d'amics per arxius navegables que coincideixin amb els mateixos que estàs descarregant, per establir una transferència directa. En aquest cas els teus amics sabran què descarregues.</p><p align="justify">Si no vols que això passi per algun amic en concret, desmarca aquesta casella. Encara podràs realitzar transferències directes si ho demanes explícitament, per exemple descarregant de la llista del teu amic directament.</p></body></html> + <html><head/><body><p align="justify">El RetroShare periòdicament comprova la teva llista d'amics per arxius navegables que coincideixin amb els mateixos que estàs descarregant, per establir una transferència directa. En aquest cas els teus amics sabran què descarregues.</p><p align="justify">Si no vols que això passi per algun amic en concret, desmarca aquesta casella. Encara podràs realitzar transferències directes si ho demanes explícitament, per exemple descarregant de la llista del teu amic directament.</p></body></html> - + Encryption Encriptació @@ -2445,17 +2484,16 @@ Fes doble clic a les sales per entrar-hi i xatejar. Adreces del contacte - Options - Opcions + Opcions - + Retroshare node details Detalls del node de RetroShare - + Node name : Nom del node : @@ -2490,22 +2528,20 @@ Fes doble clic a les sales per entrar-hi i xatejar. Certificat RetroShare - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - <html><head/><body><p>Aquesta opció et permet descarregar automàticament un arxiu recomanat en un missatge que provingui d'aquest node. Això es pot utilitzar per exemple per enviar arxius entre els teus nodes.</p></body></html> + <html><head/><body><p>Aquesta opció et permet descarregar automàticament un arxiu recomanat en un missatge que provingui d'aquest node. Això es pot utilitzar per exemple per enviar arxius entre els teus nodes.</p></body></html> - Auto-download recommended files from this node - Descarregar automàticament els arxius recomanats d'aquest node + Descarregar automàticament els arxius recomanats d'aquest node - + Friend node details Detalls del node amic - + Hidden Address Adreça oculta @@ -2541,17 +2577,15 @@ Fes doble clic a les sales per entrar-hi i xatejar. <p>Pots utilitzar aquest certificat per fer nous amics. Envia'l per correu o entrega'l en ma.</p> - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - <html><head/><body><p>Els contactes que tenen aquesta opció no poden conectar-se si la seva adreça no és a la llista blanca. Això et protegeix d'atacs de reenviament. Quan s'usen, els contactes refusats són notificats a la secció de Novetats amb un tiquet de seguretat. Des d'allí es pot decidir que fer amb la IP.</p></body></html> + <html><head/><body><p>Els contactes que tenen aquesta opció no poden conectar-se si la seva adreça no és a la llista blanca. Això et protegeix d'atacs de reenviament. Quan s'usen, els contactes refusats són notificats a la secció de Novetats amb un tiquet de seguretat. Des d'allí es pot decidir que fer amb la IP.</p></body></html> - Require white list clearance - Obligatori que estugui a la llista blanca + Obligatori que estugui a la llista blanca - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> <html><head/><body><p>Aquesta és la ID del node <span style=" font-weight:600;">OpenSSL</span> certifcat, signat pels a sobre llistats <span style=" font-weight:600;">clau</span> PGP. </p></body></html> @@ -3726,11 +3760,11 @@ encara que no sigueu amics. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -3789,68 +3823,80 @@ p, li { white-space: pre-wrap; } CreateCircleDialog - + + + + Circle Details Detalls del cercle - - + Name Nom - Creator - Creador + Creador - Distribution - Distribució + Distribució - + Public Públic - Self-Restricted - Auto-restringit + Auto-restringit - Restricted to: - Restringit a: + Restringit a: - Circle Membership - Membres del cercle + Membres del cercle - + IDs Ids - Known Identities - Identitats conegudes + Identitats conegudes - + Filter Filtre - + Nickname Sobrenom - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ID @@ -3860,55 +3906,104 @@ p, li { white-space: pre-wrap; } Tipus - - - - + + Name: + Nom: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + Privat + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare RetroShare - + Please set a name for your Circle Si us plau, introdueix un nom pel teu cercle - Personal Circle Details - Detalls del cercle personal + Detalls del cercle personal - External Circle Details - Detalls del cercle extern + Detalls del cercle extern - Cannot Edit Existing Circles Yet - No es pot editar cercles existents encara + No es pot editar cercles existents encara - + No Restriction Circle Selected No s'ha seleccionat cap cercle de restricció - + No Circle Limitations Selected No s'ha seleccionat cap cercle de limitacions - Create New Personal Circle - Crear nou cercle personal + Crear nou cercle personal - Create New External Circle - Crear nou cercle extern + Crear nou cercle extern - + Add Afegir @@ -3918,13 +4013,13 @@ p, li { white-space: pre-wrap; } Treure - + Search Cercar - + All Tot @@ -3939,49 +4034,98 @@ p, li { white-space: pre-wrap; } Signat per nodes coneguts - + Edit Circle Editar cercle - - + PGP Identity Identitat PGP - - - + + + Anon Id Id anonima + + + Circle name + + + + + Update + + + Close + Tancar + + + + + Create New Circle + + + + + Create + Crear + + + PGP Linked Id Id enllaç PGP + + + Add Member + + + + + Remove Member + + CreateGroup - + Create a Group Crear grup - - Group Name - Nom del grup + + Group Name: + Nom del grup: - + + Group ID: + + + + Group Name + Nom del grup + + + Enter a name for your group Introdueix un nom pel grup - + + To be defined + + + + Friends Amics @@ -4015,9 +4159,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -4146,7 +4290,7 @@ p, li { white-space: pre-wrap; } CreateGxsForumMsg - + Post Forum Message Publica missatge al fòrum @@ -4191,12 +4335,12 @@ p, li { white-space: pre-wrap; } Començar nova conversa - + No Forum Sense fòrum - + In Reply to En resposta a @@ -4222,9 +4366,19 @@ p, li { white-space: pre-wrap; } Add Extra File Afegir arxiu extra + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data Generar dades en massa @@ -4234,12 +4388,12 @@ p, li { white-space: pre-wrap; } Segur que vols generar %1 missatges? - + Send Enviar - + Forum Message Missatge del fòrum @@ -5201,7 +5355,7 @@ Vols descartar aquest missatge? Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. Recorda els números de hash dels arxius @@ -5690,7 +5844,7 @@ seus arxius quan el tornis a endollar. Mostra grups - + Group Grup @@ -5731,7 +5885,7 @@ seus arxius quan el tornis a endollar. Afegir al grup - + Search Cerca @@ -5741,7 +5895,7 @@ seus arxius quan el tornis a endollar. Ordena per estat - + Move to group Moure al grup @@ -5776,12 +5930,12 @@ seus arxius quan el tornis a endollar. Disponible - + Do you want to remove this Friend? Voleu suprimir aquest amic? - + Done! Fet! @@ -5829,8 +5983,12 @@ com a mínim un dels contactes no s'ha afegit a un grup + Select file for importing your friendlist from + + + Select file for importing yoour friendlist from - Escull l'arxiu d'on importaràs la teva llista d'amics + Escull l'arxiu d'on importaràs la teva llista d'amics @@ -5874,7 +6032,7 @@ com a mínim un dels contactes no s'ha afegit a un grup IP - + Attempt to connect Intent de connexió @@ -5904,7 +6062,7 @@ com a mínim un dels contactes no s'ha afegit a un grup Treure node de l'amic - + Do you want to remove this node? Voleu suprimir aquest node? @@ -5914,7 +6072,7 @@ com a mínim un dels contactes no s'ha afegit a un grup Nodes de l'amic - + Send message to whole group Enviar un missatge a tot el grup @@ -5977,7 +6135,7 @@ com a mínim un dels contactes no s'ha afegit a un grup Busca als amics - + Mark all Marcar tots/es @@ -6172,7 +6330,12 @@ per continuar sent anònim, pots utilitzar un correu electrònic fals.Contrasenya (marca) - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> <html><head/><body><p align="justify">Abans de continuar, mou el ratolí una mica per ajudar al RetroShare a captar tanta aleatorietat com sigui possible. Omplir la barra de progrés fins el 20% és necessari, fins al 100% recomanat.</p></body></html> @@ -6236,7 +6399,7 @@ per continuar sent anònim, pots utilitzar un correu electrònic fals.El camp node és necessari amb un mínim de 3 caràcters - + Failed to generate your new certificate, maybe PGP password is wrong! Ha fallat la generació del teu nou certificat, potser la contrasenya PGP sigui incorrecta! @@ -6270,7 +6433,7 @@ També pots utilitzar una identitat ja existent. Només has de desactivar l&apos - + Create a new profile Crear un nou perfil @@ -6321,12 +6484,11 @@ També pots utilitzar una identitat ja existent. Només has de desactivar l&apos <html><head/><body><p>Aquest és el teu port de connexió.</p><p>Qualsevol valor entre 1024 i 65535 </p><p>serà vàlid. Podràs canviar-ho més tard.</p></body></html> - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - <html><head/><body><p>Pot ser una adreça Tor Onion del tipus: xa76giaf6ifda7ri63i263.onion <br/>o una adreça I2P del tipus: [52 caràcters].b32.i2p </p><p>Per tal d'obtindre'n una has de configurar o Tor o I2P per crear un nou servei ocult/servidor túnel. Si no en tens cap encara, pot igualment continuar i crear-lo més tard a les opcions del RetroShare a &gt;Server-&gt;Panell de configuració de servei ocult.</p></body></html> + <html><head/><body><p>Pot ser una adreça Tor Onion del tipus: xa76giaf6ifda7ri63i263.onion <br/>o una adreça I2P del tipus: [52 caràcters].b32.i2p </p><p>Per tal d'obtindre'n una has de configurar o Tor o I2P per crear un nou servei ocult/servidor túnel. Si no en tens cap encara, pot igualment continuar i crear-lo més tard a les opcions del RetroShare a &gt;Server-&gt;Panell de configuració de servei ocult.</p></body></html> - + PGP key length Longitud de clau PGP @@ -6482,12 +6644,12 @@ i utilitzar el botó d'importació per carregar-lo - + Profile generation failure Generació de perfil fallat - + Missing PGP certificate Falta certificat PGP @@ -6554,8 +6716,12 @@ Introdueix la teva contrasenya PGP quan t'ho pregunti per signar la teva no + Register retroshare:// as URL protocol + + + Register retroshare:// as URL protocol (Restart required) - Registrar retroshare:// com un protocol d'URL (Cal reiniciar) + Registrar retroshare:// com un protocol d'URL (Cal reiniciar) @@ -6563,7 +6729,27 @@ Introdueix la teva contrasenya PGP quan t'ho pregunti per signar la teva no Necessites drets d'administrador per canviar aquesta opció. - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle Inactiu @@ -6583,7 +6769,17 @@ Introdueix la teva contrasenya PGP quan t'ho pregunti per signar la teva no Executar auxiliar d'inici - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error Error @@ -6604,7 +6800,7 @@ Introdueix la teva contrasenya PGP quan t'ho pregunti per signar la teva no General - + Minimize to Tray Icon Minimitzar a l'àrea de notificació @@ -6628,7 +6824,7 @@ Introdueix la teva contrasenya PGP quan t'ho pregunti per signar la teva no <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> @@ -6661,7 +6857,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> @@ -6678,7 +6874,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6711,14 +6907,14 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> @@ -6740,7 +6936,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6910,26 +7106,38 @@ p, li { white-space: pre-wrap; } - Data size - Mida dades + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data size + Mida dades + + + Data hash Hash dades - Received - Rebut + Rebut - Send - Enviat + Enviat - + Branching factor Factor de ramificació @@ -6985,6 +7193,14 @@ p, li { white-space: pre-wrap; } Mostra xat en grup + + GroupChooser + + + [Unknown] + [Desconegut] + + GroupDefs @@ -7118,17 +7334,26 @@ p, li { white-space: pre-wrap; } Contactes: - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer Si us plau, escull com a mínim un contacte - Share channel admin permissions - Compartir els permisos d'administrador del canal + Compartir els permisos d'administrador del canal - + Share forum admin permissions Compartir els permisos d'administrador del fòrum @@ -7149,9 +7374,8 @@ p, li { white-space: pre-wrap; } Nota: No es poden revocar els permisos d'administrador publicats - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - Pots permetre als teus amics a publicar en els teus canals i modificar-ne la descripció. O pots enviar permisos d'administrador a altres instancies del RetroShare. Selecciona els amics a qui vulguis permetre publicar en aquest canal. Nota: no és possible revocar permisos d'administrador del canal. + Pots permetre als teus amics a publicar en els teus canals i modificar-ne la descripció. O pots enviar permisos d'administrador a altres instancies del RetroShare. Selecciona els amics a qui vulguis permetre publicar en aquest canal. Nota: no és possible revocar permisos d'administrador del canal. @@ -7196,18 +7420,27 @@ Nota: No es poden revocar els permisos d'administrador publicatsSort by Posts Ordenar per publicació + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + + Display Mostra - You have admin rights - Tens drets d'administrador + Tens drets d'administrador - + Subscribe to download and read messages Subscriu-te per descarregar i llegir missatges @@ -7552,6 +7785,16 @@ Nota: No es poden revocar els permisos d'administrador publicatsGxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Canvia l'estat dels missatges llegits @@ -7562,7 +7805,7 @@ Nota: No es poden revocar els permisos d'administrador publicats - + Play Reproduir @@ -7599,12 +7842,12 @@ Nota: No es poden revocar els permisos d'administrador publicatsEliminar l'element - + Channel Feed Font del canal - + Files Arxius @@ -7644,12 +7887,12 @@ Nota: No es poden revocar els permisos d'administrador publicatsNo m'agrada - + Loading Carregant - + Open Obrir @@ -7667,7 +7910,7 @@ Nota: No es poden revocar els permisos d'administrador publicats GxsChannelPostsWidget - + Post to Channel Publica al canal @@ -7682,7 +7925,7 @@ Nota: No es poden revocar els permisos d'administrador publicatsCercar canals - + Title Títol @@ -7717,7 +7960,32 @@ Nota: No es poden revocar els permisos d'administrador publicatsNo hi ha canal seleccionat - + + Public + Públic + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download Desactivar auto-descàrrega @@ -7737,7 +8005,23 @@ Nota: No es poden revocar els permisos d'administrador publicatsMostra arxius - + + Administrator: + + + + + + unknown + desconegut + + + + Distribution: + + + + Feeds Fonts @@ -7747,17 +8031,17 @@ Nota: No es poden revocar els permisos d'administrador publicatsArxius - + Subscribers Subscriptors - + Description: Descripció: - + Posts (at neighbor nodes): Publicat (A nodes veïns): @@ -7881,7 +8165,7 @@ Nota: No es poden revocar els permisos d'administrador publicats<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -8042,7 +8326,7 @@ abans de poder comentar Formulari - + Start new Thread for Selected Forum Comença nova conversa al fòrum seleccionat @@ -8068,7 +8352,7 @@ abans de poder comentar - + Title Títol @@ -8081,7 +8365,7 @@ abans de poder comentar - + Author Autor @@ -8092,7 +8376,7 @@ abans de poder comentar - + Loading Carregant @@ -8226,6 +8510,11 @@ abans de poder comentar + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 El límit de reputació per IDs anònimes està a 0.4 @@ -8235,7 +8524,42 @@ abans de poder comentar La informació d'encaminament de missatges es guarda durant 10 dies. - + + [unknown] + + + + + Public + Públic + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + Distribució + + + Anti-spam Anti-spam @@ -8339,7 +8663,7 @@ abans de poder comentar A %1, %2 va escriure: - + Forum name Nom del fòrum @@ -8354,7 +8678,7 @@ abans de poder comentar Publicat (A nodes veïns) - + Description Descripció @@ -8364,7 +8688,7 @@ abans de poder comentar Per - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> <p>Subscriure's al fòrum buscarà les entrades publicades disponibles dels teus amics subscrits, i farà el fòrum visible a tots els teus altres amics.</p><p>Després podràs des-subscriure't des del menú contextual de la llista de fòrums a l'esquerra.</p> @@ -8442,13 +8766,13 @@ abans de poder comentar GxsGroupDialog - - + + Name Nom - + Add Icon Afegir icona @@ -8463,7 +8787,7 @@ abans de poder comentar Compartir clau pública - + check peers you would like to share private publish key with comprovar els contactes amb qui t'agradaria compartir les claus de publicació @@ -8473,36 +8797,40 @@ abans de poder comentar Compartir clau amb - - + + Description Descripció - + Message Distribution Distribució de missatge - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public Públic - - Restricted to Group - Restringit al grup + Restringit al grup - - + Only For Your Friends Només per als teus amics - + Publish Signatures Publicar signatures @@ -8548,12 +8876,11 @@ abans de poder comentar - Comments Comentaris - + Allow Comments Permetre comentaris @@ -8568,68 +8895,124 @@ abans de poder comentar Protecció-Spam - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - <html><head/><body><p>Això fa que s'incrementi el mínim de reputació pels IDs anònims a 0.4, mentre que es manté a 0.0 per les IDs associades a una clau PGP. Així les IDs anònimes encara poden publicar si la seva reputació local és superior a aquesta puntuació.</p></body></html> - - - - Favor PGP-signed ids - Prefereix IDs signades per PGP + + Comments: + Comentari: - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> + <html><head/><body><p>Això fa que s'incrementi el mínim de reputació pels IDs anònims a 0.4, mentre que es manté a 0.0 per les IDs associades a una clau PGP. Així les IDs anònimes encara poden publicar si la seva reputació local és superior a aquesta puntuació.</p></body></html> + + + Favor PGP-signed ids + Prefereix IDs signades per PGP + + + Keep track of posts Manté registre de les publicacions - Anti spam - Anti spam + Anti spam - PGP-signed ids - IDs signades per PGP + IDs signades per PGP - Track of Posts - Registre de Publicacions + Registre de Publicacions - + Contacts: Contactes: - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name Si us plau, afegeix un nom - + + PGP signature from known ID required + + + + Load Group Logo Carrega logotip del grup - + Submit Group Changes Publicar canvis al grup - + Failed to Prepare Group MetaData - please Review Fallo al preparar les metadades del Grup - Revisa-les - + Will be used to send feedback S'utilitzarà per enviar resposta @@ -8639,52 +9022,94 @@ abans de poder comentar Propietari: - + Set a descriptive description here Estableix una descripció - + Info Informació - Comments allowed - Permetre comentaris + Permetre comentaris - Comments not allowed - No permetre comentaris + No permetre comentaris - + ID ID - + Last Post Darrer missatge + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity Popularitat - + Posts Publicacions - Type - Tipus + Tipus - + Author Autor @@ -8742,7 +9167,12 @@ abans de poder comentar Editar detalls - + + Share publish permissions + + + + Copy RetroShare Link Copia l'enllaç RetroShare @@ -8757,25 +9187,24 @@ abans de poder comentar Marca tot com no llegit - + AUTHD AUTHD - Share admin permissions - Compartir els permisos d'administrador + Compartir els permisos d'administrador GxsIdChooser - + No Signature Sense signatura - + Create new Identity Crear nova identitat @@ -8783,7 +9212,7 @@ abans de poder comentar GxsIdDetails - + Loading Carregant @@ -9129,7 +9558,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9162,7 +9591,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9172,7 +9601,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> @@ -9237,7 +9666,7 @@ p, li { white-space: pre-wrap; } IdDetailsDialog - + Person Details Detalls de la persona @@ -9307,13 +9736,13 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9323,7 +9752,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> @@ -9461,13 +9890,14 @@ p, li { white-space: pre-wrap; } IdDialog - + + New ID Nova Id - - + + All Tot @@ -9483,39 +9913,75 @@ p, li { white-space: pre-wrap; } Cerca - Unknown real name - Nom real desconegut + Nom real desconegut - + Anonymous Id Id anònim - + Create new Identity Crear nova identitat + + + Create new circle + + Persons Persones - + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + Cercles + + + + Circle name + + + + + Membership + Pertinença + + + + Public Circles + Cercles públics + + + + Personal Circles + Cercles personals + + + Edit identity Editar identitat @@ -9536,7 +10002,7 @@ p, li { white-space: pre-wrap; } Començar un xat distant amb aquest contacte - + Owner node ID : Id del node propietari: @@ -9546,22 +10012,22 @@ p, li { white-space: pre-wrap; } Nom de la identitat: - + () () - + Identity ID Id d'identitat - + Send message Enviar missatge - + Identity info Informació d'identitat @@ -9586,7 +10052,7 @@ p, li { white-space: pre-wrap; } Enviar invitació - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> <html><head/><body><p>La opinió mitjana dels nodes veïns sobre aquesta identitat. Negativa és dolent,</p><p>positiva és bo. Zero és neutre.</p></body></html> @@ -9626,22 +10092,20 @@ p, li { white-space: pre-wrap; } Global: - Contacts - Contactes + Contactes - Owned by you - Propietat teva + Propietat teva - + Anonymous Anònim - + ID ID @@ -9651,23 +10115,254 @@ p, li { white-space: pre-wrap; } ID cerca - + This identity is owned by you Aquesta identitat és propietat teva - Unknown PGP key - Clau PGP desconeguda + Clau PGP desconeguda - - Unknown key ID - Id clau desconeguda + Id clau desconeguda - + + My own identities + + + + + My contacts + Els meus contactes + + + + Owned by myself + + + + + Linked to my node + + + + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + Públic + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + Estat: + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + desconegut + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + Editar cercle + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node Identitat propietat teva, enllaçat amb el teu node de RetroShare @@ -9692,7 +10387,7 @@ p, li { white-space: pre-wrap; } Expulsat - + Add to Contacts Afegir a contactes @@ -9747,10 +10442,10 @@ p, li { white-space: pre-wrap; } Gràcies, <br> - - - - + + + + People Gent @@ -9761,12 +10456,11 @@ p, li { white-space: pre-wrap; } El teu avatar - Linked to your node - Associat al teu node + Associat al teu node - + Linked to neighbor nodes Associat a nodes veïns @@ -9776,12 +10470,11 @@ p, li { white-space: pre-wrap; } Associat a nodes distants - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - <h1><img width="32" src=":/images/help_64.png">&nbsp;&nbsp;Identitats</h1> ⇥⇥⇥<p>En aquesta pestanya pots crear/editar identitats pseudo-anònimes. ⇥⇥⇥</p> ⇥⇥⇥<p>Les identitats s'utilitzen per identificar de forma segura les teves dades: signar les publicacions de canals i fòrums,⇥⇥⇥⇥i rebre resposta utilitzant el sistema intern de correu de RetroShare, publicar comentaris⇥⇥⇥⇥de les entrades dels canals, etc.</p> ⇥⇥⇥<p> ⇥⇥⇥Les identitats poden anar signades pel certificat del teu node. ⇥⇥⇥Les identitats signades generen més confiança però exposen fàcilment l'adreça IP del teu node. ⇥⇥⇥</p> ⇥⇥⇥<p> ⇥⇥⇥Les identitats anònimes et permeten interactuar amb altres usuaris anònimament. No es poden ⇥⇥⇥suplantar, però ningú pot provar qui és el propietari d'una identitat anònima concreta. ⇥⇥⇥</p> ⇥⇥⇥ + <h1><img width="32" src=":/images/help_64.png">&nbsp;&nbsp;Identitats</h1> ⇥⇥⇥<p>En aquesta pestanya pots crear/editar identitats pseudo-anònimes. ⇥⇥⇥</p> ⇥⇥⇥<p>Les identitats s'utilitzen per identificar de forma segura les teves dades: signar les publicacions de canals i fòrums,⇥⇥⇥⇥i rebre resposta utilitzant el sistema intern de correu de RetroShare, publicar comentaris⇥⇥⇥⇥de les entrades dels canals, etc.</p> ⇥⇥⇥<p> ⇥⇥⇥Les identitats poden anar signades pel certificat del teu node. ⇥⇥⇥Les identitats signades generen més confiança però exposen fàcilment l'adreça IP del teu node. ⇥⇥⇥</p> ⇥⇥⇥<p> ⇥⇥⇥Les identitats anònimes et permeten interactuar amb altres usuaris anònimament. No es poden ⇥⇥⇥suplantar, però ningú pot provar qui és el propietari d'una identitat anònima concreta. ⇥⇥⇥</p> ⇥⇥⇥ - + Linked to a friend Retroshare node Associat a un node de RetroShare d'un amic @@ -9796,7 +10489,7 @@ p, li { white-space: pre-wrap; } Associat a un node de RetroShare desconegut - + Chat with this person Xat amb aquesta persona @@ -9816,7 +10509,7 @@ p, li { white-space: pre-wrap; } Últim utilitzat: - + +50 Known PGP +50 PGP conegut @@ -9831,17 +10524,17 @@ p, li { white-space: pre-wrap; } +5 Id anonima - + Do you really want to delete this identity? Estàs segur de voler esborrar aquesta identitat? - + Owned by Propietat de - + Node name: Nom del node: @@ -9851,7 +10544,7 @@ p, li { white-space: pre-wrap; } ID node : - + Really delete? Segur que vols esborrar? @@ -10029,25 +10722,25 @@ p, li { white-space: pre-wrap; } - + GXS name: Nom GXS: - - + + PGP name: Nom PGP: - + GXS id: id GXS: - + PGP id: Id PGP: @@ -10062,7 +10755,7 @@ p, li { white-space: pre-wrap; } - + Copy Copiar @@ -10163,7 +10856,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Add Friend Afegeix amic @@ -10179,7 +10872,7 @@ p, li { white-space: pre-wrap; } - + Options Opcions @@ -10213,12 +10906,12 @@ p, li { white-space: pre-wrap; } Auxiliar d'inici ràpid - + RetroShare %1 a secure decentralized communication platform RetroShare %1 és una plataforma de comunicació segura descentralitzada - + Unfinished Inacabat @@ -10334,7 +11027,7 @@ Si us plau, allibera una mica d'espai i clica Ok. Segur que vols sortir del RetroShare? - + Internal Error Error intern @@ -10379,7 +11072,7 @@ Si us plau, allibera una mica d'espai i clica Ok. Taula de permisos dels serveis - + Add Afegir @@ -10413,7 +11106,7 @@ Si us plau, allibera una mica d'espai i clica Ok. MessageComposer - + Compose Redacta @@ -10515,7 +11208,7 @@ Si us plau, allibera una mica d'espai i clica Ok. - + Tags Etiquetes @@ -10675,7 +11368,7 @@ Si us plau, allibera una mica d'espai i clica Ok. Hola %1, <br><br>%2 vol ser amic teu al RetroShare.<br><br>Respondre ara:<br>%3 <br><br>Gràcies,<br>L'equip RetroShare - + Save Message Desar el missatge @@ -10958,7 +11651,7 @@ Voleu desar el missatge? De: - + Friend Nodes Nodes de l'amic @@ -11008,7 +11701,7 @@ Voleu desar el missatge? Gràcies, <br> - + Distant identity: Identitat distant: @@ -11830,7 +12523,7 @@ Voleu desar el missatge? Missatgeria del RetroShare - + Add a Friend Afegir un amic @@ -12113,7 +12806,7 @@ Voleu desar el missatge? - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. @@ -12624,7 +13317,7 @@ Error reportat: NotifyQt - + PGP key passphrase Contrasenya de clau PGP @@ -12644,12 +13337,12 @@ Error reportat: El RetroShare ha detectat un complement no registrat. Això passa en dos casos:<UL><LI>Ha canviat l'executable del RetroShare.</LI><LI>El complement ha canviat</LI></UL>Clica aquí per autoritzar aquest complement o no per negar-lo. Pots canviar-ho més tard a Opcions -> Complements i després reiniciar. - + Please check your system clock. Si us plau, comprova l'hora del sistema. - + Examining shared files... Examinant arxius compartits... @@ -12685,12 +13378,12 @@ Error reportat: Missatge encriptat - + Please enter your PGP password for key Si us plau, introdueix la contrasenya PGP per la clau - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). Perquè aquestes sales de xat funcionin l'hora en el teu ordinador ha de ser correcta. Si us plau, comprova que és el cas (És possible que una variació de varis minuts s'hagi detectat respecte els teus amics). @@ -12727,7 +13420,7 @@ Error reportat: - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers @@ -12762,7 +13455,7 @@ Tràfic baix: 10 %s del tràfic estàndard i PENDENT: posar en pausa totes les t <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + @@ -12772,7 +13465,7 @@ Tràfic baix: 10 %s del tràfic estàndard i PENDENT: posar en pausa totes les t <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + @@ -12812,16 +13505,16 @@ Tràfic baix: 10 %s del tràfic estàndard i PENDENT: posar en pausa totes les t <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12831,7 +13524,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12841,7 +13534,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + @@ -12851,7 +13544,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + @@ -12864,15 +13557,76 @@ p, li { white-space: pre-wrap; } Format ASCII - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures Inclou les signatures + + + Options + Opcions + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + Utilitza com a font directa quan estigui disponible + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + Descarregar automàticament els arxius recomanats d'aquest node + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + Obligatori que estugui a la llista blanca + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details @@ -12880,27 +13634,27 @@ p, li { white-space: pre-wrap; } - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. Error: no es poden obtenir detalls del contacte. - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) L'algorisme de la clau proporcionada no és suportada pel RetroShare (Només suporta claus RSA per ara) - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. El nivell de confiança és una forma d'expressar la teva confiança en aquesta clau. No s'utilitza pel programa ni es comparteix, però et pot ser útil per recordar claus bones/dolentes. @@ -12925,7 +13679,7 @@ p, li { white-space: pre-wrap; } La confiança en aquest contacte és nula. - + This key has signed your own PGP key Aquesta clau ha signat la teva clau PGP @@ -12946,7 +13700,7 @@ p, li { white-space: pre-wrap; } No estàs permetent connexions de nodes de Retroshare signats amb aquesta clau. - + Signature Failure Fracàs en la signatura @@ -12956,7 +13710,7 @@ p, li { white-space: pre-wrap; } Potser la contrasenya sigui incorrecta - + You haven't set a trust level for this key. No has establert un nivell de confiança per aquesta clau. @@ -13117,15 +13871,15 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People Gent - External - Externa + Externa @@ -13138,6 +13892,64 @@ p, li { white-space: pre-wrap; } Internal Interna + + + Chat with this person + Xat amb aquesta persona + + + + Chat with this person as... + Xat amb aquesta persona com... + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + El xat distant no pot funcionar + + + + Distant chat refused with this person. + Xat distant rebutjat amb aquesta persona. + + + + Error code + Codi de l'error + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + Gent + PhotoCommentItem @@ -13227,7 +14039,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13240,7 +14052,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13253,7 +14065,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13401,7 +14213,7 @@ abans de demanar editar-lo! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13893,7 +14705,7 @@ modificats. PostedItem - + 0 0 @@ -13904,7 +14716,7 @@ modificats. - + Comments Comentaris @@ -13939,7 +14751,17 @@ modificats. Nou - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Canvia l'estat dels missatges llegits @@ -13949,7 +14771,7 @@ modificats. Eliminar l'element - + Loading Carregant @@ -14203,7 +15025,7 @@ i utilitzar el botó d'importació per carregar-lo <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> @@ -14420,9 +15242,9 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation Confirmació @@ -14432,7 +15254,7 @@ p, li { white-space: pre-wrap; } Vols que aquest enllaç el manipuli el teu sistema? - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. @@ -14441,7 +15263,7 @@ clauer PGP i obrir l'assistent de fer amic. - + Add file Afegir arxiu @@ -14461,12 +15283,21 @@ clauer PGP i obrir l'assistent de fer amic. Vols processar %1 enllaços? - This file already exists. Do you want to open it ? - Aquest arxiu ja existeix. Vols obrir-lo? + Aquest arxiu ja existeix. Vols obrir-lo? - + + Warning: Retroshare is about to ask your system to open this file. + + + + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. %1 de %2 enllaç de RetroShare processat. @@ -14575,6 +15406,21 @@ clauer PGP i obrir l'assistent de fer amic. Channel messages not found Missatges de canal no trobats + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + + Recipient not accepted @@ -14618,7 +15464,7 @@ Els caràcters <b>",|,/,\,&lt;&gt;,*,?</b> es substitui Resultat - + Unable to make path Incapaç de crear ruta @@ -14633,7 +15479,7 @@ Els caràcters <b>",|,/,\,&lt;&gt;,*,?</b> es substitui No s'ha pogut processar l'arxiu de col·lecció - + Deny friend Negar l'amic @@ -14653,7 +15499,7 @@ Els caràcters <b>",|,/,\,&lt;&gt;,*,?</b> es substitui Petició d'arxiu cancel·lada - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. Aquesta versió de RetroShare utilitza l'OpenPGP-SDK. Com a efecte secundari no utilitza el clauer PGP del sistema, sinó un clauer compartit per totes les instancies de RetroShare. <br><br>No sembla que tinguis aquest clauer, tot i que tens claus PGP als comptes existents de RetroShare, probablement perquè acabes de canviar a aquesta nova versió del programa. @@ -14664,12 +15510,12 @@ Els caràcters <b>",|,/,\,&lt;&gt;,*,?</b> es substitui - + RetroShare RetroShare - + Initialization failed. Wrong or missing installation of PGP. Inicialització fallada. Instal·lació incorrecta o no trobada del PGP. @@ -14679,12 +15525,12 @@ Els caràcters <b>",|,/,\,&lt;&gt;,*,?</b> es substitui Hi ha hagut error inesperat. Si us plau, informa 'RsInit::InitRetroShare unexpected return code %1'. - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. S'ha produït un error inesperat. Si us plau, informa 'RsInit::InitRetroShare unexpected return code %1'. - + Multiple instances Múltiples instancies @@ -14706,9 +15552,8 @@ Arxiu bloquejant:\n Arxiu de bloqueig:\n - Start with a RetroShare link is only supported for Windows. - Engegar el RetroShare amb un enllaç només és suportat per Windows. + Engegar el RetroShare amb un enllaç només és suportat per Windows. @@ -14737,7 +15582,7 @@ L'error reportat és: %2 - + Click to send a private message to %1 (%2). Clica per enviar un missatge privat a %1 (%2). @@ -14747,7 +15592,7 @@ L'error reportat és: %1 (%2, Extra - Font inclosa) - + Click this link to send a private message to %1 (%2) Clica aquest enllaç per enviar un missatge provat a %1 (%2) @@ -14787,7 +15632,7 @@ L'error reportat és: Dades reenviades - + You appear to have nodes associated to DSA keys: Sembla que tens nodes associats a claus DSA: @@ -14828,7 +15673,7 @@ L'error reportat és: - + %1 seconds ago fa %1 segons @@ -14896,8 +15741,8 @@ Security: no anonymous IDs Seguretat: IDs anònimes no - - + + This cert is malformed. Error code: Aquest certificat està mal format. Codi d'error: @@ -14907,7 +15752,7 @@ Seguretat: IDs anònimes no El següent no s'ha afegit a la llista de descarregues perquè ja hi era: - + Error Error @@ -14929,12 +15774,12 @@ Seguretat: IDs anònimes no <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -15057,10 +15902,10 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -15127,9 +15972,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -15144,8 +15989,8 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> @@ -15327,7 +16172,7 @@ p, li { white-space: pre-wrap; } RSettingsWin - + Error Saving Configuration on page Error desant configuració a la pàgina @@ -15557,12 +16402,12 @@ p, li { white-space: pre-wrap; } Descarrega! - + File Arxiu - + Size Mida @@ -15579,7 +16424,7 @@ p, li { white-space: pre-wrap; } Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. Alguns noms d'arxius o directoris contenien caràcters prohibits. Els caràcters <b>",|,/,\,&lt;&gt;,*,?</b> es substituiran per '_'. @@ -15626,12 +16471,17 @@ Els arxius afectats es llisten en vermell. Desa - + Collection Editor Editor de col·lecció - + + File Path + + + + File Count Comptador d'arxius @@ -15641,14 +16491,14 @@ Els arxius afectats es llisten en vermell. Aquest és el directori principal. - - + + Real Size: Waiting child... Mida real: Esperant pels fills... - - + + Real File Count: Waiting child... Comptador d'arxius real: Esperant pels fills... @@ -15801,7 +16651,7 @@ Si creus que és correcta, treu la línia corresponent de l'arxiu i torna&a RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? La imatge és massa gran per la transmissió. @@ -15819,7 +16669,7 @@ Reduir la imatge a %1x%2 pixels? Rshare - + Resets ALL stored RetroShare settings. Reinicialitza TOTS les valors de configuració del RetroShare. @@ -15859,7 +16709,7 @@ Reduir la imatge a %1x%2 pixels? Informació d'ús del RetroShare - + Unable to open log file '%1': %2 Incapaç d'obrir l'arxiu de registre '%1': %2 @@ -15874,12 +16724,12 @@ Reduir la imatge a %1x%2 pixels? No s'ha pogut crear el directori de dades: %1 - + Revision Revisió - + Invalid language code specified: El codi d'idioma especificat no és vàlid: @@ -15894,6 +16744,15 @@ Reduir la imatge a %1x%2 pixels? El nivell de verbositat del registre no és vàlid: + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + + + RttStatistics @@ -16524,7 +17383,7 @@ Reduir la imatge a %1x%2 pixels? If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. Si desactives això el RetroShare només pot determinar la teva IP quan et connectes amb algú. Deixant això activat ajuda a @@ -16660,7 +17519,7 @@ Comprova els teus ports! <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16763,12 +17622,12 @@ Comprova els teus ports! <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + @@ -16778,12 +17637,12 @@ Comprova els teus ports! <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + @@ -16795,8 +17654,8 @@ Comprova els teus ports! Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? Opcions per defecte del repetidor Socks Tor: 127.0.0.1:9050. Canvia-ho a la contiguració del torrc i actualitza-ho aquí. @@ -16835,7 +17694,7 @@ Pots connectar-te a nodes ocults, encara que estiguis en un node estàndard, aix <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + @@ -16857,7 +17716,7 @@ Pots connectar-te a nodes ocults, encara que estiguis en un node estàndard, aix To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. @@ -17472,7 +18331,7 @@ Escull els amics amb qui vols compartir el teu canal. SplashScreen - + Load profile Carrega perfil @@ -17545,7 +18404,7 @@ La identitat i ubicació actuals no es veuran afectades. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17861,7 +18720,7 @@ Això es pot canviar a les opcions de configuració. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17874,7 +18733,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -18038,17 +18897,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed Subscrit - + Unsubscribe Donar de baixa - + Subscribe Subscriure's @@ -18167,11 +19026,11 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -18248,7 +19107,7 @@ Si tens molt ample de banda pots augmentar-lo fins a 30-40, per permetre que tú TransfersDialog - + Downloads Descarregues @@ -18259,7 +19118,7 @@ Si tens molt ample de banda pots augmentar-lo fins a 30-40, per permetre que tú Pujades - + Name i.e: file name @@ -18529,39 +19388,39 @@ Si tens molt ample de banda pots augmentar-lo fins a 30-40, per permetre que tú - + Failed Fallat - - + + Okay Correcte - - + + Waiting Esperant - + Downloading Descarregant - + Complete Complet - + Queued En cua @@ -18581,7 +19440,7 @@ Si tens molt ample de banda pots augmentar-lo fins a 30-40, per permetre que tú Desconegut - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18666,7 +19525,7 @@ Tingues paciència! Si us plau, introdueix un nou--i vàlid--nom d'arxiu - + Last Time Seen i.e: Last Time Receiced Data Vist per última vegada @@ -18798,7 +19657,7 @@ Tingues paciència! Mostra columna de ruta - + Could not delete preview file No s'ha pogut esborrar l'arxiu de previsualització @@ -18808,7 +19667,7 @@ Tingues paciència! Tornar-ho a intentar? - + Create Collection... Crear col·lecció... @@ -18828,22 +19687,22 @@ Tingues paciència! Col·lecció - + File sharing Compartició d'arxius - + Anonymous tunnel 0x Túnel anònim 0x - + Show file list transfers Mostra la llista de transferencia d'arxiu - + version: versió: @@ -19873,4 +20732,4 @@ Tingues paciència! Imatges (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_cs.ts b/retroshare-gui/src/lang/retroshare_cs.ts index 41e148b78..bcdbba036 100644 --- a/retroshare-gui/src/lang/retroshare_cs.ts +++ b/retroshare-gui/src/lang/retroshare_cs.ts @@ -1,4 +1,6 @@ - + + + AWidget @@ -28,7 +30,7 @@ Copy Info - + @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file Promiňte nemohu určit výchozí systémový program či příkaz asociovaný s tímto typem souboru @@ -305,9 +307,9 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + @@ -423,9 +425,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + @@ -467,18 +469,18 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + @@ -542,7 +544,7 @@ p, li { white-space: pre-wrap; } On List Ite&m - + @@ -601,13 +603,13 @@ p, li { white-space: pre-wrap; } Icon Size = 64x64 - + Ikona 64x64 {64x?} Icon Size = 128x128 - + Ikona 128x128 {128x?} @@ -642,7 +644,7 @@ p, li { white-space: pre-wrap; } Disable SysTray ToolTip - + @@ -759,7 +761,7 @@ Ale měj na paměti, že veškerá zdejší nastavení se mohou změnit s každo BWGraphSource - + KB/s KB/s @@ -852,23 +854,23 @@ Ale měj na paměti, že veškerá zdejší nastavení se mohou změnit s každo Sum - + All - + KB/s - + KB/s Count - + Počet @@ -954,42 +956,42 @@ Ale měj na paměti, že veškerá zdejší nastavení se mohou změnit s každo Form - + Formulář Friend: - + Type: - + Typ: Up - + Down - + Service: - + Unit: - + Log scale - + @@ -1037,23 +1039,28 @@ Ale měj na paměti, že veškerá zdejší nastavení se mohou změnit s každo Mute participant Ignorovat + + + Ban this person (Sets negative opinion) + + Send Message - + Sort by Name - + Seřadit podle jména Sort by Activity - + - + Invite friends to this lobby Pozvat do místnosti @@ -1073,7 +1080,7 @@ Ale měj na paměti, že veškerá zdejší nastavení se mohou změnit s každo Zvolit kontakty k pozvání: - + Welcome to lobby %1 Vítejte v místnosti %1 @@ -1089,7 +1096,7 @@ Ale měj na paměti, že veškerá zdejší nastavení se mohou změnit s každo Konverzační místnost - + Lobby management @@ -1136,12 +1143,12 @@ Ale měj na paměti, že veškerá zdejší nastavení se mohou změnit s každo sekundy - + Start private chat Soukromá chat - + Decryption failed. Rozšifrování se nezdařilo @@ -1226,12 +1233,12 @@ Ale měj na paměti, že veškerá zdejší nastavení se mohou změnit s každo ChatLobbyWidget - + Chat lobbies Konverzační místnosti - + Name Jméno @@ -1269,7 +1276,7 @@ Ale měj na paměti, že veškerá zdejší nastavení se mohou změnit s každo [nebylo poskytnuto žádné téma] - + Selected lobby info Informace o místnosti @@ -1286,7 +1293,7 @@ Ale měj na paměti, že veškerá zdejší nastavení se mohou změnit s každo Anonymous IDs accepted - + @@ -1309,7 +1316,7 @@ Ale měj na paměti, že veškerá zdejší nastavení se mohou změnit s každo %1 vás pozval do místnosti: %2 - + Search Chat lobbies Hledat místnost @@ -1326,12 +1333,12 @@ Ale měj na paměti, že veškerá zdejší nastavení se mohou změnit s každo <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + @@ -1349,7 +1356,7 @@ Ale měj na paměti, že veškerá zdejší nastavení se mohou změnit s každo Ne - + Lobby Name: Název místnosti: @@ -1371,7 +1378,7 @@ Ale měj na paměti, že veškerá zdejší nastavení se mohou změnit s každo Security: - + @@ -1430,22 +1437,22 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + @@ -1516,7 +1523,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Zrušit - + Quick Message Rychlá zpráva @@ -1525,34 +1532,34 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic ChatPage - + General Obecné - + Distant Chat - + Everyone - + Contacts - + Kontakty Nobody - + Accept encrypted distant chat from - + @@ -1582,7 +1589,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Minimum font size - + @@ -1604,6 +1611,11 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Send message with Ctrl+Return Odeslat zprávu pomocí Ctrl+Enter + + + Send as plain text by default + + Chat Lobby @@ -1612,7 +1624,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Blink tab icon - + @@ -1627,17 +1639,17 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Grab Focus when chat arrives - + Use a single tabbed window - + Blink window/tab icon - + @@ -1709,7 +1721,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Odchozí - + Incoming message in history Historie příchozích zpráv @@ -1746,12 +1758,12 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic UserName - + /me is sending a message with /me - + @@ -1844,7 +1856,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Standardně zobrazovat okno - + Private chat invite from Pozvánka na soukromý chat od: @@ -1867,7 +1879,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic ChatStyle - + Standard style for group chat Standardní styl pro skupinový chat @@ -1921,12 +1933,12 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Zavřít - + Send Odeslat - + Bold Tučné @@ -1941,12 +1953,12 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Kurzíva - + Attach a Picture Přidat obrázek - + Strike Udeřit @@ -1997,42 +2009,70 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Nastavit výchozí font - + Quote - + Citovat Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... píše... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? Chcete opravdu vymazati historii z počítače? - + Add Extra File Přidat další soubor @@ -2077,7 +2117,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic je zaneprázdněn a může se stát, že neodpoví - + Find Case Sensitively Hledat s rozlišením malých a velkých písmen @@ -2099,7 +2139,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Nezastavovat vybarvování po X nálezech (vyšší zátěž CPU) - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> <b>Hledat předchozí </b><br/><i>Ctrl+Shift+G</i> @@ -2114,12 +2154,12 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic <b>Hledat </b><br/><i>Ctrl+F</i> - + (Status) (Status) - + Set text font & color Nastav typ a barvu písma @@ -2129,7 +2169,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Přiožit soubor - + WARNING: Could take a long time on big history. VAROVÁNÍ: může trvat dlouho pro velkou historii. @@ -2140,17 +2180,16 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic - + <b>Mark this selected text</b><br><i>Ctrl+M</i> <b>Označ vybraný text</b><br><i>Ctrl+M</i> - %1This message consists of %2 characters. - %1 Tato zpráva obsahuje %2 znaky. + %1 Tato zpráva obsahuje %2 znaky. - + items found. Nalezeno. @@ -2165,22 +2204,20 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic <b>Zpět k označenému textu</b><br><i>Ctrl+M</i> - Display Search Box - Zobraz vyhledávání + Zobraz vyhledávání - Search Box - Vyhledávání + Vyhledávání - + Type a message here Zde napiš zprávu... - + Don't stop to color after Nezastavovat vybarvování po @@ -2190,9 +2227,8 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic shody nalezeny (vyšší zátěž CPU) - Warning: - Varování: + Varování: @@ -2211,7 +2247,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic CirclesDialog - + Showing details: Ukazuji detaily: @@ -2233,7 +2269,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic - + Personal Circles Osobní Kruhy @@ -2259,7 +2295,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic - + Friends Kontakty @@ -2319,7 +2355,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Kontakty kontaktů - + External Circles (Admin) Externí Kruhy (Admin) @@ -2343,7 +2379,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic ConfCertDialog - + Details Detaily @@ -2359,7 +2395,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic - + Local Address Lokální adresa @@ -2386,36 +2422,39 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Seznam adres - + + Use this certificate to make friends: + + + + Include signatures Zahrnout podpisy - - + + RetroShare RetroShare - - + + Error : cannot get peer details. Chyba : nemohu získat údaje kontaktu - Use as direct source, when available - Stahovat přímo od pokud možno + Stahovat přímo od pokud možno - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - <html><head/><body><p align="justify">RetroShare pravidelně kontroluje seznam sdílení vyšich kontaktů pro případné navázání přímého přenosu (váš kontakt vidí, že od něj stahujete daný soubor).</p><p align="justify">Odznačením přímý přenos deaktivujete u tohoto kontaktu. Stále však můžete iniciovat přímý přenos např. stahováním přímo ze seznamu sdílení daného kontaktu.</p></body></html> + <html><head/><body><p align="justify">RetroShare pravidelně kontroluje seznam sdílení vyšich kontaktů pro případné navázání přímého přenosu (váš kontakt vidí, že od něj stahujete daný soubor).</p><p align="justify">Odznačením přímý přenos deaktivujete u tohoto kontaktu. Stále však můžete iniciovat přímý přenos např. stahováním přímo ze seznamu sdílení daného kontaktu.</p></body></html> - + Encryption Šifrování @@ -2430,17 +2469,16 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Adresy kontaktu - Options - Nastavení + Nastavení - + Retroshare node details Detaily o uzlu - + Node name : Jméno uzlu : @@ -2475,22 +2513,16 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Certifikát - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - Auto-download recommended files from this node - Automaticky stahovat doporučené soubory od tohoto uzlu + Automaticky stahovat doporučené soubory od tohoto uzlu - + Friend node details Detaily o uzlu - + Hidden Address Skrytá adresa @@ -2526,17 +2558,15 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic <p>Tento certifikát musíš předat svým budoucím kontaktům. Použij emailu nebo jiné komunikační platformy.</p> - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - Require white list clearance - Vyžaduji whitelist povolení + Vyžaduji whitelist povolení - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> <html><head/><body><p>Toto je ID<span style=" font-weight:600;">OpenSSL</span> certifikátu uzlu, který podepsán výše uvedeným <span style=" font-weight:600;">PGP</span> klíčem. </p></body></html> @@ -2612,12 +2642,12 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + @@ -2702,42 +2732,42 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + GMail - + Yahoo - + Outlook - + AOL - + Yandex - + Email - + Email @@ -2805,7 +2835,7 @@ Dvojklik na místnost pro vstup, případně pravé tlačítko myši a automatic Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + @@ -2822,33 +2852,33 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + @@ -3151,12 +3181,12 @@ RetroShare neaspiruje na to být nejlepší sociální sítí, má své mouchy a IP-Addr: - + IP-Address - + @@ -3171,7 +3201,7 @@ RetroShare neaspiruje na to být nejlepší sociální sítí, má své mouchy a The text below is your Retroshare certificate. You have to provide it to your friend - + @@ -3718,11 +3748,11 @@ které nemáte přímo v kontaktech. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -3781,68 +3811,76 @@ p, li { white-space: pre-wrap; } CreateCircleDialog - + + + + Circle Details Detail Kruhu - - + Name Jméno - Creator - Tvůrce + Tvůrce - Distribution - Distribuce + Distribuce - + Public Veřejné - - Self-Restricted - - - - Restricted to: - Omezen na: + Omezen na: - Circle Membership - Členství v Kruhu + Členství v Kruhu - + IDs ID - Known Identities - Známé identity + Známé identity - + Filter Filtr - + Nickname Přezdívka - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ID @@ -3852,55 +3890,104 @@ p, li { white-space: pre-wrap; } Typ - - - - + + Name: + Jméno: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + Soukromé + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare RetroShare - + Please set a name for your Circle Nastavte prosím jméno vašeho Kruhu - Personal Circle Details - Detaily osobního Kruhu + Detaily osobního Kruhu - External Circle Details - Detaily externího Kruhu + Detaily externího Kruhu - Cannot Edit Existing Circles Yet - Zatím nemohu upravovat existující Kruhy + Zatím nemohu upravovat existující Kruhy - + No Restriction Circle Selected Nevybráno žádné omezení Kruhu - + No Circle Limitations Selected Nevybrány žádné limity Kruhu - Create New Personal Circle - Vytvořit nový osobní Kruh + Vytvořit nový osobní Kruh - Create New External Circle - Vytvořit nový externí Kruh + Vytvořit nový externí Kruh - + Add Přidat @@ -3910,13 +3997,13 @@ p, li { white-space: pre-wrap; } Odstranit - + Search Hledat - + All Udělat @@ -3931,49 +4018,98 @@ p, li { white-space: pre-wrap; } Podepsáno známými uzly - + Edit Circle Upravit Kruh - - + PGP Identity PGP identita - - - + + + Anon Id Anonymní ID + + + Circle name + + + + + Update + + + Close + Zavřít + + + + + Create New Circle + + + + + Create + Vytvořit + + + PGP Linked Id PGP link ID + + + Add Member + + + + + Remove Member + + CreateGroup - + Create a Group Vytvořit skupinu - - Group Name - Jméno skupiny + + Group Name: + Jméno skupiny: - + + Group ID: + + + + Group Name + Jméno skupiny + + + Enter a name for your group Zadejte jméno vaší skupiny: - + + To be defined + + + + Friends Kontakty @@ -4007,9 +4143,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -4138,7 +4274,7 @@ p, li { white-space: pre-wrap; } CreateGxsForumMsg - + Post Forum Message Odeslat příspěvek na fórum @@ -4183,12 +4319,12 @@ p, li { white-space: pre-wrap; } Založit nové vlákno - + No Forum Žádné fórum - + In Reply to Reakce na @@ -4214,9 +4350,19 @@ p, li { white-space: pre-wrap; } Add Extra File Přidat další soubor + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data Generovat hromadné údaje @@ -4226,12 +4372,12 @@ p, li { white-space: pre-wrap; } Opravdu chcete vygenerovat %1 zpráv? - + Send Odeslat - + Forum Message Zpráva fóra @@ -4279,7 +4425,7 @@ Chcete ji zrušit? Visibility: - + @@ -4294,17 +4440,17 @@ Chcete ji zrušit? <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + Security: - + @@ -4319,12 +4465,12 @@ Chcete ji zrušit? Put a sensible lobby name here - + Set a descriptive topic here - + @@ -4447,7 +4593,7 @@ Chcete ji zrušit? Friend nodes: - + @@ -4493,7 +4639,7 @@ Chcete ji zrušit? <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + @@ -4519,7 +4665,7 @@ Chcete ji zrušit? No peer found in DHT - + @@ -4663,7 +4809,7 @@ Chcete ji zrušit? ConnectLogic - + @@ -4688,12 +4834,12 @@ Chcete ji zrušit? RsId - + Bucket - + @@ -4764,17 +4910,17 @@ Chcete ji zrušit? IP - + IP Search IP - + Copy %1 to clipboard - + @@ -4990,7 +5136,7 @@ Chcete ji zrušit? Yourself - + @@ -5030,7 +5176,7 @@ Chcete ji zrušit? Relays - + @@ -5123,23 +5269,23 @@ Chcete ji zrušit? Filter: - + Filtr: Search Network - + Hledat síť Peers - + Připojení / odpojení Relay - + @@ -5193,7 +5339,7 @@ Chcete ji zrušit? Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. Pamatujte si hodnoty hash souborů i v případě, že nejsou sdíleny. @@ -5377,7 +5523,7 @@ když je připojíte. You this - + @@ -5608,7 +5754,7 @@ když je připojíte. Set message to read on activate - + @@ -5651,28 +5797,28 @@ když je připojíte. export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + Show State - + @@ -5681,7 +5827,7 @@ když je připojíte. Zobrazit skupiny - + Group Skupina @@ -5722,17 +5868,17 @@ když je připojíte. Přidat do skupiny - + Search - + Sort by state - + - + Move to group Přesunout do skupiny @@ -5767,90 +5913,90 @@ když je připojíte. Dostupné - + Do you want to remove this Friend? Opravdu chcete odstranit tento kontakt? - + Done! - + Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + Error - + Chyba Failed to get a file! - + File is not writeable! - + File is not readable! - + @@ -5858,7 +6004,7 @@ at least one peer was not added to a group IP - + Attempt to connect Pokus o připojení @@ -5888,7 +6034,7 @@ at least one peer was not added to a group Odstranit node - + Do you want to remove this node? Chcete odstranit tento node? @@ -5898,7 +6044,7 @@ at least one peer was not added to a group Kontakty - + Send message to whole group Poslat zprávu celé skupině @@ -5948,7 +6094,7 @@ at least one peer was not added to a group Sort by state - + @@ -5961,14 +6107,14 @@ at least one peer was not added to a group Hledat kontakty - + Mark all - + Označit vše Mark none - + @@ -6070,7 +6216,7 @@ at least one peer was not added to a group <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + @@ -6154,7 +6300,12 @@ anonymous, you can use a fake email. Heslo (ověření) - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> <html><head/><body><p align="justify">Pro pokračování musí RetroShare nasbírat co nejvíce náhodných dat. Pohybujte myší různě po obrazovce a naplňte tak posuvník do 100%.</p></body></html> @@ -6218,7 +6369,7 @@ anonymous, you can use a fake email. Jméno node musí obsahovat alespoň 3 znaky - + Failed to generate your new certificate, maybe PGP password is wrong! Nemůžu vygenerovat nový certifikát, možná jste špatně napsali PGP heslo! @@ -6252,7 +6403,7 @@ Případně můžete použít již existující - jednoduše odznačte "Vyt - + Create a new profile Vytvořit nový profil @@ -6284,7 +6435,7 @@ Případně můžete použít již existující - jednoduše odznačte "Vyt hidden address - + @@ -6303,12 +6454,7 @@ Případně můžete použít již existující - jednoduše odznačte "Vyt <html><head/><body><p>Port pro komunikaci.</p><p>Hodnota mezi 1024 a 65535 </p><p>by měla být OK. Můžete to změnit pak později.</p></body></html> - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length Délka PGP klíče @@ -6332,7 +6478,7 @@ Případně můžete použít již existující - jednoduše odznačte "Vyt [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + @@ -6443,47 +6589,47 @@ a vytvořit nový node využívající stejný profil. New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6535,8 +6681,12 @@ Fill in your PGP password when asked, to sign your new key. + Register retroshare:// as URL protocol + + + Register retroshare:// as URL protocol (Restart required) - Registrovat retroshare:// jako URL protokol (vyžaduje restart) + Registrovat retroshare:// jako URL protokol (vyžaduje restart) @@ -6544,7 +6694,27 @@ Fill in your PGP password when asked, to sign your new key. Potřebujete administrátorská práva ke změně tohoto nastavení. - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle Změnit status na "nečinný": @@ -6564,7 +6734,17 @@ Fill in your PGP password when asked, to sign your new key. Spustit průvodce nastavením - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error Chyba @@ -6585,9 +6765,9 @@ Fill in your PGP password when asked, to sign your new key. Obecné - + Minimize to Tray Icon - + @@ -6609,7 +6789,7 @@ Fill in your PGP password when asked, to sign your new key. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> @@ -6642,18 +6822,18 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6665,31 +6845,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6702,7 +6882,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + @@ -6806,7 +6986,7 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne It has many features, including built-in chat, messaging, - + @@ -6819,62 +6999,62 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne GroupBox - + ID - + ID Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + Detaily @@ -6884,12 +7064,12 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Pending packets - + Unknown - + @@ -6897,22 +7077,22 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Managed keys - + Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6923,6 +7103,14 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Zobrazit skupinovou konverzaci + + GroupChooser + + + [Unknown] + + + GroupDefs @@ -6956,78 +7144,78 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Directory is browsable for friends from groups - + Directory is NOT browsable for friends from groups - + Directory is accessible by anonymous tunnels from friends from groups - + Directory is NOT accessible by anonymous tunnels from friends from groups - + Directory is browsable for any friend - + Directory is NOT browsable for any friend - + Directory is accessible by anonymous tunnels from any friend - + Directory is NOT accessible by anonymous tunnels from any friend - + No one can browse this directory - + No one can anonymously access this directory. - + All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -7040,7 +7228,7 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Hide tabbar with one open tab - + @@ -7048,7 +7236,7 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Share - + @@ -7056,39 +7244,39 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Kontakty: - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer - + - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7111,7 +7299,7 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Search Description - + @@ -7131,7 +7319,17 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + @@ -7139,14 +7337,9 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Zobrazit - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7273,7 +7466,7 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + @@ -7293,7 +7486,7 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Select channel download directory - + @@ -7303,18 +7496,18 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Set download directory - + [Default directory] - + Specify... - + Zvolit... @@ -7337,7 +7530,7 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Open folder - + @@ -7357,17 +7550,17 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Checking - + Are you sure that you want to cancel and delete the file? - + Can't open folder - + @@ -7395,7 +7588,7 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Published - + @@ -7423,17 +7616,17 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Add Channel Admins - + Select Channel Admins - + Update Channel - + @@ -7489,6 +7682,16 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Označit zprávu za přečtenou @@ -7499,7 +7702,7 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne - + Play Přehrát @@ -7536,19 +7739,19 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Odstranit položku - + Channel Feed Přehled kanálů - + Files Soubory Warning! You have less than %1 hours and %2 minute before this file is deleted Consider saving it. - + @@ -7563,7 +7766,7 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne 0 - + 0 @@ -7573,20 +7776,20 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne I like this - + I dislike this - + - + Loading Nahrávám - + Open Otevřít @@ -7604,7 +7807,7 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne GxsChannelPostsWidget - + Post to Channel Přidat příspěvek do kanálu @@ -7616,10 +7819,10 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Search channels - + - + Title Nadpis @@ -7636,7 +7839,7 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Search Message - + @@ -7646,7 +7849,7 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Search Filename - + @@ -7654,7 +7857,32 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Není vybrán žádný kanál - + + Public + Veřejné + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download Vypnout automatické stahování @@ -7666,15 +7894,31 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Show feeds - + Show files - + - + + Administrator: + + + + + + unknown + neznámé + + + + Distribution: + + + + Feeds Kanály @@ -7684,19 +7928,19 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Soubory - + Subscribers - + - + Description: Popis: - + Posts (at neighbor nodes): - + @@ -7712,7 +7956,7 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Comment Container - + @@ -7725,7 +7969,7 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Hot - + @@ -7740,12 +7984,12 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Voter ID: - + Refresh - + @@ -7770,17 +8014,17 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne UpVotes - + DownVotes - + OwnVote - + @@ -7811,32 +8055,32 @@ Při používání sítě proto pokud možno používejte pouhou přezdívku, ne Make Comment - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> - + Signed by - + Comment Signing Error - + You need to create an Identity before you can comment - + @@ -7859,17 +8103,17 @@ before you can comment Update Forum - + Add Forum Admins - + Select Forum Admins - + @@ -7948,7 +8192,7 @@ before you can comment In Reply to: - + @@ -7958,7 +8202,7 @@ before you can comment Forum Feed - + @@ -7974,7 +8218,7 @@ before you can comment Formulář - + Start new Thread for Selected Forum Založit nové vlákno ve vybraném fóru @@ -8000,7 +8244,7 @@ before you can comment - + Title Nadpis @@ -8013,18 +8257,18 @@ before you can comment - + Author Autor Save image - + - + Loading Načítám @@ -8091,12 +8335,12 @@ before you can comment Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + @@ -8149,33 +8393,73 @@ before you can comment This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + Veřejné + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + Distribuce + + + Anti-spam - + [ ... Redacted message ... ] - + @@ -8200,22 +8484,22 @@ before you can comment <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8271,39 +8555,39 @@ before you can comment Na %1, %2 odpověděl: - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description Popis By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8319,7 +8603,7 @@ before you can comment <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + @@ -8374,28 +8658,28 @@ before you can comment GxsGroupDialog - - + + Name Jméno uživatele - + Add Icon - + Key recipients can publish to restricted-type group and can view and publish for private-type channels - + Share Publish Key - + - + check peers you would like to share private publish key with zaškrtněte protějšky s nimiž chcete sdílet soukromý klíč k publikačnímu právu @@ -8405,38 +8689,38 @@ before you can comment Sdílet klíč s - - + + Description Popis - + Message Distribution - + - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public Veřejné - - - Restricted to Group - - - - - + Only For Your Friends - + - + Publish Signatures - + @@ -8446,48 +8730,47 @@ before you can comment New Thread - + Required - + Encrypted Msgs - + Personal Signatures - + PGP Required - + Signature Required - + If No Publish Signature - + - Comments Komentáře - + Allow Comments - + @@ -8497,133 +8780,203 @@ before you can comment Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + Komentáře: - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + Textový popisek - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: Kontakty: - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name Detaily - + + PGP signature from known ID required + + + + Load Group Logo - + - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback - + Owner: - + - + Set a descriptive description here - + - + Info - + - - Comments allowed - - - - - Comments not allowed - - - - + ID ID - + Last Post Poslední příspěvek + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity Popularita - - - Posts - - - Type - Typ + Posts + - + Type + Typ + + + Author Autor GxsIdLabel - + @@ -8666,15 +9019,20 @@ before you can comment Show Details - + Edit Details - + - + + Share publish permissions + + + + Copy RetroShare Link Kopírovat RetroShare odkaz @@ -8689,25 +9047,20 @@ before you can comment Označit vše za nepřečtené - + AUTHD AUTHD - - - Share admin permissions - - GxsIdChooser - + No Signature - + - + Create new Identity Vytvořit novou identitu @@ -8715,62 +9068,62 @@ before you can comment GxsIdDetails - + Loading Nahrávám Not found - + No Signature - + [Banned] - + Authentication - + unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8791,42 +9144,42 @@ before you can comment Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + @@ -8879,7 +9232,7 @@ before you can comment Whole words only - + @@ -8889,7 +9242,7 @@ before you can comment Help Topics - + @@ -8900,12 +9253,12 @@ before you can comment Searching for: - + Found Documents - + @@ -8962,7 +9315,7 @@ before you can comment Search for a word or phrase on current page (Ctrl+F) - + @@ -8977,7 +9330,7 @@ before you can comment Close Vidalia Help - + @@ -8987,17 +9340,17 @@ before you can comment Supplied XML file is not a valid Contents document. - + Search reached end of document - + Search reached start of document - + @@ -9007,13 +9360,13 @@ before you can comment Found %1 results - + Error Loading Help Contents: - + @@ -9050,14 +9403,14 @@ before you can comment p, li { white-space: pre-wrap; } </style></head><body style=" font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; font-weight:600;">About RetroShare</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9068,14 +9421,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Swedish: </span><span style=" font-size:8pt;"> Daniel Wester</span><span style=" font-size:8pt; font-weight:600;"> &lt;</span><span style=" font-size:8pt;">wester@speedmail.se</span><span style=" font-size:8pt; font-weight:600;">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">German: </span><span style=" font-size:8pt;">Jan</span><span style=" font-size:8pt; font-weight:600;"> </span><span style=" font-size:8pt;">Keller</span> &lt;<span style=" font-size:8pt;">trilarion@users.sourceforge.net</span>&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polish: </span>Maciej Mrug</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9085,16 +9438,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + Libraries - + @@ -9127,26 +9480,26 @@ p, li { white-space: pre-wrap; } Error opening help file: - + IdDetailsDialog - + Person Details - + Identity Info - + Owner node ID : - + @@ -9156,61 +9509,61 @@ p, li { white-space: pre-wrap; } Owner node name : - + Identity name : - + Identity ID : - + Last used: - + Your Avatar Click here to change your avatar - + Reputation - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9220,111 +9573,112 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + Unknown real name - + Anonymous Id - + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + OK Banned - + IdDialog - + + New ID - + - - + + All Vše @@ -9332,7 +9686,7 @@ p, li { white-space: pre-wrap; } Reputation - + @@ -9340,97 +9694,129 @@ p, li { white-space: pre-wrap; } Hledat - - Unknown real name - - - - + Anonymous Id - + - + Create new Identity Vytvořit novou identitu - - Persons - + + Create new circle + - + + Persons + + + + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + Okruhy lidí + + + + Circle name + + + + + Membership + Členství + + + + Public Circles + Veřejné Kruhy + + + + Personal Circles + Osobní Kruhy + + + Edit identity - + Delete identity - + Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID - + - + Send message Odeslat zprávu - + Identity info - + Identity ID : - + Owner node name : - + @@ -9440,277 +9826,480 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous Anonymní sdílení - + ID - + ID Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + Veřejné + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + Status: + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + neznámé + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + Upravit Kruh + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + OK - + OK Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People - + Your Avatar Click here to change your avatar - + - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9723,38 +10312,38 @@ p, li { white-space: pre-wrap; } Key ID - + PGP Name - + PGP Hash - + PGP Id - + Pseudonym - + New identity - + To be generated - + @@ -9773,32 +10362,32 @@ p, li { white-space: pre-wrap; } Edit identity - + Error getting key! - + Error KeyID invalid - + Unknown GpgId - + Unknown real name - + Create New Identity - + @@ -9822,7 +10411,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9833,32 +10422,32 @@ p, li { white-space: pre-wrap; } Your Avatar Click here to change your avatar - + Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9871,12 +10460,12 @@ p, li { white-space: pre-wrap; } KeyId - + GXSId - + @@ -9886,27 +10475,27 @@ p, li { white-space: pre-wrap; } - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9919,7 +10508,7 @@ p, li { white-space: pre-wrap; } - + Copy Kopírovat @@ -9955,17 +10544,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -9984,7 +10573,7 @@ p, li { white-space: pre-wrap; } Edit Share Permissions - + @@ -10009,7 +10598,7 @@ p, li { white-space: pre-wrap; } Set command for opening this file - + @@ -10020,7 +10609,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Add Friend Přidat kontakt @@ -10036,7 +10625,7 @@ p, li { white-space: pre-wrap; } - + Options Nastavení @@ -10070,12 +10659,12 @@ p, li { white-space: pre-wrap; } Průvodce nastavením - + RetroShare %1 a secure decentralized communication platform RetroShare %1 - bezpečná decentralizovaná komunikační platforma - + Unfinished Nedokončeno @@ -10111,7 +10700,7 @@ p, li { white-space: pre-wrap; } Open Messenger - + @@ -10189,7 +10778,7 @@ p, li { white-space: pre-wrap; } Opravdu chcete ukončit RetroShare? - + Internal Error Chyba programu @@ -10226,49 +10815,49 @@ p, li { white-space: pre-wrap; } ServicePermissions - + Service permissions matrix - + - + Add Přidat Statistics - + Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose Napsat zprávu @@ -10370,29 +10959,29 @@ p, li { white-space: pre-wrap; } - + Tags Štítky Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + @@ -10492,17 +11081,17 @@ p, li { white-space: pre-wrap; } All addresses (mixed) - + All people - + My contacts - + @@ -10530,7 +11119,7 @@ p, li { white-space: pre-wrap; } Ahoj %1,<br><br>%2 si vás chce přidat do kontaktů.<br><br>Odpovězte nyní:<br>%3<br><br>Děkujeme,<br>Tým RetroShare - + Save Message Uložit zprávu @@ -10752,7 +11341,7 @@ Chcete ji uložit jako koncept? Details - + Detaily @@ -10812,74 +11401,74 @@ Do you want to save message ? Od: - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10887,37 +11476,37 @@ Do you want to save message ? Everyone - + Contacts - + Kontakty Nobody - + Accept encrypted distant messages from - + Reading - + Set message to read on activate - + Open messages in - + @@ -10972,7 +11561,7 @@ Do you want to save message ? Distant messages: - + @@ -10985,7 +11574,7 @@ Do you want to save message ? Sub: - + @@ -11066,7 +11655,7 @@ Do you want to save message ? Confirm %1 as friend - + @@ -11107,17 +11696,17 @@ Do you want to save message ? Load images always for this message - + Hide the attachment pane - + Show the attachment pane - + @@ -11204,27 +11793,27 @@ Do you want to save message ? Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + @@ -11394,27 +11983,27 @@ Do you want to save message ? Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + @@ -11541,7 +12130,7 @@ Do you want to save message ? <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + @@ -11638,7 +12227,7 @@ Do you want to save message ? This message goes to a distant person. - + @@ -11658,22 +12247,22 @@ Do you want to save message ? Click to sort by signature - + This message was signed and the signature checks - + This message was signed but the signature doesn't check - + This message comes from a distant person. - + @@ -11684,7 +12273,7 @@ Do you want to save message ? Komunikátor - + Add a Friend Přidat kontakt @@ -11699,17 +12288,17 @@ Do you want to save message ? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + @@ -11719,7 +12308,7 @@ Do you want to save message ? Paste my certificate link - + @@ -11763,17 +12352,17 @@ Do you want to save message ? Sent Msg - + Draft Msg - + Pending Msg - + @@ -11878,7 +12467,7 @@ Do you want to save message ? Last used - + @@ -11958,27 +12547,27 @@ Do you want to save message ? Remove unused keys... - + Clean keyring - + - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. The removal may fail when running multiple Retroshare instances on the same machine. - + Keyring info - + @@ -11986,22 +12575,22 @@ Notes: Your old keyring will be backed up. For security, your keyring was previously backed-up to file - + Unknown error - + Cannot delete secret keys - + Cannot create backup file. Check for permissions in pgp directory, disk space, etc. - + @@ -12041,12 +12630,12 @@ For security, your keyring was previously backed-up to file Last hour - + Today - + @@ -12056,7 +12645,7 @@ For security, your keyring was previously backed-up to file %1 days ago - + @@ -12073,79 +12662,79 @@ na něj pravým tlačítkem myši a zvolte 'Důvěřovat'. Data inconsistency in the keyring. This is most probably a bug. Please contact the developers. - + Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12176,7 +12765,7 @@ Reported error: Freeze - + @@ -12237,17 +12826,17 @@ Reported error: Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12296,7 +12885,7 @@ Reported error: Systray Icon - + @@ -12324,7 +12913,7 @@ Reported error: Ip security - + @@ -12369,7 +12958,7 @@ Reported error: Systray message - + @@ -12384,17 +12973,17 @@ Reported error: Combined - + Blink - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + @@ -12424,17 +13013,17 @@ Reported error: Disable All Toasters - + Posted - + Disable All Toaster temporarily - + @@ -12444,7 +13033,7 @@ Reported error: Systray - + @@ -12454,23 +13043,23 @@ Reported error: Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase Heslo k PGP klíči (k vaší identitě) @@ -12490,12 +13079,12 @@ Reported error: Retroshare detekoval nezaregistrované zásuvný modul (plugin). Toto může nastat v těchto případech: <UL><LI>Při prvním přihlášení nově vytvořené identity.</LI><LI>Po instalovaci nové verze RetroShare.</LI><LI>Po instalaci nového plugin a nebo jeho aktualizaci.</LI><LI>Škodlivé programové vybavení přepsalo soubor s pluginem kompromitovanou variantou (např. pokus o odposlech). Paranoidní varianta...</LI></UL>Pokud checte plugin povolit, klikněte na tlačítko Ano, v opačném případě klikněte na tlačítko Ne. Pokud si svoji volbu později rozmyslíte, můžete tento plugin povolit či zakázat v menu aplikace Nastavení -> Pluginy. Po změně nastavení je třeba restartovat RetroShare. - + Please check your system clock. - + - + Examining shared files... Prohledávám sdílené soubory... @@ -12522,23 +13111,23 @@ Reported error: Unknown title - + Encrypted message - + - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12573,11 +13162,11 @@ Reported error: - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers - + @@ -12585,42 +13174,42 @@ Reported error: Dialog - + PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + @@ -12630,7 +13219,7 @@ Reported error: No trust - + @@ -12650,31 +13239,31 @@ Reported error: Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12684,72 +13273,133 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures Zahrnout podpisy + + + Options + + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + Stahovat přímo od pokud možno + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + Automaticky stahovat doporučené soubory od tohoto uzlu + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + Vyžaduji whitelist povolení + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details - + - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. Chyba : nemohu získat údaje kontaktu - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) - + - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + @@ -12767,28 +13417,28 @@ p, li { white-space: pre-wrap; } Tomuto protějšku nedůvěřujete vůbec. - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure Podepisování selhalo @@ -12798,19 +13448,19 @@ p, li { white-space: pre-wrap; } Možná že bylo špatně zadané heslo - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12935,7 +13585,7 @@ p, li { white-space: pre-wrap; } Send Message - + @@ -12959,26 +13609,80 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -12994,12 +13698,12 @@ p, li { white-space: pre-wrap; } PhotoShare - + Photo - + @@ -13029,7 +13733,7 @@ p, li { white-space: pre-wrap; } Photo Title: - + @@ -13049,7 +13753,7 @@ p, li { white-space: pre-wrap; } Write a comment... - + @@ -13069,27 +13773,27 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> - + @@ -13107,48 +13811,48 @@ p, li { white-space: pre-wrap; } View Album - + Subscribe To Album - + Slide Show - + My Albums - + Subscribed Albums - + Shared Albums - + View Photo - + PhotoShare - + Please select an album before requesting to edit it! - + @@ -13161,28 +13865,28 @@ requesting to edit it! Image - + Show/Hide Details - + << - + Stop - + >> - + @@ -13192,17 +13896,17 @@ requesting to edit it! Start - + Start Slide Show - + Stop Slide Show - + @@ -13223,21 +13927,21 @@ requesting to edit it! Show more details about this plugin - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> - + Enable this plugin (restart required) - + @@ -13247,17 +13951,17 @@ p, li { white-space: pre-wrap; } Disable this plugin (restart required) - + Disable - + Launch configuration panel, if provided by the plugin - + @@ -13277,7 +13981,7 @@ p, li { white-space: pre-wrap; } File hash: - + @@ -13287,7 +13991,7 @@ p, li { white-space: pre-wrap; } will be enabled after your restart RetroShare. - + @@ -13295,37 +13999,37 @@ p, li { white-space: pre-wrap; } base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13348,7 +14052,7 @@ p, li { white-space: pre-wrap; } Widget for plugin %1 not found on plugins frame - + @@ -13366,17 +14070,17 @@ p, li { white-space: pre-wrap; } Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + No API number supplied. Please read plugin development manual. - + @@ -13385,37 +14089,37 @@ p, li { white-space: pre-wrap; } [loading problem] - + No SVN number supplied. Please read plugin development manual. - + Loading error. - + Missing symbol. Wrong version? - + No plugin object - + Plugins is loaded. - + Unknown status. - + @@ -13423,12 +14127,12 @@ p, li { white-space: pre-wrap; } be checked for the hash. However, in normal times, checking the hash protects you from malicious behavior of crafted plugins. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + @@ -13479,7 +14183,7 @@ malicious behavior of crafted plugins. Dock tab - + @@ -13505,32 +14209,32 @@ malicious behavior of crafted plugins. Chat remotely closed. Please close this window. - + The person you're talking to has deleted the secured chat tunnel. You may remove the chat window now. - + Closing this window will end the conversation, notify the peer and remove the encrypted tunnel. - + Kill the tunnel? - + Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13538,12 +14242,12 @@ malicious behavior of crafted plugins. Signed by: - + Notes - + @@ -13553,32 +14257,32 @@ malicious behavior of crafted plugins. Please create or choose a Signing Id first - + Submit Post - + You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + Submit - + Submit a new Post - + Please add a Title - + @@ -13588,7 +14292,7 @@ malicious behavior of crafted plugins. Link - + @@ -13601,37 +14305,37 @@ malicious behavior of crafted plugins. Posted - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + My Topics - + Subscribed Topics - + Popular Topics - + Other Topics - + @@ -13639,32 +14343,32 @@ malicious behavior of crafted plugins. Posted Topic - + Add Topic Admins - + Select Topic Admins - + Create New Topic - + Edit Topic - + Update Topic - + @@ -13677,7 +14381,7 @@ malicious behavior of crafted plugins. Subscribe to Posted - + @@ -13693,7 +14397,7 @@ malicious behavior of crafted plugins. Posted Description - + @@ -13703,7 +14407,7 @@ malicious behavior of crafted plugins. New Posted - + @@ -13714,18 +14418,18 @@ malicious behavior of crafted plugins. PostedItem - + 0 - + 0 Site - + - + Comments Komentáře @@ -13737,17 +14441,17 @@ malicious behavior of crafted plugins. Vote up - + Vote down - + \/ - + @@ -13760,7 +14464,17 @@ malicious behavior of crafted plugins. Nový - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Označit zprávu za přečtenou @@ -13770,14 +14484,14 @@ malicious behavior of crafted plugins. Odstranit položku - + Loading Nahrávám By - + @@ -13790,7 +14504,7 @@ malicious behavior of crafted plugins. Hot - + @@ -13805,32 +14519,32 @@ malicious behavior of crafted plugins. Today - + Yesterday - + This Week - + This Month - + This Year - + Submit a new Post - + @@ -13845,17 +14559,17 @@ malicious behavior of crafted plugins. Please create or choose a Signing Id before Voting - + Previous - + 1-10 - + 1-10 @@ -13868,12 +14582,12 @@ malicious behavior of crafted plugins. Posted - + Open each topic in a new tab - + @@ -13881,7 +14595,7 @@ malicious behavior of crafted plugins. Posted - + @@ -13889,7 +14603,7 @@ malicious behavior of crafted plugins. RetroShare Message - Print Preview - + @@ -13904,22 +14618,22 @@ malicious behavior of crafted plugins. Page Setup... - + Zoom In - + Zoom Out - + &Close - + @@ -13928,7 +14642,7 @@ malicious behavior of crafted plugins. Profile Manager - + @@ -13943,7 +14657,7 @@ malicious behavior of crafted plugins. GID - + @@ -13988,7 +14702,7 @@ tam ji importujte. Import Identity - + @@ -14013,35 +14727,35 @@ tam ji importujte. Select Trusted Friend - + Certificates (*.pqi *.pem) - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + @@ -14060,12 +14774,12 @@ p, li { white-space: pre-wrap; } Copy Certificate - + Profile Manager - + @@ -14090,12 +14804,12 @@ p, li { white-space: pre-wrap; } Number of Friends: - + Version: - + @@ -14110,27 +14824,27 @@ p, li { white-space: pre-wrap; } My Address - + Local Address: - + External Address: - + Dynamic DNS: - + Addresses list: - + @@ -14154,51 +14868,51 @@ p, li { white-space: pre-wrap; } Post From: - + Account 1 - + Account 2 - + Account 3 - + Add to Pulse - + filter - + URL Adder - + Display As - + URL - + @@ -14208,7 +14922,7 @@ p, li { white-space: pre-wrap; } Post Pulse to Wire - + @@ -14234,26 +14948,26 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation Potvrzení Do you want this link to be handled by your system? - + - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. - + - + Add file Přidat soubor @@ -14265,20 +14979,25 @@ and open the Make Friend Wizard. Do you want to process the link ? - + Do you want to process %1 links ? - + - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. %1 z %2 RetroShare odkazu zpracováno. @@ -14370,42 +15089,57 @@ and open the Make Friend Wizard. Channel not found - + Channels not found - + Channel message not found - + Channel messages not found - + + + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + Recipient not accepted - + Recipients not accepted - + Unkown recipient - + Unkown recipients - + @@ -14421,7 +15155,7 @@ and open the Make Friend Wizard. Warning: forbidden characters found in filenames. Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. - + @@ -14429,14 +15163,14 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Výsledek - + Unable to make path - + Unable to make path: - + @@ -14444,7 +15178,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Zpracování souboru kolekce selhalo - + Deny friend Zamítnout kontakt @@ -14464,38 +15198,38 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Požadavek o stáhnutí souboru byl zrušen. - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. - + Choose between:<br><ul><li><b>Ok</b> to copy the existing keyring from gnupg (safest bet), or </li><li><b>Close without saving</b> to start fresh with an empty keyring (you will be asked to create a new PGP key to work with RetroShare, or import a previously saved pgp keypair). </li><li><b>Cancel</b> to quit and forge a keyring by yourself (needs some PGP skills)</li></ul> - + - + RetroShare RetroShare - + Initialization failed. Wrong or missing installation of PGP. Inicializace selhala. PGP není nainstalováno, a nebo je v něm nějaká chyba. An unexpected error occurred. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. Nastala neočekávaná chyba. Prosím pošlete hlášení 'RsInit::InitRetroShare unexpected return code %1'. - + Multiple instances Běží několik isntancí @@ -14505,34 +15239,29 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Another RetroShare using the same profile is already running on your system. Please close that instance first Lock file: - + An unexpected error occurred when Retroshare tried to acquire the single instance lock Lock file: - - - - - Start with a RetroShare link is only supported for Windows. - + Distant peer has closed the chat - + Tunnel is pending... - + Secured tunnel is working. You can talk! - + @@ -14540,186 +15269,186 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Reported error is: %2 - + - + Click to send a private message to %1 (%2). - + %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + secs - + TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + %1 days ago - + Subject: - + Předmět: Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error - + Chyba unable to parse XML file! - + @@ -14734,12 +15463,12 @@ Security: no anonymous IDs <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14748,7 +15477,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Choose which files you share.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Get started using RetroShare.</span></p></body></html> - + @@ -14770,7 +15499,7 @@ p, li { white-space: pre-wrap; } For best performance, RetroShare needs to know a little about your connection to the internet. - + @@ -14781,17 +15510,17 @@ p, li { white-space: pre-wrap; } KB/s - + Choose your upload speed limit: - + Connection : - + @@ -14806,12 +15535,12 @@ p, li { white-space: pre-wrap; } Manually forwarded port - + Discovery : - + @@ -14839,17 +15568,17 @@ p, li { white-space: pre-wrap; } < Back - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -14872,12 +15601,12 @@ p, li { white-space: pre-wrap; } Network Wide - + Browseable - + @@ -14897,60 +15626,60 @@ p, li { white-space: pre-wrap; } RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + Pozice programových prvků (síť, přenosy, zprávy, atd.) ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + Do not show a message when Closing RetroShare - + Start Minimized - + Start RetroShare when my System Starts. - + @@ -14960,7 +15689,7 @@ p, li { white-space: pre-wrap; } Finish - + @@ -14980,22 +15709,22 @@ p, li { white-space: pre-wrap; } Browsable - + Universal - + If checked, the share is anonymously shared to anybody. - + If checked, the share is browsable by your friends. - + @@ -15003,12 +15732,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + Opravdu chcete přestat sdílet tento adresář? @@ -15039,12 +15768,12 @@ p, li { white-space: pre-wrap; } The loading of embedded images is blocked. - + Load images - + @@ -15052,60 +15781,60 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15123,7 +15852,7 @@ p, li { white-space: pre-wrap; } <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15188,12 +15917,12 @@ p, li { white-space: pre-wrap; } Relay Server Setup - + Add Server - + @@ -15203,17 +15932,17 @@ p, li { white-space: pre-wrap; } Remove Server - + Relay - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15247,22 +15976,22 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + @@ -15280,28 +16009,28 @@ p, li { white-space: pre-wrap; } Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15333,12 +16062,12 @@ p, li { white-space: pre-wrap; } Stáhnout! - + File Soubor - + Size Velikost @@ -15350,19 +16079,19 @@ p, li { white-space: pre-wrap; } Bad filenames have been cleaned - + Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. - + Selected files : - + @@ -15372,27 +16101,27 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + >> - + <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + + - + @@ -15400,58 +16129,63 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Uložit - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + Real Size=%1 - + Real File Count=%1 - + Save Collection File. - + What do you want to do? - + @@ -15461,42 +16195,42 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Merge - + Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + File already exists. - + <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15537,17 +16271,17 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace This file contains the string "%1" and is therefore an invalid collection file. If you believe it is correct, remove the corresponding line from the file and re-open it with Retroshare. - + Save Collection File. - + What do you want to do? - + @@ -15557,7 +16291,7 @@ If you believe it is correct, remove the corresponding line from the file and re Merge - + @@ -15567,13 +16301,13 @@ If you believe it is correct, remove the corresponding line from the file and re File already exists. - + RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? Obrázek je na odeslání příliš velký. @@ -15585,13 +16319,13 @@ Chcete změnit jeho velikost na %1x%2 pixelů? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. Obnoví všechna(!) uložená nastavení RetroShare na výchozí. @@ -15631,7 +16365,7 @@ Chcete změnit jeho velikost na %1x%2 pixelů? Informace o použití RetroShare. - + Unable to open log file '%1': %2 Nemohu otevřít log soubor '%1': %2 @@ -15643,27 +16377,36 @@ Chcete změnit jeho velikost na %1x%2 pixelů? Could not create data directory: %1 - + - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -15671,7 +16414,7 @@ Chcete změnit jeho velikost na %1x%2 pixelů? RTT Statistics - + @@ -15930,22 +16673,22 @@ Vysoká pravděpodobnost že soubor bude nalezen Open Folder - + Otevřít složku Create Collection... - + Modify Collection... - + View Collection... - + @@ -15979,7 +16722,7 @@ Vysoká pravděpodobnost že soubor bude nalezen IP address: - + @@ -15994,7 +16737,7 @@ Vysoká pravděpodobnost že soubor bude nalezen Peer Name: - + @@ -16011,33 +16754,33 @@ Vysoká pravděpodobnost že soubor bude nalezen but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -16170,27 +16913,27 @@ Vysoká pravděpodobnost že soubor bude nalezen Certificate has wrong signature!! This peer is not who he claims to be. - + Missing/Damaged certificate. Not a real Retroshare user. - + Certificate caused an internal error. - + Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16203,12 +16946,12 @@ Vysoká pravděpodobnost že soubor bude nalezen Network Mode - + Síťový mod Nat - + @@ -16285,7 +17028,7 @@ Vysoká pravděpodobnost že soubor bude nalezen Known / Previous IPs: - + @@ -16296,9 +17039,9 @@ Vysoká pravděpodobnost že soubor bude nalezen If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. - + @@ -16314,90 +17057,90 @@ behind a firewall or a VPN. Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + Onion Address - + Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + @@ -16407,27 +17150,27 @@ Also check your ports! Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16442,18 +17185,18 @@ Also check your ports! IP Filters - + IP blacklist - + IP range - + @@ -16467,13 +17210,13 @@ Also check your ports! Origin - + Reason - + @@ -16485,158 +17228,158 @@ Also check your ports! IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + @@ -16649,78 +17392,78 @@ If you have issues connecting over Tor check the Tor logs too. Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16733,7 +17476,7 @@ If you have issues connecting over Tor check the Tor logs too. Service Permissions - + @@ -16748,7 +17491,7 @@ If you have issues connecting over Tor check the Tor logs too. Require whitelist - + @@ -16756,7 +17499,7 @@ If you have issues connecting over Tor check the Tor logs too. ServicePermissions - + @@ -16771,12 +17514,12 @@ If you have issues connecting over Tor check the Tor logs too. hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16792,18 +17535,18 @@ If you have issues connecting over Tor check the Tor logs too. RetroShare Share Folder - + Share Folder - + Local Path - + @@ -16833,7 +17576,7 @@ If you have issues connecting over Tor check the Tor logs too. Share flags and groups: - + @@ -16846,18 +17589,18 @@ If you have issues connecting over Tor check the Tor logs too. Share for Friend - + Share - + You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -16968,7 +17711,7 @@ Select the Friends with which you want to Share your Channel. This is a list of shared folders. You can add and remove folders using the buttons at the bottom. When you add a new folder, intially all files in that folder are shared. You can separately setup share flags for each shared directory. - + @@ -17082,17 +17825,17 @@ Select the Friends with which you want to Share your Channel. Create Collection... - + Modify Collection... - + View Collection... - + @@ -17105,48 +17848,48 @@ Select the Friends with which you want to Share your Channel. Friend - + Kontakt Go Online - + Chatmessage - + New Msg - + Message - + Message arrived - + Download - + Stáhnout Download complete - + Lobby - + @@ -17189,7 +17932,7 @@ Select the Friends with which you want to Share your Channel. Default - + Výchozí @@ -17197,18 +17940,18 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile Načítám profil @@ -17281,9 +18024,9 @@ Existující identity či lokace to nijak neovlivní. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17292,7 +18035,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17301,7 +18044,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17310,7 +18053,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17364,12 +18107,12 @@ This choice can be reverted in settings. ServicePermissions - + Service permissions matrix - + @@ -17384,17 +18127,17 @@ This choice can be reverted in settings. Turtle Router - + Global Router - + RTT Statistics - + @@ -17496,7 +18239,7 @@ This choice can be reverted in settings. Connected: I2P - + @@ -17511,57 +18254,57 @@ This choice can be reverted in settings. TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17581,18 +18324,18 @@ This choice can be reverted in settings. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> - + @@ -17632,12 +18375,12 @@ p, li { white-space: pre-wrap; } Solid - + Gradient - + @@ -17750,17 +18493,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed Přihlášen - + Unsubscribe Neodebírat - + Subscribe Odebírat @@ -17819,12 +18562,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17832,7 +18575,7 @@ p, li { white-space: pre-wrap; } Transfer options - + @@ -17842,17 +18585,17 @@ p, li { white-space: pre-wrap; } Slots reserved for non-cache transfers: - + Default chunk strategy: - + Safety disk space limit : - + @@ -17879,43 +18622,43 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> - + Max. tunnel req. forwarded per second: - + <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -17928,29 +18671,29 @@ p, li { white-space: pre-wrap; } You have %1 completed downloads - + You have %1 completed download - + %1 completed downloads - + %1 completed download - + TransfersDialog - + Downloads Stahování @@ -17961,7 +18704,7 @@ p, li { white-space: pre-wrap; } Odesílání - + Name i.e: file name @@ -18117,7 +18860,7 @@ p, li { white-space: pre-wrap; } Clear Completed - + @@ -18202,7 +18945,7 @@ p, li { white-space: pre-wrap; } <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + @@ -18231,39 +18974,39 @@ p, li { white-space: pre-wrap; } - + Failed Selhalo - - + + Okay Oukej - - + + Waiting Čekám - + Downloading Stahuji - + Complete Dokončit - + Queued Ve frontě @@ -18283,7 +19026,7 @@ p, li { white-space: pre-wrap; } Neznámý - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18294,7 +19037,7 @@ map of the data; it will compare and invalidate bad blocks, and download them again Try to be patient! - + @@ -18365,15 +19108,15 @@ Try to be patient! Prosím vložte nové--a platné--jméno souboru - + Last Time Seen i.e: Last Time Receiced Data - + UserID - + @@ -18393,82 +19136,82 @@ Try to be patient! Show Size Column - + Show Completed Column - + Speed - + Rychlost Show Speed Column - + Progress / Availability - + Postup / Dostupnost Show Progress / Availability Column - + Sources - + Zdroje Show Sources Column - + Show Status Column - + Show Speed / Queue position Column - + Show Remaining Column - + Download time - + Doba stahování Show Download time Column - + Show Hash Column - + Last Time Seen - + Show Last Time Seen Column - + @@ -18478,7 +19221,7 @@ Try to be patient! File Transfers - + @@ -18494,32 +19237,32 @@ Try to be patient! Show Path Column - + - + Could not delete preview file - + Try it again? - + - + Create Collection... - + Modify Collection... - + View Collection... - + @@ -18527,24 +19270,24 @@ Try to be patient! Kolekce - + File sharing Přenosy - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: - + @@ -18559,7 +19302,7 @@ Try to be patient! FILE - + @@ -18575,7 +19318,7 @@ Try to be patient! DIR - + @@ -18686,27 +19429,27 @@ Try to be patient! Age in seconds - + Depth - + total - + Anonymous tunnels - + Authenticated tunnels - + @@ -18716,7 +19459,7 @@ Try to be patient! Turtle Router - + @@ -18724,47 +19467,47 @@ Try to be patient! Search requests repartition - + Tunnel requests repartition - + Turtle router traffic - + Tunnel requests Up - + Tunnel requests Dn - + Incoming file data - + Outgoing file data - + TR Forward probabilities - + Forwarded data - + @@ -18893,57 +19636,57 @@ Try to be patient! Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -19086,32 +19829,32 @@ Try to be patient! Page Name - + Page Id - + Orig Id - + << - + >> - + Republish - + @@ -19121,12 +19864,12 @@ Try to be patient! New Page - + Refresh - + @@ -19136,32 +19879,32 @@ Try to be patient! My Groups - + Subscribed Groups - + Popular Groups - + Other Groups - + Subscribe to Group - + Unsubscribe to Group - + @@ -19171,12 +19914,12 @@ Try to be patient! Show Wiki Group - + Edit Wiki Group - + @@ -19184,47 +19927,47 @@ Try to be patient! Page Edit History - + Enable Obsolete Edits - + Choose for Merge - + Merge for Republish (TODO) - + Publish Date - + By - + PageId - + \/ - + /\ - + @@ -19239,7 +19982,7 @@ Try to be patient! Previous Version - + @@ -19251,7 +19994,7 @@ Try to be patient! Show Edit History - + @@ -19272,39 +20015,39 @@ Try to be patient! Revert - + Submit - + Hide Edit History - + Edit Page - + Create New Wiki Page - + Republish - + Edit Wiki Page - + @@ -19312,7 +20055,7 @@ Try to be patient! Create New Wiki Group - + @@ -19322,17 +20065,17 @@ Try to be patient! Edit Wiki Group - + Add Wiki Moderators - + Select Wiki Moderators - + @@ -19342,7 +20085,7 @@ Try to be patient! Update Group - + @@ -19350,7 +20093,7 @@ Try to be patient! TimeRange - + @@ -19361,17 +20104,17 @@ Try to be patient! Last Month - + Last Week - + Today - + @@ -19381,37 +20124,37 @@ Try to be patient! from - + until - + Search/Filter - + Network Wide - + Manage Accounts - + Showing: - + Yourself - + @@ -19421,27 +20164,27 @@ Try to be patient! Following - + Custom - + Account 1 - + Account 2 - + Account 3 - + @@ -19450,12 +20193,12 @@ Try to be patient! CheckBox - + Post Pulse to Wire - + @@ -19569,7 +20312,7 @@ Try to be patient! Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_da.ts b/retroshare-gui/src/lang/retroshare_da.ts index 74c169976..e9b4add9a 100644 --- a/retroshare-gui/src/lang/retroshare_da.ts +++ b/retroshare-gui/src/lang/retroshare_da.ts @@ -1,15 +1,17 @@ - + + + AWidget version - + RetroShare version - + @@ -18,42 +20,42 @@ About RetroShare - + About - + Copy Info - + close - + Max score: %1 - + Score: %1 - + Level: %1 - + Have fun ;-) - + @@ -61,7 +63,7 @@ Add Comment - + @@ -69,17 +71,17 @@ File type(extension): - + Use default command - + Command - + @@ -88,9 +90,9 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file - + @@ -98,27 +100,27 @@ RetroShare: Advanced Search - + Search Criteria - + Add a further search criterion. - + Reset the search criteria. - + Cancels the search. - + @@ -128,12 +130,12 @@ Perform the advanced search. - + Search - + @@ -142,206 +144,206 @@ Create Album - + Album Name: - + Category: - + Animals - + Family - + Friends - + Flowers - + Holiday - + Landscapes - + Pets - + Portraits - + Travel - + Work - + Random - + Caption: - + Where: - + Photographer: - + Description: - + Share Options - + Policy: - + Quality: - + Comments: - + Identity: - + Public - + Restricted - + Resize Images (< 1Mb) - + Resize Images (< 10Mb) - + Send Original Images - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with Identity - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Back - + Add Photos - + Publish Album - + Untitle Album - + Say something about this album... - + Where were these taken? - + Load Album Thumbnail - + @@ -350,101 +352,101 @@ p, li { white-space: pre-wrap; } Album - + Album Thumbnail - + TextLabel - + Summary - + Album Title: - + Category: - + Caption - + Where: - + When - + Description: - + Share Options - + Comments - + Publish Identity - + Visibility - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Add Photo - + Edit Photo - + Delete Photo - + Publish Photos - + @@ -452,32 +454,32 @@ p, li { white-space: pre-wrap; } Form - + TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + @@ -485,169 +487,169 @@ p, li { white-space: pre-wrap; } Language - + Changes to language will only take effect after restarting RetroShare! - + Choose the language used in RetroShare - + Style - + Choose RetroShare's interface style - + Style Sheet - + Appearance - + Tool Bar - + On Tool Bar - + On List Item - + Where do you want to have the buttons for menu? - + On List Ite&m - + Where do you want to have the buttons for the page? - + Icon Only - + Text Only - + Text Beside Icon - + Text Under Icon - + Choose the style of Tool Buttons. - + Choose the style of List Items. - + Icon Size = 8x8 - + Icon Size = 16x16 - + Icon Size = 24x24 - + Icon Size = 64x64 - + Icon Size = 128x128 - + Status Bar - + Remove surplus text in status bar. - + Compact Mode - + Hide Sound Status - + Hide Toaster Disable - + Show SysTray on Status Bar - + Disable SysTray ToolTip - + Icon Size = 32x32 - + @@ -662,37 +664,37 @@ p, li { white-space: pre-wrap; } Warning: The services here are experimental. Please help us test them. But Remember: Any data here *WILL* be lost when we upgrade the protocols. - + Identities - + Circles - + GxsForums - + GxsChannels - + The Wire - + Photos - + @@ -700,17 +702,17 @@ p, li { white-space: pre-wrap; } %p Kb - + Cancel Download - + [ERROR]) - + @@ -718,32 +720,32 @@ p, li { white-space: pre-wrap; } Change Avatar - + Your Avatar Picture - + Add Avatar - + Remove - + Set your Avatar picture - + Load Avatar - + @@ -751,15 +753,15 @@ p, li { white-space: pre-wrap; } Click to change your avatar - + BWGraphSource - + KB/s - + @@ -767,7 +769,7 @@ p, li { white-space: pre-wrap; } N/A - + @@ -775,7 +777,7 @@ p, li { white-space: pre-wrap; } RetroShare Bandwidth Usage - + @@ -786,47 +788,47 @@ p, li { white-space: pre-wrap; } Reset - + Receive Rate - + Send Rate - + Always on Top - + Style - + Changes the transparency of the Bandwidth Graph - + 100 - + % Opaque - + Save - + @@ -836,12 +838,12 @@ p, li { white-space: pre-wrap; } Since: - + Hide Settings - + @@ -850,23 +852,23 @@ p, li { white-space: pre-wrap; } Sum - + All - + KB/s - + Count - + @@ -879,72 +881,72 @@ p, li { white-space: pre-wrap; } ID - + In (KB/s) - + InMax (KB/s) - + InQueue - + InAllocated (KB/s) - + Allocated Sent - + Out (KB/s) - + OutMax (KB/s) - + OutQueue - + OutAllowed (KB/s) - + Allowed Recvd - + TOTALS - + Totals - + Form - + @@ -952,42 +954,42 @@ p, li { white-space: pre-wrap; } Form - + Friend: - + Type: - + Up - + Down - + Service: - + Unit: - + Log scale - + @@ -995,27 +997,27 @@ p, li { white-space: pre-wrap; } Channels - + Tabs - + General - + Load posts in background (Thread) - + Open each channel in a new tab - + @@ -1023,155 +1025,160 @@ p, li { white-space: pre-wrap; } Participants - + Change nick name - + Mute participant - + + + + + Ban this person (Sets negative opinion) + Send Message - + Sort by Name - + Sort by Activity - + - + Invite friends to this lobby - + Leave this lobby (Unsubscribe) - + Invite friends - + Select friends to invite: - + - + Welcome to lobby %1 - + Topic: %1 - + Lobby chat - + - + Lobby management - + %1 has left the lobby. - + %1 joined the lobby. - + %1 changed his name to: %2 - + Unsubscribe to lobby - + Do you want to unsubscribe to this chat lobby? - + Right click to mute/unmute participants<br/>Double click to address this person<br/> - + This participant is not active since: - + seconds - + - + Start private chat - + - + Decryption failed. - + Signature mismatch - + Unknown key - + Unknown hash - + Unknown error. - + Cannot start distant chat - + Distant chat cannot be initiated: - + @@ -1179,7 +1186,7 @@ p, li { white-space: pre-wrap; } Show Chat Lobby - + @@ -1187,49 +1194,49 @@ p, li { white-space: pre-wrap; } Chat Lobbies - + You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + Unknown Lobby - + Remove All - + ChatLobbyWidget - + Chat lobbies - + - + Name Navn @@ -1237,144 +1244,144 @@ p, li { white-space: pre-wrap; } Count - + Topic - + Private Lobbies - + Public Lobbies - + Create chat lobby - + [No topic provided] - + - + Selected lobby info - + Private - + Public - + Anonymous IDs accepted - + You're not subscribed to this lobby; Double click-it to enter and chat. - + Remove Auto Subscribe - + Add Auto Subscribe - + %1 invites you to chat lobby named %2 - + - + Search Chat lobbies - + Search Name - + Subscribed - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + Columns - + Yes - + No - + - + Lobby Name: - + Lobby Id: - + Topic: - + Type: - + Security: - + Peers: - + @@ -1384,93 +1391,93 @@ p, li { white-space: pre-wrap; } TextLabel - + No lobby selected. Select lobbies at left to show details. Double click lobbies to enter and chat. - + Private Subscribed Lobbies - + Public Subscribed Lobbies - + Chat Lobbies - + Leave this lobby - + Enter this lobby - + Enter this lobby as... - + Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + You will need to create an identity in order to join chat lobbies. - + Choose an identity for this lobby: - + Create an identity and enter this lobby - + Show - + column - + @@ -1478,33 +1485,33 @@ Double click lobbies to enter and chat. Remove Item - + Write a quick Message - + Send Mail - + Write Message - + Start Chat - + Send - + @@ -1512,167 +1519,172 @@ Double click lobbies to enter and chat. Annuller - + Quick Message - + ChatPage - + General - + - + Distant Chat - + Everyone - + Contacts - + Nobody - + Accept encrypted distant chat from - + Chat Settings - + Enable Emoticons Private Chat - + Enable Emoticons Group Chat - + Enable custom fonts - + Enable custom font size - + Minimum font size - + Enable bold - + Enable italics - + Minimum text contrast - + Send message with Ctrl+Return - + + + + + Send as plain text by default + Chat Lobby - + Blink tab icon - + Private Chat - + Open Window for new chat - + Grab Focus when chat arrives - + Use a single tabbed window - + Blink window/tab icon - + Chat Font - + Change Chat Font - + Chat Font: - + History - + Style - + Group chat - + Variant - + @@ -1686,108 +1698,108 @@ Double click lobbies to enter and chat. Description: - + Private chat - + Incoming - + Outgoing - + - + Incoming message in history - + Outgoing message in history - + Incoming message - + Outgoing message - + Outgoing offline message - + System - + System message - + UserName - + /me is sending a message with /me - + Chat - + <html><head/><body><p align="justify">In this tab you can setup how many chat messages Retroshare will keep saved on the disc and how much of the previous conversation it will display, for the different chat systems. The max storage period allows to discard old messages and prevents the chat history from filling up with volatile chat (e.g. chat lobbies and distant chat).</p></body></html> - + Chatlobbies - + Enabled: - + Saved messages (0 = unlimited): - + Number of messages restored (0 = off): - + Maximum storage period, in days (0=keep all): - + Search by default - + @@ -1797,100 +1809,100 @@ Double click lobbies to enter and chat. Whole Words - + Move to cursor - + Color All Text Found - + Color of found text - + Choose color of found text - + Maximum count for coloring matching text - + Threshold for automatic search - + Default identity for chat lobbies: - + Show Bar by default - + - + Private chat invite from - + Name : - + PGP id : - + Valid until : - + ChatStyle - + Standard style for group chat - + Compact style for group chat - + Standard style for private chat - + Compact style for private chat - + Standard style for history - + Compact style for history - + @@ -1898,7 +1910,7 @@ Double click lobbies to enter and chat. Show Chat - + @@ -1906,7 +1918,7 @@ Double click lobbies to enter and chat. Private Chat - + @@ -1914,281 +1926,289 @@ Double click lobbies to enter and chat. Close - + - + Send - + - + Bold - + Underline - + Italic - + - + Attach a Picture - + - + Strike - + Clear Chat History - + Disable Emoticons - + Save Chat History - + Browse Message History - + Browse History - + Delete Chat History - + Deletes all stored and displayed chat history - + Choose font - + Reset font to default - + - + Quote - + Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... - + - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? - + - + Add Extra File - + Load Picture File - + Save as... - + Text File (*.txt );;All Files (*) - + appears to be Offline. - + Messages you send will be delivered after Friend is again Online - + is Idle and may not reply - + is Away and may not reply - + is Busy and may not reply - + - + Find Case Sensitively - + Find Whole Words - + Move To Cursor - + Don't stop to color after X items found (need more CPU) - + - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> - + <b>Find Next </b><br/><i>Ctrl+G</i> - + <b>Find </b><br/><i>Ctrl+F</i> - + - + (Status) - + - + Set text font & color - + Attach a File - + - + WARNING: Could take a long time on big history. - + Choose color - + - + <b>Mark this selected text</b><br><i>Ctrl+M</i> - + - - %1This message consists of %2 characters. - - - - + items found. - + No items found. - + <b>Return to marked text</b><br><i>Ctrl+M</i> - + - - Display Search Box - - - - - Search Box - - - - + Type a message here - + - + Don't stop to color after - + items found (need more CPU) - - - - - Warning: - + @@ -2196,25 +2216,25 @@ Double click lobbies to enter and chat. TextLabel - + Empty Circle - + CirclesDialog - + Showing details: - + Membership - + @@ -2225,128 +2245,128 @@ Double click lobbies to enter and chat. IDs - + - + Personal Circles - + Public Circles - + Peers - + Status - + ID - + - + Friends - + Friends of Friends - + Others - + Permissions - + Anon Transfers - + Discovery - + Share Category - + Create Personal Circle - + Create External Circle - + Edit Circle - + Todo - + Friends Of Friends - + - + External Circles (Admin) - + External Circles (Subscribed) - + External Circles (Other) - + Circles - + ConfCertDialog - + Details Detaljer Node info - + @@ -2355,25 +2375,25 @@ Double click lobbies to enter and chat. - + Local Address Lokale Adresse External Address - + Dynamic DNS - + Port - + @@ -2382,174 +2402,148 @@ Double click lobbies to enter and chat. Adresser liste - - Include signatures - + + Use this certificate to make friends: + - - + + Include signatures + + + + + RetroShare RetroShare - - + + Error : cannot get peer details. - + - - Use as direct source, when available - - - - - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - - - - + Encryption - + Not connected - + Peer Addresses - + - Options - Indstillinger + Indstillinger - + Retroshare node details - + - + Node name : - + Status : - + Last Contact : - + Retroshare version : - + Node ID : - + PGP key : - + Retroshare Certificate - + - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + none - + <p>This certificate contains: - + <li>a <b>node ID</b> and <b>name</b> - + an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + <p>You can use this certificate to make new friends. Send it by email, or give it hand to hand.</p> - + - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + with - + external signatures</li> - + @@ -2557,228 +2551,228 @@ Double click lobbies to enter and chat. Connect Friend Wizard - + Add a new Friend - + &You get a certificate file from your friend - + &Make friend with selected friends of my friends - + Text certificate - + Use text representation of the PGP certificates. - + Include signatures - + Copy your Cert to Clipboard - + Save your Cert into a File - + Run Email program - + Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + Certificate files - + Use PGP certificates saved in files. - + Import friend's certificate... - + You have to generate a file with your certificate and give it to your friend. Also, you can use a file generated before. - + Export my certificate... - + Drag and Drop your friends's certificate in this Window or specify path in the box below - + Browse - + Friends of friends - + Select now who you want to make friends with. - + Show me: - + Make friend with these peers - + RetroShare ID - + Use RetroShare ID for adding a Friend which is available in your network. - + Add Friends RetroShare ID... - + Paste Friends RetroShare ID in the box below - + Enter the RetroShare ID of your Friend, e.g. Peer@BDE8D16A46D938CF - + RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + GMail - + Yahoo - + Outlook - + AOL - + Yandex - + Email - + Invite Friends by Email - + Enter your friends' email addresses (separate each one with a semicolon) - + Your friends' email addresses: - + Enter Friends Email addresses - + Subject: - + Friend request - + Details about the request - + Peer details - + @@ -2790,23 +2784,23 @@ Double click lobbies to enter and chat. Email: - + Node: - + Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + Location: - + @@ -2818,67 +2812,67 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + Add friend to group: - + Authenticate friend (Sign PGP Key) - + Add as friend to connect with - + To accept the Friend Request, click the Finish button. - + Sorry, some error appeared - + Here is the error message: - + @@ -2888,124 +2882,124 @@ resources. Details about your friend: - + Key validity: - + Signers - + This peer is already on your friend list. Adding it might just set it's ip address. - + Abnormal size read is bigger than memory block. - + Invalid external IP. - + Invalid local IP. - + Invalid checksum section. - + Checksum mismatch. Certificate is corrupted. - + Unknown section type found (Certificate might be corrupted). - + Missing checksum. - + Unknown certificate error - + Certificate Load Failed - + Cannot get peer details of PGP key %1 - + Any peer I've not signed - + Friends of my friends who already trust me - + Signed peers showing as denied - + Peer name - + Also signed by - + Peer id - + RetroShare Invitation - + Ultimate - + Full - + Marginal - + @@ -3015,186 +3009,186 @@ resources. No Trust - + You have a friend request from - + Certificate Load Failed:file %1 not found - + This Peer %1 is not available in your Network - + Use new certificate format (safer, more robust) - + Use old (backward compatible) certificate format - + Remove signatures - + RetroShare Invite - + No or misspelled BEGIN tag found - + No or misspelled END tag found - + No checksum found (the last 5 chars should be separated by a '=' char), or no newline after tag line (e.g. line beginning with Version:) - + Unknown error. Your cert is probably not even a certificate. - + Connect Friend Help - + You can copy this text and send it to your friend via email or some other way - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + Save as... - + RetroShare Certificate (*.rsc );;All Files (*) - + Select Certificate - + Sorry, create certificate failed - + Please choose a filename - + Certificate file successfully created - + Sorry, certificate file creation failed - + *** None *** - + Use as direct source, when available - + IP-Addr: - + IP-Address - + Recommend many friends to each others - + Friend Recommendations - + The text below is your Retroshare certificate. You have to provide it to your friend - + Message: - + Recommend friends - + To - + Please select at least one friend for recommendation. - + Please select at least one friend as recipient. - + Add key to keyring - + This key is already in your keyring - + @@ -3202,69 +3196,69 @@ resources. This might be useful for sending distant messages to this peer even if you don't make friends. - + Certificate has wrong version number. Remember that v0.6 and v0.5 networks are incompatible. - + Invalid node id. - + Auto-download recommended files - + Can be used as direct source - + Require whitelist clearance to connect - + Add IP to whitelist - + No IP in this certificate! - + <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + Added with certificate from %1 - + Paste Cert of your friend from Clipboard - + Certificate Load Failed:can't read from file %1 - + Certificate Load Failed:something is wrong with %1 - + @@ -3272,228 +3266,228 @@ even if you don't make friends. Connection Progress - + Connecting to: - + TextLabel - + Network - + Net Result - + Connect Status - + Contact Result - + DHT Startup - + DHT Result - + Peer Lookup - + Peer Result - + UDP Setup - + UDP Result - + Connection Assistant - + Invalid Peer ID - + Unknown State - + Offline - + Behind Symmetric NAT - + Behind NAT & No DHT - + NET Restart - + Behind NAT - + No DHT - + NET STATE GOOD! - + DHT Failed - + DHT Disabled - + DHT Okay - + Finding RS Peers - + Lookup requires DHT - + Searching DHT - + Lookup Timeout - + Peer DHT NOT ACTIVE - + Lookup Failure - + Peer Offline - + Peer Firewalled - + Peer Online - + Connection In Progress - + Initial connections can take a while, please be patient - + If an error is detected it will be displayed here - + You can close this dialog at any time - + Retroshare will continue connecting in the background - + Connection Timeout - + Connection Attempt has taken too long - + But no error has been detected - + Try again shortly, Retroshare will continue connecting in the background - + @@ -3502,214 +3496,214 @@ even if you don't make friends. If you continue to get this message, please contact developers - + DHT Lookup Timeout - + DHT Lookup has taken too long - + UDP Connection Timeout - + UDP Connection has taken too long - + UDP Connection Failed - + We are continually working to improve connectivity. - + In this case the UDP connection attempt has failed. - + Improve connectivity by opening a Port in your Firewall. - + Connected - + Congratulations, you are connected - + DHT startup Failed - + Your DHT has not started properly - + Common causes of this problem are: - + - You are not connected to the Internet - + - You have a missing or out-of-date DHT bootstrap file (bdboot.txt) - + DHT is Disabled - + The DHT is OFF, so Retroshare cannot find your Friends. - + Retroshare has tried All Known Addresses, with no success - + The DHT is needed if your friends have Dynamic IP Addresses. - + Go to Settings->Server and change config to "Public: DHT and Discovery" - + Peer Denied Connection - + We successfully reached your Friend. - + but they have not added you as a Friend. - + Please contact them to add your Certificate - + Your Retroshare Node is configured Okay - + We successfully reached your Friend via UDP. - + Please contact them to add your Full Certificate - + We Cannot find your Friend. - + They are either offline or their DHT is Off - + Peer DHT is Disabled - + Your Friend has configured Retroshare with DHT Disabled. - + You have previously connected to this Friend - + Retroshare has determined that they have DHT switched off - + Without the DHT it is hard for Retroshare to locate your friend - + Try importing a fresh Certificate to get up-to-date connection information - + Incomplete Friend Details - + You have imported an incomplete Certificate - + Please retry importing the full Certificate - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> - + @@ -3717,248 +3711,314 @@ p, li { white-space: pre-wrap; } N/A - + UNVERIFIABLE FORWARD! - + UNVERIFIABLE FORWARD & NO DHT - + Searching - + UDP Connect Timeout - + Only Advanced Retroshare users should switch off the DHT. - + Retroshare cannot connect without this information - + They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details - + - - + Name Navn - - Creator - - - - - Distribution - - - - + Public - + - - Self-Restricted - - - - - Restricted to: - - - - - Circle Membership - - - - + IDs - + - - Known Identities - - - - + Filter - + - + Nickname - + - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID - + Type - + - - - - + + Name: + Navn: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare RetroShare - + Please set a name for your Circle - + - - Personal Circle Details - - - - - External Circle Details - - - - - Cannot Edit Existing Circles Yet - - - - + No Restriction Circle Selected - + - + No Circle Limitations Selected - + - - Create New Personal Circle - - - - - Create New External Circle - - - - + Add - + Remove - + - + Search - + - + All - + Signed - + Signed by known nodes - + - + Edit Circle - + - - + PGP Identity - + - - - + + + Anon Id - + + + + + Circle name + + + + + Update + + Close + + + + + + Create New Circle + + + + + Create + + + + PGP Linked Id - + + + + + Add Member + + + + + Remove Member + CreateGroup - + Create a Group - + + + + + Group Name: + + + + + Group ID: + - Group Name - Navn + Navn - + Enter a name for your group - + - + + To be defined + + + + Friends - + Edit Group - + @@ -3967,100 +4027,100 @@ p, li { white-space: pre-wrap; } New Channel Post - + Channel Post - + Channel Post to: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> - + Add File to Attach - + Add Channel Thumbnail - + Message - + Subject : - + Attachments - + Allow channels to get frame for message thumbnail from movie media attachments or not - + Auto Thumbnail - + Drag and Drop Files from Search Results - + Paste RetroShare Links - + Paste RetroShare Link - + Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + Add Extra File - + @@ -4071,97 +4131,97 @@ p, li { white-space: pre-wrap; } File already Added and Hashed - + Please add a Subject - + Load thumbnail picture - + Generate mass data - + Do you really want to generate %1 messages ? - + You are about to add files you're not actually sharing. Do you still want this to happen? - + About to post un-owned files to a channel. - + CreateGxsForumMsg - + Post Forum Message - + Forum - + Subject - + Attach File - + Sign Message - + Forum Post - + Attach files via drag and drop - + You can attach files via drag and drop here in this window - + Start New Thread - + - + No Forum - + - + In Reply to - + @@ -4173,54 +4233,64 @@ p, li { white-space: pre-wrap; } Please set a Forum Subject and Forum Message - + Please choose Signing Id, it is required - + Add Extra File - + + + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + - + Generate mass data - + Do you really want to generate %1 messages ? - + - + Send - + - + Forum Message - + Forum Message has not been Sent. Do you want to reject this message? - + Post as - + Congrats, you found a bug! - + @@ -4229,82 +4299,82 @@ Do you want to reject this message? Create Chat Lobby - + A chat lobby is a decentralized and anonymous chat group. All participants receive all messages. Once the lobby is created you can invite other friends from the Friends tab. - + Lobby name: - + Lobby topic: - + Visibility: - + Public (Visible by friends) - + Private (Works on invitation only) - + <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + Security: - + Select the Friends with which you want to group chat. - + Invited friends - + Put a sensible lobby name here - + Set a descriptive topic here - + Contacts: - + Identity to use: - + @@ -4312,7 +4382,7 @@ Do you want to reject this message? Public Information - + @@ -4322,57 +4392,57 @@ Do you want to reject this message? Location: - + Location ID: - + Software Version: - + Online since: - + Other Information - + Certificate - + Include signatures - + Save Key into a file - + A RetroShare link with your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + Error - + Your certificate could not be parsed correctly. Please contact the developers. - + @@ -4382,67 +4452,67 @@ Do you want to reject this message? Your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + Save as... - + RetroShare Certificate (*.rsc );;All Files (*) - + TextLabel - + PGP fingerprint: - + Node information - + PGP Id : - + Friend nodes: - + Copy certificate to clipboard - + Save certificate to file - + Node - + Create new node... - + show statistics window - + @@ -4450,7 +4520,7 @@ Do you want to reject this message? users - + @@ -4458,38 +4528,38 @@ Do you want to reject this message? DHT - + <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + DHT Off - + DHT Searching for RetroShare Peers - + RetroShare users in DHT (Total DHT users) - + DHT Good - + No peer found in DHT - + @@ -4497,27 +4567,27 @@ Do you want to reject this message? B - + KB - + MB - + GB - + File Never Seen - + @@ -4530,57 +4600,57 @@ Do you want to reject this message? General - + Done - + Active - + Outstanding - + Needs checking - + retroshare link(s) - + retroshare link - + Copy link to clipboard - + Rating - + Comments - + File Name - + @@ -4588,27 +4658,27 @@ Do you want to reject this message? Net Status - + Connect Options - + Network Mode - + Nat Type - + Nat Hole - + @@ -4623,298 +4693,298 @@ Do you want to reject this message? PeerId - + DHT Status - + ConnectLogic - + Connect Status - + Connect Mode - + Request Status - + Cb Status - + RsId - + Bucket - + IP:Port - + Key - + Status Flags - + Found - + Last Sent - + Last Recv - + Relay Mode - + Source - + Proxy - + Destination - + Class - + Age - + Bandwidth - + IP - + Search IP - + Copy %1 to clipboard - + Unknown NetState - + Offline - + Local Net - + Behind NAT - + External IP - + UNKNOWN NAT STATE - + SYMMETRIC NAT - + DETERMINISTIC SYM NAT - + RESTRICTED CONE NAT - + FULL CONE NAT - + OTHER NAT - + NO NAT - + UNKNOWN NAT HOLE STATUS - + NO NAT HOLE - + UPNP FORWARD - + NATPMP FORWARD - + MANUAL FORWARD - + NET BAD: Unknown State - + NET BAD: Offline - + NET BAD: Behind Symmetric NAT - + NET BAD: Behind NAT & No DHT - + NET WARNING: NET Restart - + NET WARNING: Behind NAT - + NET WARNING: No DHT - + NET STATE GOOD! - + CAUTION: UNVERIFIABLE FORWARD! - + CAUTION: UNVERIFIABLE FORWARD & NO DHT - + Not Active (Maybe Connected!) - + Searching - + Failed - + offline - + Unreachable - + ONLINE - + Direct - + @@ -4924,64 +4994,64 @@ Do you want to reject this message? Disconnected - + Udp Started - + Connected - + Request Active - + No Request - + Unknown - + RELAY END - + Yourself - + unknown - + unlimited - + Own Relay - + RELAY PROXY - + @@ -4990,27 +5060,27 @@ Do you want to reject this message? %1 secs ago - + %1B/s - + Relays - + 0x%1 EX:0x%2 - + never - + @@ -5018,113 +5088,113 @@ Do you want to reject this message? DHT - + Net Status: - + Network Mode: - + Nat Type: - + Nat Hole: - + Connect Mode: - + Peer Address: - + Unreach: - + Online: - + Offline: - + DHT Peers: - + Disconnected: - + Direct: - + Proxy: - + Relay: - + Filter: - + Search Network - + Peers - + Relay - + DHT Graph - + Proxy VIA - + Relay VIA - + @@ -5132,98 +5202,98 @@ Do you want to reject this message? Incoming Directory - + Browse - + Partials Directory - + Shared Directories - + Automatically share incoming directory (Recommended) - + Edit Share - + Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. - + Remember hashed files for - + days - + Forget any hashed file that is not anymore shared. - + Clean Hash Cache - + Auto-check shared directories every - + minute(s) - + Cache cleaning confirmation - + This will forget any former hash of non shared files. Do you confirm ? - + Set Incoming Directory - + Set Partials Directory - + Directories - + @@ -5231,12 +5301,12 @@ you plug it in. Waiting outgoing discovery operations - + Waiting incoming discovery operations - + @@ -5244,7 +5314,7 @@ you plug it in. Start file - + @@ -5254,36 +5324,36 @@ you plug it in. to - + ignore case - + dd.MM.yyyy - + KB - + MB - + GB - + @@ -5291,12 +5361,12 @@ you plug it in. Expression Widget - + Delete this expression - + @@ -5304,52 +5374,52 @@ you plug it in. &New - + Add new Association - + &Edit - + Edit this Association - + &Remove - + Remove this Association - + File type - + Friend Help - + You this - + Associations - + @@ -5357,47 +5427,47 @@ you plug it in. Chunk map - + Active chunks - + Availability map (%1 active source) - + Availability map (%1 active sources) - + File info - + File name - + Destination folder - + File hash - + File size - + @@ -5405,52 +5475,52 @@ you plug it in. bytes - + Chunk size - + Number of chunks - + Transferred - + Remaining - + Number of sources - + Chunk strategy - + Transfer type - + Anonymous F2F - + Direct friend transfer / Availability assumed - + @@ -5458,73 +5528,73 @@ you plug it in. Picture - + Video - + Audio - + Archive - + Program - + CD/DVD-Image - + Document - + RetroShare collection file - + Subtitles - + Nintendo DS Rom - + Patch - + C++ - + Header - + C - + @@ -5532,37 +5602,37 @@ you plug it in. Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + Directory - + @@ -5570,37 +5640,37 @@ you plug it in. Misc - + Set message to read on activate - + Expand new messages - + Forum - + Load embedded images - + Tabs - + Open each forum in a new tab - + @@ -5613,261 +5683,261 @@ you plug it in. Hide Offline Friends - + export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + Show State - + Show Groups - + - + Group - + Friend - + Edit Group - + Remove Group - + Chat - + Recommend this Friend to... - + Copy certificate link - + Add to group - + - + Search - + Sort by state - + - + Move to group - + Groups - + Remove from group - + Remove from all groups - + Expand all - + Collapse all - + Available - + - + Do you want to remove this Friend? - + - + Done! - + Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + Error - + Failed to get a file! - + File is not writeable! - + File is not readable! - + IP - + - + Attempt to connect - + Create new group - + Display - + Paste certificate link - + Node - + Remove Friend Node - + - + Do you want to remove this node? - + Friend nodes - + - + Send message to whole group - + @@ -5878,13 +5948,13 @@ at least one peer was not added to a group Deny - + Send message - + @@ -5892,17 +5962,17 @@ at least one peer was not added to a group Confirm Friend Request - + wants to be friend with you on RetroShare - + Unknown (Incoming) Connect Attempt - + @@ -5910,12 +5980,12 @@ at least one peer was not added to a group Search : - + Sort by state - + @@ -5925,17 +5995,17 @@ at least one peer was not added to a group Search Friends - + - + Mark all - + Mark none - + @@ -5943,122 +6013,122 @@ at least one peer was not added to a group Edit status message - + Broadcast - + Clear Chat History - + Add Friend - + Add your Avatar Picture - + A - + Set your status message - + Edit your status message - + Browse Message History - + Browse History - + Save Chat History - + Add a new Group - + Delete Chat History - + Deletes all stored and displayed chat history - + Create new Chat lobby - + Choose Font - + Reset font to default - + Keyring - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + Retroshare broadcast chat: messages are sent to all connected friends. - + Network - + Network graph - + Set your status message here. - + @@ -6066,7 +6136,7 @@ at least one peer was not added to a group Create new Profile - + @@ -6076,295 +6146,295 @@ at least one peer was not added to a group Enter your nickname here - + Email - + Be careful: this email will be visible to your friends and friends of your friends. This information is required by PGP, but to stay anonymous, you can use a fake email. - + Password - + [Optional] Visible to your friends, and friends of friends. - + [Required] Examples: Home, Laptop,... - + [Required] Visible to your friends, and friends of friends. - + All fields are required with a minimum of 3 characters - + Password (check) - + - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> - + [Required] Type the same password again here. - + Passwords do not match - + Port - + This password is for PGP - + Node - + Create new node - + Generate new node - + Create a new node - + You can use it now to create a new node. - + Invalid hidden node - + Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile - + Import new profile - + Export selected profile - + Advanced options - + Create a hidden node - + Use profile - + hidden address - + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + Create new profile - + Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + Export profile - + RetroShare profile files (*.asc) - + Profile saved - + @@ -6373,77 +6443,77 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + Import profile - + Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6451,103 +6521,133 @@ Fill in your PGP password when asked, to sign your new key. Startup - + Start RetroShare when my system starts - + Start minimized - + Start minimized on system start - + For Advanced Users - + Enable Advanced Mode (Restart Required) - + Misc - + Do not show the Quit RetroShare MessageBox - + Auto Login - + - Register retroshare:// as URL protocol (Restart required) - + Register retroshare:// as URL protocol + You need administrator rights to change this option. - + - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle - + Idle Time - + seconds - + Launch startup wizard - + - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error - + Could not add retroshare:// as protocol. - + Could not remove retroshare:// protocol. - + General - + - + Minimize to Tray Icon - + @@ -6556,55 +6656,55 @@ Fill in your PGP password when asked, to sign your new key. Getting Started - + Invite Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be sure to get their invitation back as well... </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can only connect with friends if you have both added each other.</span></p></body></html> - + Add Your Friends to RetroShare - + Add Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6616,31 +6716,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6653,107 +6753,107 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + Connect To Friends - + Advanced: Open Firewall Port - + Further Help and Support - + Open RS Website - + Open FAQ Wiki - + Open Online Forums - + Email Support - + Email Feedback - + RetroShare Invitation - + Your friend has installed RetroShare, and would like you to try it out. - + You can get RetroShare here: %1 - + RetroShare is a private Friend-2-Friend sharing network. - + forums and channels, all of which are as secure as the file-sharing. - + Here is your friends ID Certificate. - + Cut and paste the text below into your RetroShare client - + and send them your ID Certificate to get securely connected. - + Cut Below Here - + RetroShare Feedback - + RetroShare Support - + It has many features, including built-in chat, messaging, - + @@ -6761,82 +6861,82 @@ p, li { white-space: pre-wrap; } Router Statistics - + GroupBox - + ID - + Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + Detaljer Unknown Peer - + Pending packets - + Unknown - + @@ -6844,22 +6944,22 @@ p, li { white-space: pre-wrap; } Managed keys - + Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6867,7 +6967,15 @@ p, li { white-space: pre-wrap; } Show Group Chat - + + + + + GroupChooser + + + [Unknown] + @@ -6875,27 +6983,27 @@ p, li { white-space: pre-wrap; } Friends - + Family - + Co-Workers - + Other Contacts - + Favorites - + @@ -6903,78 +7011,78 @@ p, li { white-space: pre-wrap; } Directory is browsable for friends from groups - + Directory is NOT browsable for friends from groups - + Directory is accessible by anonymous tunnels from friends from groups - + Directory is NOT accessible by anonymous tunnels from friends from groups - + Directory is browsable for any friend - + Directory is NOT browsable for any friend - + Directory is accessible by anonymous tunnels from any friend - + Directory is NOT accessible by anonymous tunnels from any friend - + No one can browse this directory - + No one can anonymously access this directory. - + All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -6982,12 +7090,12 @@ p, li { white-space: pre-wrap; } Form - + Hide tabbar with one open tab - + @@ -6995,47 +7103,47 @@ p, li { white-space: pre-wrap; } Share - + Contacts: - + - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer - + - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7043,57 +7151,62 @@ p, li { white-space: pre-wrap; } Title - + Search Title - + Description - + Search Description - + Sort by Name - + Sort by Popularity - + Sort by Last Post - + Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + Display - + - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7101,17 +7214,17 @@ p, li { white-space: pre-wrap; } and - + and / or - + or - + @@ -7121,77 +7234,77 @@ p, li { white-space: pre-wrap; } Path - + Extension - + Hash - + Date - + Size - + Popularity - + contains - + contains all - + is - + less than - + less than or equal - + equals - + greater than or equal - + greater than - + is in range - + @@ -7200,68 +7313,68 @@ p, li { white-space: pre-wrap; } Channels - + Create Channel - + Enable Auto-Download - + My Channels - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + Subscribed Channels - + Popular Channels - + Other Channels - + Select channel download directory - + Disable Auto-Download - + Set download directory - + [Default directory] - + Specify... - + @@ -7269,52 +7382,52 @@ p, li { white-space: pre-wrap; } Form - + Download - + TextLabel - + Open folder - + Error - + Paused - + Waiting - + Checking - + Are you sure that you want to cancel and delete the file? - + Can't open folder - + @@ -7322,32 +7435,32 @@ p, li { white-space: pre-wrap; } Form - + Filename - + Size - + Title - + Published - + Status - + @@ -7355,37 +7468,37 @@ p, li { white-space: pre-wrap; } Create New Channel - + Channel - + Edit Channel - + Add Channel Admins - + Select Channel Admins - + Update Channel - + Create - + @@ -7393,257 +7506,308 @@ p, li { white-space: pre-wrap; } Copy RetroShare Link - + Subscribe to Channel - + Expand - + Remove Item - + Channel Description - + Loading - + New Channel - + Hide - + GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status - + Download - + - + Play - + Comments - + Copy RetroShare Link - + Unsubscribe From Channel - + Expand - + Set as read and remove item - + Remove Item - + - + Channel Feed - + - + Files - + Warning! You have less than %1 hours and %2 minute before this file is deleted Consider saving it. - + Hide - + New - + 0 - + Comment - + I like this - + I dislike this - + - + Loading - + - + Open Åbn Open File - + Play Media - + GxsChannelPostsWidget - + Post to Channel - + Loading - + Search channels - + - + Title - + Search Title - + Message - + Search Message - + Filename - + Search Filename - + No Channel Selected - + - + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download - + Enable Auto-Download - + Show feeds - + Show files - + - + + Administrator: + + + + + + unknown + + + + + Distribution: + + + + Feeds - + Files - + - + Subscribers - + - + Description: - + - + Posts (at neighbor nodes): - + @@ -7651,7 +7815,7 @@ p, li { white-space: pre-wrap; } Channel Post - + @@ -7659,7 +7823,7 @@ p, li { white-space: pre-wrap; } Comment Container - + @@ -7667,67 +7831,67 @@ p, li { white-space: pre-wrap; } Form - + Hot - + New - + Top - + Voter ID: - + Refresh - + Comment - + Author - + Date - + Score - + UpVotes - + DownVotes - + OwnVote - + @@ -7735,22 +7899,22 @@ p, li { white-space: pre-wrap; } Reply to Comment - + Submit Comment - + Vote Up - + Vote Down - + @@ -7758,32 +7922,32 @@ p, li { white-space: pre-wrap; } Make Comment - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> - + Signed by - + Comment Signing Error - + You need to create an Identity before you can comment - + @@ -7791,37 +7955,37 @@ before you can comment Create New Forum - + Forum - + Edit Forum - + Update Forum - + Add Forum Admins - + Select Forum Admins - + Create - + @@ -7829,38 +7993,38 @@ before you can comment Subscribe to Forum - + Expand - + Remove Item - + Forum Description - + Loading - + New Forum - + Hide - + @@ -7869,48 +8033,48 @@ before you can comment Subject: - + Unsubscribe To Forum - + Expand - + Set as read and remove item - + Remove Item - + In Reply to: - + Loading - + Forum Feed - + Hide - + @@ -7918,251 +8082,291 @@ before you can comment Form - + - + Start new Thread for Selected Forum - + Search forums - + Last Post - + Threaded View - + Flat View - + - + Title - + Date - + - + Author - + Save image - + - + Loading - + Reply Message - + Previous Thread - + Next Thread - + Download all files - + Next unread - + Search Title - + Search Date - + Search Author - + Content - + Search Content - + No name - + Reply - + Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + Start New Thread - + Expand all - + Collapse all - + Mark as read - + with children - + Mark as unread - + Copy RetroShare Link - + Hide - + Expand - + This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + + + + Anti-spam - + [ ... Redacted message ... ] - + Anonymous - + signed - + none - + [ ... Missing Message ... ] - + <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8177,80 +8381,80 @@ before you can comment No Forum Selected! - + You cant reply to a non-existant Message - + You cant reply to an Anonymous Author - + Original Message - + From - + Sent - + Subject - + On %1, %2 wrote: - + - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description - + By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8258,7 +8462,7 @@ before you can comment Forum Post - + @@ -8266,38 +8470,38 @@ before you can comment <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + Forums - + Create Forum - + My Forums - + Subscribed Forums - + Popular Forums - + Other Forums - + @@ -8305,85 +8509,85 @@ before you can comment Waiting - + Retrieving - + Loading - + GxsGroupDialog - - + + Name Navn - + Add Icon - + Key recipients can publish to restricted-type group and can view and publish for private-type channels - + Share Publish Key - + - + check peers you would like to share private publish key with - + Share Key With - + - - + + Description - + - + Message Distribution - + - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public - + - - - Restricted to Group - - - - - + Only For Your Friends - + - + Publish Signatures - + @@ -8393,184 +8597,249 @@ before you can comment New Thread - + Required - + Encrypted Msgs - + Personal Signatures - + PGP Required - + Signature Required - + If No Publish Signature - + - Comments - + - + Allow Comments - + No Comments - + Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: - + - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name - + - + + PGP signature from known ID required + + + + Load Group Logo - + - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback - + Owner: - + - + Set a descriptive description here - + - + Info - + - - Comments allowed - - - - - Comments not allowed - - - - + ID - + - + Last Post - + + + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + - Popularity - + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + - - Posts - + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + + Popularity + - Type - + Posts + - + Author - + GxsIdLabel - + @@ -8578,146 +8847,146 @@ before you can comment Loading - + Todo - + Print - + PrintPreview - + Unsubscribe - + Subscribe - + Open in new tab - + Show Details - + Edit Details - + - + + Share publish permissions + + + + Copy RetroShare Link - + Mark all as read - + Mark all as unread - + - + AUTHD - - - - - Share admin permissions - + GxsIdChooser - + No Signature - + - + Create new Identity - + GxsIdDetails - + Loading - + Not found - + No Signature - + [Banned] - + Authentication - + unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8725,12 +8994,12 @@ before you can comment Loading - + No name - + @@ -8738,42 +9007,42 @@ before you can comment Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + @@ -8782,17 +9051,17 @@ before you can comment Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + @@ -8801,22 +9070,22 @@ before you can comment RetroShare Help - + Find: - + Find Previous - + Find Next - + @@ -8826,141 +9095,141 @@ before you can comment Whole words only - + Contents - + Help Topics - + Search - + Searching for: - + Found Documents - + Back - + Move to previous page (Backspace) - + Backspace - + Forward - + Move to next page (Shift+Backspace) - + Shift+Backspace - + Home - + Move to the Home page (Ctrl+H) - + Ctrl+H - + Find - + Search for a word or phrase on current page (Ctrl+F) - + Ctrl+F - + Close - + Close Vidalia Help - + Esc - + Supplied XML file is not a valid Contents document. - + Search reached end of document - + Search reached start of document - + Text not found in document - + Found %1 results - + Error Loading Help Contents: - + @@ -8968,27 +9237,27 @@ before you can comment About - + Authors - + Thanks to - + Translation - + License Agreement - + @@ -8997,14 +9266,14 @@ before you can comment p, li { white-space: pre-wrap; } </style></head><body style=" font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; font-weight:600;">About RetroShare</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9015,14 +9284,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Swedish: </span><span style=" font-size:8pt;"> Daniel Wester</span><span style=" font-size:8pt; font-weight:600;"> &lt;</span><span style=" font-size:8pt;">wester@speedmail.se</span><span style=" font-size:8pt; font-weight:600;">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">German: </span><span style=" font-size:8pt;">Jan</span><span style=" font-size:8pt; font-weight:600;"> </span><span style=" font-size:8pt;">Keller</span> &lt;<span style=" font-size:8pt;">trilarion@users.sourceforge.net</span>&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polish: </span>Maciej Mrug</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9032,16 +9301,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + Libraries - + @@ -9049,115 +9318,115 @@ p, li { white-space: pre-wrap; } Opening External Link - + RetroShare can open the link you selected in your default Web browser. If your browser is not currently configured to use Tor then the request will not be anonymous. - + Do you want Retroshare to open the link in your Web browser? - + Unable to Open Link - + RetroShare was unable to open the selected link in your Web browser. You can still copy the URL and paste it into your browser. - + Error opening help file: - + IdDetailsDialog - + Person Details - + Identity Info - + Owner node ID : - + Type: - + Owner node name : - + Identity name : - + Identity ID : - + Last used: - + Your Avatar Click here to change your avatar - + Reputation - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9167,497 +9436,733 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + Unknown real name - + Anonymous Id - + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + OK Banned - + IdDialog - + + New ID - + - - + + All - + Reputation - + Search - + - - Unknown real name - - - - + Anonymous Id - + - + Create new Identity - + + + + + Create new circle + Persons - + - + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + + + + + Circle name + + + + + Membership + + + + + Public Circles + + + + + Personal Circles + + + + Edit identity - + Delete identity - + Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID - + - + Send message - + - + Identity info - + Identity ID : - + Owner node name : - + Type: - + Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous - + - + ID - + Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + OK - + OK Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People - + Your Avatar Click here to change your avatar - + - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9665,43 +10170,43 @@ p, li { white-space: pre-wrap; } Nickname - + Key ID - + PGP Name - + PGP Hash - + PGP Id - + Pseudonym - + New identity - + To be generated - + @@ -9714,43 +10219,43 @@ p, li { white-space: pre-wrap; } N/A - + Edit identity - + Error getting key! - + Error KeyID invalid - + Unknown GpgId - + Unknown real name - + Create New Identity - + Type - + @@ -9760,7 +10265,7 @@ p, li { white-space: pre-wrap; } TextLabel - + @@ -9769,43 +10274,43 @@ p, li { white-space: pre-wrap; } RM - + Add - + Your Avatar Click here to change your avatar - + Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9818,42 +10323,42 @@ p, li { white-space: pre-wrap; } KeyId - + GXSId - + Add - + - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9862,38 +10367,38 @@ p, li { white-space: pre-wrap; } Message History - + - + Copy Kopiér Remove - + Mark all - + Delete - + Clear history - + Send - + @@ -9902,17 +10407,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -9921,69 +10426,69 @@ p, li { white-space: pre-wrap; } Open File - + Open Folder - + Edit Share Permissions - + Checking... - + Check files - + Edit Shared Folder - + Recommend in a message to - + Set command for opening this file - + Collection - + MainWindow - + Add Friend - + Add a Friend Wizard - + Add Share - + - + Options Indstillinger @@ -9991,45 +10496,45 @@ p, li { white-space: pre-wrap; } Messenger - + About - + SMPlayer - + Quit - + Quick Start Wizard - + - + RetroShare %1 a secure decentralized communication platform - + - + Unfinished - + Low disk space warning - + @@ -10038,62 +10543,62 @@ p, li { white-space: pre-wrap; } RetroShare will now safely suspend any disk access to this directory. Please make some free space and click Ok. - + Show/Hide - + Status - + Notify - + Open Messenger - + Open Messages - + Bandwidth Graph - + Applications - + Help - + Minimize - + Maximize - + &Quit - + @@ -10103,464 +10608,464 @@ p, li { white-space: pre-wrap; } %1 new message - + %1 new messages - + Down: %1 (kB/s) - + Up: %1 (kB/s) - + %1 friend connected - + %1 friends connected - + Do you really want to exit RetroShare ? - + - + Internal Error - + Hide - + Show - + Make sure this link has not been forged to drag you to a malicious website. - + Don't ask me again - + It seems to be an old RetroShare link. Please use copy instead. - + The file link is malformed. - + ServicePermissions - + Service permissions matrix - + - + Add - + Statistics - + Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose - + Contacts - + Paragraph - + Heading 1 - + Heading 2 - + Heading 3 - + Heading 4 - + Heading 5 - + Heading 6 - + Font size - + Increase font size - + Decrease font size - + Bold - + Italic - + Alignment - + Add an Image - + Sets text font to code style - + Underline - + Subject: - + Tags: - + - + Tags - + Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + Recommended Files - + File Name - + Size - + Hash - + Send - + Send this message now - + Reply - + Toggle Contacts View - + Save - + Save this message - + Attach - + Attach File - + Quote - + Add Blockquote - + Send To: - + &Left - + C&enter - + &Right - + &Justify - + All addresses (mixed) - + All people - + My contacts - + Hello,<br>I recommend a good friend of mine; you can trust them too when you trust me. <br> - + You have a friend recommendation - + This friend is suggested by - + wants to be friends with you on RetroShare - + Hi %1,<br><br>%2 wants to be friends with you on RetroShare.<br><br>Respond now:<br>%3<br><br>Thanks,<br>The RetroShare Team - + - + Save Message - + Message has not been Sent. Do you want to save message to draft box? - + Paste RetroShare Link - + Add to "To" - + Add to "CC" - + Add to "BCC" - + Add as Recommend - + Original Message - + From - + To - + Cc - + Sent - + Subject - + On %1, %2 wrote: - + Re: - + Fwd: - + @@ -10572,185 +11077,185 @@ Do you want to save message to draft box? Do you want to send the message without a subject ? - + Please insert at least one recipient. - + Bcc - + Unknown - + &File - + &New - + &Open... - + &Save - + Save &As File - + Save &As Draft - + &Print... - + &Export PDF... - + &Quit - + &Edit - + &Undo - + &Redo - + Cu&t - + &Copy - + &Paste - + &View - + &Contacts Sidebar - + &Insert - + &Image - + &Horizontal Line - + &Format - + Details - + Detaljer Open File... - + HTML-Files (*.htm *.html);;All Files (*) - + Save as... - + Print Document - + Export PDF - + Message has not been Sent. Do you want to save message ? - + Choose Image - + Image Files supported (*.png *.jpeg *.jpg *.gif) - + Add Extra File - + Close - + @@ -10758,74 +11263,74 @@ Do you want to save message ? Fra: - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10833,97 +11338,97 @@ Do you want to save message ? Everyone - + Contacts - + Nobody - + Accept encrypted distant messages from - + Reading - + Set message to read on activate - + Open messages in - + Tags - + Tags can be used to categorize and prioritize your messages - + Add - + Edit - + Delete - + Default - + A new tab - + A new window - + Edit Tag - + Message - + Distant messages: - + Load embedded images - + @@ -10931,7 +11436,7 @@ Do you want to save message ? Sub: - + @@ -10939,7 +11444,7 @@ Do you want to save message ? Message - + @@ -10947,17 +11452,17 @@ Do you want to save message ? Recommended Files - + Download all Recommended Files - + Subject: - + @@ -10972,98 +11477,98 @@ Do you want to save message ? Cc: - + Bcc: - + Tags: - + File Name - + Size - + Hash - + Print - + Print Preview - + Confirm %1 as friend - + Add %1 as friend - + No subject - + Download - + Download all - + Print Document - + Save as... - + HTML-Files (*.htm *.html);;All Files (*) - + Load images always for this message - + Hide the attachment pane - + Show the attachment pane - + @@ -11071,131 +11576,131 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Forward - + Remove selected message - + Delete - + Print selected message - + Print - + Display - + Tags - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + &File - + Save &As File - + &Print... - + Print Preview... - + &Quit - + @@ -11204,67 +11709,67 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Foward - + Remove selected message - + Delete - + Print selected message - + Print - + Display - + @@ -11273,7 +11778,7 @@ Do you want to save message ? Tags - + @@ -11281,7 +11786,7 @@ Do you want to save message ? Inbox - + @@ -11289,18 +11794,18 @@ Do you want to save message ? Outbox - + Draft - + Sent - + @@ -11308,283 +11813,283 @@ Do you want to save message ? Trash - + Total Inbox: - + Folders - + Quick View - + Print... - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + Save As... - + Reply to Message - + Reply to All - + Forward Message - + Subject - + From - + Date - + Content - + Click to sort by attachments - + Click to sort by subject - + Click to sort by read - + Click to sort by from - + Click to sort by date - + Click to sort by tags - + Click to sort by star - + Forward selected Message - + Search Subject - + Search From - + Search Date - + Search Content - + Search Tags - + Attachments - + Search Attachments - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + Starred - + System - + Open in a new window - + Open in a new tab - + Mark as read - + Mark as unread - + Add Star - + Edit - + Edit as new - + Remove Messages - + Remove Message - + Undelete - + Empty trash - + Drafts - + No starred messages available. Stars let you give messages a special status to make them easier to find. To star a message, click on the light gray star beside any message. - + No system messages available. - + To - + Click to sort by to - + This message goes to a distant person. - + @@ -11593,33 +12098,33 @@ Do you want to save message ? Total: - + Messages - + Click to sort by signature - + This message was signed and the signature checks - + This message was signed but the signature doesn't check - + This message comes from a distant person. - + @@ -11627,17 +12132,17 @@ Do you want to save message ? RetroShare Messenger - + - + Add a Friend - + Share files for your friends - + @@ -11645,27 +12150,27 @@ Do you want to save message ? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + Paste RetroShare Link - + Paste my certificate link - + @@ -11673,58 +12178,58 @@ Do you want to save message ? Reply to Message - + Reply Message - + Delete Message - + Play Media - + Expand - + Remove Item - + Message From - + Sent Msg - + Draft Msg - + Pending Msg - + Hide - + @@ -11732,52 +12237,52 @@ Do you want to save message ? <strong>NAT:</strong> - + Network Status Unknown - + Offline - + Nasty Firewall - + DHT Disabled and Firewalled - + Network Restarting - + Behind Firewall - + DHT Disabled - + RetroShare Server - + Forwarded Port - + @@ -11785,12 +12290,12 @@ Do you want to save message ? Filter: - + Search Network - + @@ -11802,129 +12307,129 @@ Do you want to save message ? Did I authenticated peer - + Did I sign his PGP key - + Did peer authenticated me - + Cert Id - + Last used - + Clear - + Set Tabs Right - + Set Tabs North - + Set Tabs South - + Set Tabs Left - + Set Tabs Rounded - + Set Tabs Triangular - + Add Friend - + Copy My Key to Clipboard - + Export My Key - + Create New Profile - + Create a new Profile - + Peer ID - + Deny friend - + Peer details... - + Remove unused keys... - + Clean keyring - + - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. The removal may fail when running multiple Retroshare instances on the same machine. - + Keyring info - + @@ -11932,165 +12437,165 @@ Notes: Your old keyring will be backed up. For security, your keyring was previously backed-up to file - + Unknown error - + Cannot delete secret keys - + Cannot create backup file. Check for permissions in pgp directory, disk space, etc. - + Personal signature - + PGP key signed by you - + Marginally trusted peer - + Fully trusted peer - + Untrusted peer - + Has authenticated me - + Unknown - + Last hour - + Today - + Never - + %1 days ago - + has authenticated you. Right-click and select 'make friend' to be able to connect. - + yourself - + Data inconsistency in the keyring. This is most probably a bug. Please contact the developers. - + Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12098,7 +12603,7 @@ Reported error: Network - + @@ -12106,22 +12611,22 @@ Reported error: Redraw - + Friendship level: - + Edge length: - + Freeze - + @@ -12129,7 +12634,7 @@ Reported error: New Tag - + @@ -12139,7 +12644,7 @@ Reported error: Choose color - + @@ -12157,7 +12662,7 @@ Reported error: News Feed - + @@ -12167,32 +12672,32 @@ Reported error: Remove All - + This is a test. - + News feed - + Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12200,290 +12705,290 @@ Reported error: News Feed - + Channels - + Forums - + Blogs - + Messages - + Chat - + Security - + Test - + Systray Icon - + Message - + Connect attempt - + Toasters - + Friend Connect - + Ip security - + New Message - + Download completed - + Private Chat - + Group Chat - + Chat Lobby - + Position - + X Margin - + Y Margin - + Systray message - + Group chat - + Chat lobbies - + Combined - + Blink - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + Top Left - + Top Right - + Bottom Left - + Bottom Right - + Notify - + Disable All Toasters - + Posted - + Disable All Toaster temporarily - + Feed - + Systray - + Chat Lobbies - + Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase - + Wrong password ! - + Unregistered plugin/executable - + RetroShare has detected an unregistered plugin. This happens in two cases:<UL><LI>Your RetroShare executable has changed.</LI><LI>The plugin has changed</LI></UL>Click on Yes to authorize this plugin, or No to deny it. You can change your mind later in Options -> Plugins, then restart. - + - + Please check your system clock. - + - + Examining shared files... - + Hashing file - + Saving file index... - + Test - + This is a test. - + Unknown title - + Encrypted message - + - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12491,7 +12996,7 @@ Reported error: Friend Online - + @@ -12499,30 +13004,30 @@ Reported error: Normal Mode - + No Anon D/L - + Gaming Mode - + Low Traffic - + - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers - + @@ -12530,171 +13035,232 @@ Reported error: Dialog - + PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + Unknown - + No trust - + Marginal - + Full - + Ultimate - + Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign PGP key - + <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures - + + + + + Options + Indstillinger + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + PGP Key details - + - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. - + - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) - + - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + @@ -12712,30 +13278,30 @@ p, li { white-space: pre-wrap; } Deres tillid i denne peer er ingen. - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure - + @@ -12743,19 +13309,19 @@ p, li { white-space: pre-wrap; } Måske password er forkert - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12768,7 +13334,7 @@ p, li { white-space: pre-wrap; } Unknown - + @@ -12776,23 +13342,23 @@ p, li { white-space: pre-wrap; } Chat - + Start Chat - + Expand - + Remove Item - + @@ -12802,62 +13368,62 @@ p, li { white-space: pre-wrap; } Peer ID: - + Trust: - + Location: - + IP Address: - + Connection Method: - + Status: - + Write Message - + Friend - + Friend Connected - + Connect Attempt - + Friend of Friend - + Peer - + @@ -12870,17 +13436,17 @@ p, li { white-space: pre-wrap; } Unknown Peer - + Hide - + Send Message - + @@ -12888,42 +13454,96 @@ p, li { white-space: pre-wrap; } Friends: 0/0 - + Online Friends/Total Friends - + Friends - + PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -12931,7 +13551,7 @@ p, li { white-space: pre-wrap; } Form - + @@ -12939,62 +13559,62 @@ p, li { white-space: pre-wrap; } PhotoShare - + Photo - + TextLabel - + Comment - + Summary - + Caption - + Where: - + Photo Title: - + When - + ... - + Add Comment - + Write a comment... - + @@ -13002,39 +13622,39 @@ p, li { white-space: pre-wrap; } Form - + TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> - + @@ -13042,58 +13662,58 @@ p, li { white-space: pre-wrap; } Form - + Create Album - + View Album - + Subscribe To Album - + Slide Show - + My Albums - + Subscribed Albums - + Shared Albums - + View Photo - + PhotoShare - + Please select an album before requesting to edit it! - + @@ -13101,53 +13721,53 @@ requesting to edit it! Album Name - + Image - + Show/Hide Details - + << - + Stop - + >> - + Close - + Start - + Start Slide Show - + Stop Slide Show - + @@ -13155,7 +13775,7 @@ requesting to edit it! Remove - + @@ -13163,76 +13783,76 @@ requesting to edit it! TextLabel - + Show more details about this plugin - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> - + Enable this plugin (restart required) - + Enable - + Disable this plugin (restart required) - + Disable - + Launch configuration panel, if provided by the plugin - + Configure - + About - + File name: - + File hash: - + Status: - + will be enabled after your restart RetroShare. - + @@ -13240,37 +13860,37 @@ p, li { white-space: pre-wrap; } base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13278,22 +13898,22 @@ p, li { white-space: pre-wrap; } Install New Plugin... - + Open Plugin to install - + Plugins (*.so *.dll) - + Widget for plugin %1 not found on plugins frame - + @@ -13301,27 +13921,27 @@ p, li { white-space: pre-wrap; } Authorize all plugins - + Plugin look-up directories - + Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + No API number supplied. Please read plugin development manual. - + @@ -13330,37 +13950,37 @@ p, li { white-space: pre-wrap; } [loading problem] - + No SVN number supplied. Please read plugin development manual. - + Loading error. - + Missing symbol. Wrong version? - + No plugin object - + Plugins is loaded. - + Unknown status. - + @@ -13368,18 +13988,18 @@ p, li { white-space: pre-wrap; } be checked for the hash. However, in normal times, checking the hash protects you from malicious behavior of crafted plugins. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + Plugins - + @@ -13387,7 +14007,7 @@ malicious behavior of crafted plugins. Popularity - + @@ -13395,17 +14015,17 @@ malicious behavior of crafted plugins. Clear offline messages - + Hide Avatar - + Show Avatar - + @@ -13413,36 +14033,36 @@ malicious behavior of crafted plugins. Avatar - + Set your Avatar Picture - + Dock tab - + Undock tab - + Set Chat Window Color - + Set window on top - + @@ -13450,32 +14070,32 @@ malicious behavior of crafted plugins. Chat remotely closed. Please close this window. - + The person you're talking to has deleted the secured chat tunnel. You may remove the chat window now. - + Closing this window will end the conversation, notify the peer and remove the encrypted tunnel. - + Kill the tunnel? - + Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13483,12 +14103,12 @@ malicious behavior of crafted plugins. Signed by: - + Notes - + @@ -13498,42 +14118,42 @@ malicious behavior of crafted plugins. Please create or choose a Signing Id first - + Submit Post - + You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + Submit - + Submit a new Post - + Please add a Title - + Title - + Link - + @@ -13541,42 +14161,42 @@ malicious behavior of crafted plugins. Posted Links - + Posted - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + My Topics - + Subscribed Topics - + Popular Topics - + Other Topics - + @@ -13584,37 +14204,37 @@ malicious behavior of crafted plugins. Posted Topic - + Add Topic Admins - + Select Topic Admins - + Create New Topic - + Edit Topic - + Update Topic - + Create - + @@ -13622,107 +14242,117 @@ malicious behavior of crafted plugins. Subscribe to Posted - + Expand - + Remove Item - + Posted Description - + Loading - + New Posted - + Hide - + PostedItem - + 0 - + Site - + - + Comments - + Comment - + Vote up - + Vote down - + \/ - + Set as read and remove item - + New - + - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status - + Remove Item - + - + Loading - + By - + @@ -13730,57 +14360,57 @@ malicious behavior of crafted plugins. Form - + Hot - + New - + Top - + Today - + Yesterday - + This Week - + This Month - + This Year - + Submit a new Post - + Next - + @@ -13790,17 +14420,17 @@ malicious behavior of crafted plugins. Please create or choose a Signing Id before Voting - + Previous - + 1-10 - + @@ -13808,17 +14438,17 @@ malicious behavior of crafted plugins. Tabs - + Posted - + Open each topic in a new tab - + @@ -13826,7 +14456,7 @@ malicious behavior of crafted plugins. Posted - + @@ -13834,37 +14464,37 @@ malicious behavior of crafted plugins. RetroShare Message - Print Preview - + Print - + &Print... - + Page Setup... - + Zoom In - + Zoom Out - + &Close - + @@ -13873,7 +14503,7 @@ malicious behavior of crafted plugins. Profile Manager - + @@ -13883,29 +14513,29 @@ malicious behavior of crafted plugins. Email - + GID - + Export Identity - + RetroShare Identity files (*.asc) - + Identity saved - + @@ -13914,80 +14544,80 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Identity not saved - + Your identity was not saved. An error occurred. - + Import Identity - + Identity not loaded - + Your identity was not loaded properly: - + New identity imported - + Your identity was imported successfully: - + Select Trusted Friend - + Certificates (*.pqi *.pem) - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + You can use it now to create a new node. - + @@ -13996,22 +14626,22 @@ p, li { white-space: pre-wrap; } Edit status message - + Copy Certificate - + Profile Manager - + Public Information - + @@ -14021,57 +14651,57 @@ p, li { white-space: pre-wrap; } Location: - + Peer ID: - + Number of Friends: - + Version: - + Online since: - + Other Information - + My Address - + Local Address: - + External Address: - + Dynamic DNS: - + Addresses list: - + @@ -14082,12 +14712,12 @@ p, li { white-space: pre-wrap; } Sorry, create certificate failed - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -14095,51 +14725,51 @@ p, li { white-space: pre-wrap; } Post From: - + Account 1 - + Account 2 - + Account 3 - + Add to Pulse - + filter - + URL Adder - + Display As - + URL - + @@ -14149,7 +14779,7 @@ p, li { white-space: pre-wrap; } Post Pulse to Wire - + @@ -14157,323 +14787,338 @@ p, li { white-space: pre-wrap; } From - + Date - + ... - + QObject - - - + + + Confirmation - + Do you want this link to be handled by your system? - + - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. - + - + Add file - + Add files - + Do you want to process the link ? - + Do you want to process %1 links ? - + - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. - + %1 of %2 RetroShare links processed. - + File added - + Files added - + File exist - + Files exist - + Friend added - + Friends added - + Friend exist - + Friends exist - + Friend not added - + Friends not added - + Friend not found - + Friends not found - + Forum not found - + Forums not found - + Forum message not found - + Forum messages not found - + Channel not found - + Channels not found - + Channel message not found - + Channel messages not found - + + + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + Recipient not accepted - + Recipients not accepted - + Unkown recipient - + Unkown recipients - + Malformed links - + Invalid links - + Warning: forbidden characters found in filenames. Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. - + Result - + - + Unable to make path - + Unable to make path: - + Failed to process collection file - + - + Deny friend - + Make friend - + Peer details - + File Request canceled - + - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. - + Choose between:<br><ul><li><b>Ok</b> to copy the existing keyring from gnupg (safest bet), or </li><li><b>Close without saving</b> to start fresh with an empty keyring (you will be asked to create a new PGP key to work with RetroShare, or import a previously saved pgp keypair). </li><li><b>Cancel</b> to quit and forge a keyring by yourself (needs some PGP skills)</li></ul> - + - + RetroShare RetroShare - + Initialization failed. Wrong or missing installation of PGP. - + An unexpected error occurred. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + Multiple instances - + Another RetroShare using the same profile is already running on your system. Please close that instance first Lock file: - + An unexpected error occurred when Retroshare tried to acquire the single instance lock Lock file: - - - - - Start with a RetroShare link is only supported for Windows. - + Distant peer has closed the chat - + Tunnel is pending... - + Secured tunnel is working. You can talk! - + @@ -14481,186 +15126,186 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Reported error is: %2 - + - + Click to send a private message to %1 (%2). - + %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + secs - + TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + %1 days ago - + Subject: - + Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error - + unable to parse XML file! - + @@ -14668,19 +15313,19 @@ Security: no anonymous IDs Quick Start Wizard - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14689,7 +15334,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Choose which files you share.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Get started using RetroShare.</span></p></body></html> - + @@ -14697,7 +15342,7 @@ p, li { white-space: pre-wrap; } Next > - + @@ -14706,73 +15351,73 @@ p, li { white-space: pre-wrap; } Exit - + For best performance, RetroShare needs to know a little about your connection to the internet. - + Choose your download speed limit: - + KB/s - + Choose your upload speed limit: - + Connection : - + Automatic (UPnP) - + Firewalled - + Manually forwarded port - + Discovery : - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + @@ -14780,153 +15425,153 @@ p, li { white-space: pre-wrap; } < Back - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> - + Directory - + Network Wide - + Browseable - + Add - + Remove - + Automatically share incoming directory (Recommended) - + RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + Do not show a message when Closing RetroShare - + Start Minimized - + Start RetroShare when my System Starts. - + Start minimized on system start - + Finish - + Select A Folder To Share - + Shared Directory Added! - + Warning! - + Browsable - + Universal - + If checked, the share is anonymously shared to anybody. - + If checked, the share is browsable by your friends. - + @@ -14934,12 +15579,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + @@ -14947,17 +15592,17 @@ p, li { white-space: pre-wrap; } %1 KB - + %1 MB - + %1 GB - + @@ -14965,17 +15610,17 @@ p, li { white-space: pre-wrap; } Form - + The loading of embedded images is blocked. - + Load images - + @@ -14983,60 +15628,60 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15044,17 +15689,17 @@ p, li { white-space: pre-wrap; } Down - + Up - + <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15062,89 +15707,89 @@ p, li { white-space: pre-wrap; } Enable Relay Connections - + Use Relay Servers - + Relay options - + Number - + Bandwidth per link - + Total Bandwidth - + Friends - + kB/s - + Friends of Friends - + General - + Total: - + Relay Server Setup - + Add Server - + Server DHT Key - + Remove Server - + Relay - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15152,17 +15797,17 @@ p, li { white-space: pre-wrap; } Download - + Recommend in a message to - + Collection - + @@ -15170,7 +15815,7 @@ p, li { white-space: pre-wrap; } NEW - + @@ -15178,27 +15823,27 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + Unknown - + @@ -15206,33 +15851,33 @@ p, li { white-space: pre-wrap; } Add IP to whitelist - + Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15240,17 +15885,17 @@ p, li { white-space: pre-wrap; } Collection - + File name : - + Total size : - + @@ -15261,173 +15906,178 @@ p, li { white-space: pre-wrap; } Download! - + - + File - + - + Size - + Hash - + Bad filenames have been cleaned - + Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. - + Selected files : - + ... - + <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + >> - + <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + + - + Save - + - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + Real Size=%1 - + Real File Count=%1 - + Save Collection File. - + What do you want to do? - + Overwrite - + Merge - + Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + File already exists. - + <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15436,17 +16086,17 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Cannot open file %1 - + Error parsing xml file - + Open collection file - + @@ -15454,41 +16104,41 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Collection files - + Create collection file - + This file contains the string "%1" and is therefore an invalid collection file. If you believe it is correct, remove the corresponding line from the file and re-open it with Retroshare. - + Save Collection File. - + What do you want to do? - + Overwrite - + Merge - + @@ -15498,16 +16148,16 @@ If you believe it is correct, remove the corresponding line from the file and re File already exists. - + RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? - + @@ -15515,85 +16165,94 @@ Reducing image to %1x%2 pixels? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. - + Sets the directory RetroShare uses for data files. - + Sets the name and location of RetroShare's logfile. - + Sets the verbosity of RetroShare's logging. - + Sets RetroShare's interface style. - + Sets RetroShare's interface stylesheets. - + Sets RetroShare's language. - + RetroShare Usage Information - + - + Unable to open log file '%1': %2 - + built-in - + Could not create data directory: %1 - + - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -15609,282 +16268,282 @@ Reducing image to %1x%2 pixels? Enter a keyword here (at least 3 char long) - + Start Search - + Search - + Advanced Search - + Advanced - + Search inside "browsable" files of your friends - + Browsable files - + Multi-hop search at distance 6 in the network (always reports available files) - + Distant - + Include files from your own file list in the search result - + Own files - + Close all Search Results - + Clear - + KeyWords - + Results - + Search Id - + Filename - + Size - + Sources - + Type - + Age - + Hash - + Filter: - + Filter Search Result - + Max results: - + Any - + Archive - + Audio - + CD-Image - + Document - + Picture - + Program - + Video - + Directory - + Download Selected - + Download selected - + File Name - + Download - + Copy RetroShare Link - + Send RetroShare Link - + Download Notice - + Skipping Local Files - + Sorry - + This function is not yet implemented. - + Search again - + Remove - + Remove All - + Folder - + New RetroShare Link(s) - + Open Folder - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + Collection - + @@ -15892,81 +16551,81 @@ Reducing image to %1x%2 pixels? Peer details - + Expand - + Remove Item - + IP address: - + Peer ID: - + Location: - + Peer Name: - + Unknown Peer - + Hide - + but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -15974,43 +16633,43 @@ Reducing image to %1x%2 pixels? wants to be friend with you on RetroShare - + Accept Friend Request - + Peer details - + Deny friend - + Chat - + Start Chat - + Expand - + Remove Item - + @@ -16020,62 +16679,62 @@ Reducing image to %1x%2 pixels? Peer ID: - + Trust: - + Location: - + IP Address: - + Connection Method: - + Status: - + Write Message - + Connect Attempt - + Connection refused by remote peer - + Unknown (Incoming) Connect Attempt - + Unknown (Outgoing) Connect Attempt - + Unknown Security Issue - + @@ -16084,42 +16743,42 @@ Reducing image to %1x%2 pixels? Unknown Peer - + Hide - + Do you want to remove this Friend? - + Certificate has wrong signature!! This peer is not who he claims to be. - + Missing/Damaged certificate. Not a real Retroshare user. - + Certificate caused an internal error. - + Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16127,52 +16786,52 @@ Reducing image to %1x%2 pixels? Network Configuration - + Network Mode - + Nat - + Automatic (UPnP) - + Firewalled - + Manually Forwarded Port - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + @@ -16183,473 +16842,473 @@ Reducing image to %1x%2 pixels? External Address - + Dynamic DNS - + Port: - + Local network - + External ip address finder - + UPnP - + Known / Previous IPs: - + Show Discovery information in statusbar - + If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. - + Allow RetroShare to ask my ip to these websites: - + kB/s - + Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + Onion Address - + Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + Clear - + Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + Test - + Network - + IP Filters - + IP blacklist - + IP range - + Status - + Origin - + Reason - + Comment - + IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + Remove - + Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16657,27 +17316,27 @@ If you have issues connecting over Tor check the Tor logs too. Service permissions - + Service Permissions - + Use as direct source, when available - + Auto-download recommended files - + Require whitelist - + @@ -16685,27 +17344,27 @@ If you have issues connecting over Tor check the Tor logs too. ServicePermissions - + Reset - + Permissions - + hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16721,48 +17380,48 @@ If you have issues connecting over Tor check the Tor logs too. RetroShare Share Folder - + Share Folder - + Local Path - + Browse - + Virtual Folder - + Share Flags - + Edit Shared Folder - + Select A Folder To Share - + Share flags and groups: - + @@ -16770,23 +17429,23 @@ If you have issues connecting over Tor check the Tor logs too. check peers you would like to share private publish key with - + Share for Friend - + Share - + You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -16794,110 +17453,110 @@ Select the Friends with which you want to Share your Channel. RetroShare Share Manager - + Shared Folder Manager - + Directory - + Virtual Folder - + Share flags - + Groups - + Add a Share Directory - + Add - + Stop sharing selected Directory - + Remove - + Apply and close - + Edit selected Shared Directory - + Edit - + Share Manager - + Edit Shared Folder - + Warning! - + Do you really want to stop sharing this directory ? - + Drop file error. - + File can't be dropped, only directories are accepted. - + Directory not found or directory name not accepted. - + This is a list of shared folders. You can add and remove folders using the buttons at the bottom. When you add a new folder, intially all files in that folder are shared. You can separately setup share flags for each shared directory. - + @@ -16905,128 +17564,128 @@ Select the Friends with which you want to Share your Channel. Files - + Search files - + Start Search - + Reset - + Tree view - + Flat view - + All - + One day old - + One Week old - + One month old - + check files - + Download selected - + Download - + Copy retroshare Links to Clipboard - + Copy retroshare Links to Clipboard (HTML) - + Send retroshare Links - + Send retroshare Links to Cloud - + Add Links to Cloud - + RetroShare Link - + Recommendation(s) - + Add Share - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + @@ -17034,48 +17693,48 @@ Select the Friends with which you want to Share your Channel. Friend - + Go Online - + Chatmessage - + New Msg - + Message - + Message arrived - + Download - + Download complete - + Lobby - + @@ -17083,42 +17742,42 @@ Select the Friends with which you want to Share your Channel. Event: - + Filename: - + Browse - + Event - + Filename - + Open File - + Sound - + Default - + @@ -17126,30 +17785,30 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile - + Load configuration - + Create interface - + @@ -17162,17 +17821,17 @@ Select the Friends with which you want to Share your Channel. Login - + Name (PGP Id) - location: - + Remember Password - + @@ -17184,33 +17843,33 @@ Select the Friends with which you want to Share your Channel. Opens a dialog for creating a new profile or adding locations to an existing profile. The current identities/locations will not be affected. - + Load Person Failure - + Missing PGP Certificate - + Warning - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17219,7 +17878,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17228,7 +17887,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17237,7 +17896,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17245,17 +17904,17 @@ This choice can be reverted in settings. Add Friend - + Add a Friend Wizard - + Add Share - + @@ -17265,58 +17924,58 @@ This choice can be reverted in settings. Messenger - + About - + SMPlayer - + Quit - + Quick Start Wizard - + ServicePermissions - + Service permissions matrix - + DHT - + Bandwidth - + Turtle Router - + Global Router - + @@ -17330,165 +17989,165 @@ This choice can be reverted in settings. Offline - + Away - + Busy - + Online - + Idle - + Friend is offline - + Friend is away - + Friend is busy - + Friend is online - + Friend is idle - + Connected - + Unreachable - + Available - + Neighbor - + Trying TCP - + Trying UDP - + Connected: TCP - + Connected: UDP - + Connected: I2P - + Connected: Unknown - + DHT: Contact - + TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17496,30 +18155,30 @@ This choice can be reverted in settings. Status message - + Message: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> - + @@ -17528,28 +18187,28 @@ p, li { white-space: pre-wrap; } Define Style - + Choose color - + Color 2 - + Color 1 - + Style - + @@ -17559,12 +18218,12 @@ p, li { white-space: pre-wrap; } Solid - + Gradient - + @@ -17572,91 +18231,91 @@ p, li { white-space: pre-wrap; } %p Kb - + Cancel Download - + Download File - + Download - + Play File - + Play - + Save File - + ERROR - + EXTRA - + REMOTE - + DOWNLOAD - + LOCAL - + UPLOAD - + Remove Attachment - + File %1 does not exist at location. - + File %1 is not completed. - + Save Channel File - + @@ -17666,30 +18325,30 @@ p, li { white-space: pre-wrap; } Open File - + Copy RetroShare Link - + SubscribeToolButton - + Subscribed - + - + Unsubscribe - + - + Subscribe - + @@ -17697,7 +18356,7 @@ p, li { white-space: pre-wrap; } Pause - + @@ -17705,27 +18364,27 @@ p, li { white-space: pre-wrap; } Important - + Work - + Personal - + Todo - + Later - + @@ -17733,12 +18392,12 @@ p, li { white-space: pre-wrap; } Remove All Tags - + New tag ... - + @@ -17746,12 +18405,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17759,90 +18418,90 @@ p, li { white-space: pre-wrap; } Transfer options - + Maximum simultaneous downloads: - + Slots reserved for non-cache transfers: - + Default chunk strategy: - + Safety disk space limit : - + Streaming - + Progressive - + Random - + MB - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> - + Max. tunnel req. forwarded per second: - + <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -17850,45 +18509,45 @@ p, li { white-space: pre-wrap; } Download completed - + You have %1 completed downloads - + You have %1 completed download - + %1 completed downloads - + %1 completed download - + TransfersDialog - + Downloads - + Uploads - + - + Name i.e: file name @@ -17899,121 +18558,121 @@ p, li { white-space: pre-wrap; } Size i.e: file size - + Completed - + Speed i.e: Download speed - + Progress / Availability i.e: % downloaded - + Sources i.e: Sources - + Status - + Speed / Queue position - + Remaining - + Download time i.e: Estimated Time of Arrival / Time left - + Peer i.e: user name - + Progress i.e: % uploaded - + Speed i.e: upload speed - + Transferred - + Hash - + Search - + Friends files - + My files - + Download from collection file... - + Pause - + Resume - + Force Check - + @@ -18024,193 +18683,193 @@ p, li { white-space: pre-wrap; } Open Folder - + Open File - + Preview File - + Details... - + Clear Completed - + Copy RetroShare Link - + Paste RetroShare Link - + Down - + Up - + Top - + Bottom - + Streaming - + Slower - + Average - + Faster - + Random - + Progressive - + Play - + Rename file... - + Specify... - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + Move in Queue... - + Priority (Speed)... - + Chunk strategy - + Set destination directory - + Choose directory - + - + Failed - + - - + + Okay OK - - + + Waiting - - - - - Downloading - - - - - - - - Complete - + + Downloading + + + + + + + + Complete + + + + Queued - + Paused - + Checking... - + Unknown - + - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18221,22 +18880,22 @@ map of the data; it will compare and invalidate bad blocks, and download them again Try to be patient! - + Transferring - + Uploading - + Are you sure that you want to cancel and delete these files? - + @@ -18249,229 +18908,229 @@ Try to be patient! File preview - + Can't create link for file %1. - + File %1 preview failed. - + Click OK when program terminates! - + Open Transfer - + File %1 is not completed. If it is a media file, try to preview it. - + Change file name - + Please enter a new file name - + Please enter a new--and valid--filename - + - + Last Time Seen i.e: Last Time Receiced Data - + UserID - + Expand all - + Collapse all - + Size - + Show Size Column - + Show Completed Column - + Speed - + Show Speed Column - + Progress / Availability - + Show Progress / Availability Column - + Sources - + Show Sources Column - + Show Status Column - + Show Speed / Queue position Column - + Show Remaining Column - + Download time - + Show Download time Column - + Show Hash Column - + Last Time Seen - + Show Last Time Seen Column - + Columns - + File Transfers - + Path i.e: Where file is saved - + Path - + Show Path Column - + - + Could not delete preview file - + Try it again? - + - + Create Collection... - + Modify Collection... - + View Collection... - + Collection - + - + File sharing - + - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: - + @@ -18480,69 +19139,69 @@ Try to be patient! My files - + FILE - + Files - + File - + DIR - + Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + What's new - + Groups - + @@ -18551,13 +19210,13 @@ Try to be patient! Search requests - + Tunnel requests - + @@ -18566,28 +19225,28 @@ Try to be patient! Unknown hashes - + Tunnel id - + last transfer - + Speed - + Request id: %1 from [%2] %3 secs ago - + @@ -18595,12 +19254,12 @@ Try to be patient! Router Statistics - + F2F router information - + @@ -18608,42 +19267,42 @@ Try to be patient! Router Statistics - + Age in seconds - + Depth - + total - + Anonymous tunnels - + Authenticated tunnels - + Unknown Peer - + Turtle Router - + @@ -18651,47 +19310,47 @@ Try to be patient! Search requests repartition - + Tunnel requests repartition - + Turtle router traffic - + Tunnel requests Up - + Tunnel requests Dn - + Incoming file data - + Outgoing file data - + TR Forward probabilities - + Forwarded data - + @@ -18703,7 +19362,7 @@ Try to be patient! Loading - + @@ -18711,22 +19370,22 @@ Try to be patient! B - + KB - + MB - + GB - + @@ -18734,22 +19393,22 @@ Try to be patient! You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + @@ -18767,27 +19426,27 @@ Try to be patient! Yes - + No - + Help - + Retry - + Show Log - + @@ -18802,12 +19461,12 @@ Try to be patient! Quit - + Browse - + @@ -18815,62 +19474,62 @@ Try to be patient! Form - + Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -18878,123 +19537,123 @@ Try to be patient! Basic Details - + Group Name: - + Category: - + Travel - + Holiday - + Friends - + Family - + Work - + Random - + Description: - + Share Options - + Public - + All Friends - + Restricted - + N/A - + University Friends - + This List Contains - + All your Groups - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with XXX Key - + Cancel - + Create Group - + @@ -19003,107 +19662,107 @@ Try to be patient! Wiki Pages - + New Group - + Page Name - + Page Id - + Orig Id - + << - + >> - + Republish - + Edit - + New Page - + Refresh - + Search - + My Groups - + Subscribed Groups - + Popular Groups - + Other Groups - + Subscribe to Group - + Unsubscribe to Group - + Todo - + Show Wiki Group - + Edit Wiki Group - + @@ -19111,85 +19770,85 @@ Try to be patient! Page Edit History - + Enable Obsolete Edits - + Choose for Merge - + Merge for Republish (TODO) - + Publish Date - + By - + PageId - + \/ - + /\ - + Wiki Group: - + Page Name: - + Previous Version - + Tags - + Show Edit History - + Status - + Preview - + @@ -19199,39 +19858,39 @@ Try to be patient! Revert - + Submit - + Hide Edit History - + Edit Page - + Create New Wiki Page - + Republish - + Edit Wiki Page - + @@ -19239,37 +19898,37 @@ Try to be patient! Create New Wiki Group - + Wiki Group - + Edit Wiki Group - + Add Wiki Moderators - + Select Wiki Moderators - + Create Group - + Update Group - + @@ -19277,98 +19936,98 @@ Try to be patient! TimeRange - + All - + Last Month - + Last Week - + Today - + New - + from - + until - + Search/Filter - + Network Wide - + Manage Accounts - + Showing: - + Yourself - + Friends - + Following - + Custom - + Account 1 - + Account 2 - + Account 3 - + @@ -19377,12 +20036,12 @@ Try to be patient! CheckBox - + Post Pulse to Wire - + @@ -19391,112 +20050,112 @@ Try to be patient! Unknown Unknown (size) - + B bytes - + KB kilobytes (1024 bytes) - + MB megabytes (1024 kilobytes) - + GB gigabytes (1024 megabytes) - + TB, terabytes (1024 gigabytes) - + TB terabytes (1024 gigabytes) - + Unknown - + < 1m < 1 minute - + %1 minutes e.g: 10minutes - + %1h %2m e.g: 3hours 5minutes - + %1d %2h e.g: 2days 10hours - + %1y %2d e.g: 2 years 2days - + k e.g: 3.1 k - + M e.g: 3.1 M - + G e.g: 3.1 G - + T e.g: 3.1 T - + Load avatar image - + Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_de.ts b/retroshare-gui/src/lang/retroshare_de.ts index f3cb5c77a..4470cd4dd 100644 --- a/retroshare-gui/src/lang/retroshare_de.ts +++ b/retroshare-gui/src/lang/retroshare_de.ts @@ -1,4 +1,6 @@ - + + + AWidget @@ -28,7 +30,7 @@ Copy Info - + @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file Entschuldigung. Es konnte kein Standardprogramm zum Öffnen gefunden werden @@ -305,7 +307,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -427,7 +429,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -475,7 +477,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -488,7 +490,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -558,7 +560,7 @@ p, li { white-space: pre-wrap; } On List Ite&m - + @@ -658,7 +660,7 @@ p, li { white-space: pre-wrap; } Disable SysTray ToolTip - + @@ -775,7 +777,7 @@ Aber denke daran, dass alle Daten hier VERLOREN gehen werden, wenn wir die Proto BWGraphSource - + KB/s KB/s @@ -1005,7 +1007,7 @@ Aber denke daran, dass alle Daten hier VERLOREN gehen werden, wenn wir die Proto Log scale - + @@ -1053,6 +1055,11 @@ Aber denke daran, dass alle Daten hier VERLOREN gehen werden, wenn wir die Proto Mute participant Teilnehmer stumm schalten + + + Ban this person (Sets negative opinion) + + Send Message @@ -1061,15 +1068,15 @@ Aber denke daran, dass alle Daten hier VERLOREN gehen werden, wenn wir die Proto Sort by Name - + Nach Name sortieren Sort by Activity - + - + Invite friends to this lobby Freunde in diese Lobby einladen @@ -1089,7 +1096,7 @@ Aber denke daran, dass alle Daten hier VERLOREN gehen werden, wenn wir die Proto Einzuladende Freunde auswählen: - + Welcome to lobby %1 Willkommen in der Lobby %1 @@ -1105,7 +1112,7 @@ Aber denke daran, dass alle Daten hier VERLOREN gehen werden, wenn wir die Proto Lobbychat - + Lobby management @@ -1152,12 +1159,12 @@ Aber denke daran, dass alle Daten hier VERLOREN gehen werden, wenn wir die Proto Sekunden - + Start private chat Privaten Chat starten - + Decryption failed. Entschlüsselung fehlgeschlagen. @@ -1242,12 +1249,12 @@ Aber denke daran, dass alle Daten hier VERLOREN gehen werden, wenn wir die Proto ChatLobbyWidget - + Chat lobbies Chatlobbys - + Name Name @@ -1285,7 +1292,7 @@ Aber denke daran, dass alle Daten hier VERLOREN gehen werden, wenn wir die Proto [Kein Thema angegeben] - + Selected lobby info Info zur ausgewählten Lobby @@ -1302,7 +1309,7 @@ Aber denke daran, dass alle Daten hier VERLOREN gehen werden, wenn wir die Proto Anonymous IDs accepted - + @@ -1325,7 +1332,7 @@ Aber denke daran, dass alle Daten hier VERLOREN gehen werden, wenn wir die Proto %1 lädt dich in eine Chat-Lobby namens %2 ein - + Search Chat lobbies Chatlobbys durchsuchen @@ -1342,12 +1349,12 @@ Aber denke daran, dass alle Daten hier VERLOREN gehen werden, wenn wir die Proto <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + @@ -1365,7 +1372,7 @@ Aber denke daran, dass alle Daten hier VERLOREN gehen werden, wenn wir die Proto Nein - + Lobby Name: Lobbyname: @@ -1451,7 +1458,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + @@ -1461,7 +1468,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. You will need to create a non anonymous identity in order to join this chat lobby. - + @@ -1532,7 +1539,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Abbrechen - + Quick Message Kurznachricht @@ -1541,34 +1548,34 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. ChatPage - + General Allgemein - + Distant Chat - + Everyone - + Contacts - + Kontakte Nobody - + Accept encrypted distant chat from - + @@ -1620,6 +1627,11 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Send message with Ctrl+Return Nachricht mit Strg+Enter senden + + + Send as plain text by default + + Chat Lobby @@ -1725,7 +1737,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Ausgehend - + Incoming message in history Eingehende Nachricht aus dem Verlauf @@ -1762,12 +1774,12 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. UserName - + /me is sending a message with /me - + @@ -1860,7 +1872,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Leiste standardmäßig anzeigen - + Private chat invite from Private Chateinladung von @@ -1883,7 +1895,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. ChatStyle - + Standard style for group chat Standardstil für den Gruppenchat @@ -1937,12 +1949,12 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Schließen - + Send Senden - + Bold Fett @@ -1957,12 +1969,12 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Kursiv - + Attach a Picture Bild anhängen - + Strike Durchgestrichen @@ -2013,42 +2025,70 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Schriftart auf Standard zurücksetzen - + Quote - + Blockquote Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... tippt... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? Möchtest du wirklich den Nachrichtenverlauf löschen? - + Add Extra File Zusätzliche Datei hinzufügen @@ -2093,7 +2133,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. antwortet möglicherweise nicht, da der Status auf "Beschäftigt" gesetzt wurde - + Find Case Sensitively Unter Berücksichtigung von Groß-/Kleinschreibung suchen @@ -2115,7 +2155,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Nach Finden von X Elementen mit dem Einfärben nicht aufhören (benötigt mehr CPU) - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> <b>Vorherige finden </b><br/><i>Strg+Umschalt+G</i> @@ -2130,12 +2170,12 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. <b>Finden </b><br/><i>Strg+F</i> - + (Status) (Status) - + Set text font & color Schriftart & Textfarbe festlegen @@ -2145,7 +2185,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Datei anhängen - + WARNING: Could take a long time on big history. WARNUNG: Könnte bei einem großen Verlauf lange dauern. @@ -2156,17 +2196,16 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. - + <b>Mark this selected text</b><br><i>Ctrl+M</i> <b>Markiere diesen ausgewählten Text</b><br><i>Strg+M</i> - %1This message consists of %2 characters. - %1Diese Nachricht besteht aus %2 Zeichen. + %1Diese Nachricht besteht aus %2 Zeichen. - + items found. Elemente gefunden. @@ -2181,22 +2220,20 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. <b>Kehre zum markierten Text zurück</b><br><i>Strg+M</i> - Display Search Box - Suchfeld anzeigen + Suchfeld anzeigen - Search Box - Suchfeld + Suchfeld - + Type a message here Hier eine Nachricht eingeben - + Don't stop to color after Nach Finden von @@ -2206,9 +2243,8 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Elementen mit dem Einfärben nicht aufhören (benötigt mehr CPU) - Warning: - Warnung: + Warnung: @@ -2227,7 +2263,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. CirclesDialog - + Showing details: Detailanzeige: @@ -2249,7 +2285,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. - + Personal Circles Persönliche Kreise @@ -2275,7 +2311,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. - + Friends Freunde @@ -2335,7 +2371,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Freunde von Freunden - + External Circles (Admin) Externe Kreise (Admin) @@ -2359,7 +2395,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. ConfCertDialog - + Details Details @@ -2375,7 +2411,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. - + Local Address Lokale Adresse @@ -2402,36 +2438,39 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Adressliste - + + Use this certificate to make friends: + + + + Include signatures Signaturen einschließen - - + + RetroShare RetroShare - - + + Error : cannot get peer details. Fehler: Kann Nachbardetails nicht ermitteln. - Use as direct source, when available - Wenn verfügbar als direkte Quelle nutzen. + Wenn verfügbar als direkte Quelle nutzen. - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - <html><head/><body><p align="justify">Zur Herstellung einer direkten Übertragung prüft Retroshare periodisch die Dateilisten deiner Freunde auf deinen Transfers entsprechende Dateien. In diesem Fall weiß dein Freund, dass DU die Datei herunterlädst</p><p align="justify">Um dieses Verhalten nur für diesen Freund zu verhindern, entferne den Haken aus der Checkbox. Du kannst dennoch eine direkte Übertragung durchführen, wenn du es ausdrücklich wünschst, z. B. durch Herunterladen aus der Dateiliste deines Freundes.</p></body></html> + <html><head/><body><p align="justify">Zur Herstellung einer direkten Übertragung prüft Retroshare periodisch die Dateilisten deiner Freunde auf deinen Transfers entsprechende Dateien. In diesem Fall weiß dein Freund, dass DU die Datei herunterlädst</p><p align="justify">Um dieses Verhalten nur für diesen Freund zu verhindern, entferne den Haken aus der Checkbox. Du kannst dennoch eine direkte Übertragung durchführen, wenn du es ausdrücklich wünschst, z. B. durch Herunterladen aus der Dateiliste deines Freundes.</p></body></html> - + Encryption Verschlüsselung @@ -2446,17 +2485,16 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Adressen des Nachbarn - Options - Optionen + Optionen - + Retroshare node details RetroShare-Netzknotendetails - + Node name : Netzknotenname : @@ -2491,22 +2529,16 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. RetroShare-Zertifikat - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - Auto-download recommended files from this node - Empfohlene Dateien automatisch von diesem Netzknoten herunterladen + Empfohlene Dateien automatisch von diesem Netzknoten herunterladen - + Friend node details Freundknotendetails - + Hidden Address Versteckte Adresse @@ -2542,17 +2574,15 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Du kannst dieses Zertifikat zum Schließen von neuen Freundschaften verwenden. Versende es per E-Mail oder gib es von Hand zu Hand. - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - <html><head/><body><p>Nachbarn mit dieser Option können sich nicht verbinden, wenn ihre Adresse nicht in der Whitelist eingetragen ist. Das schützt dich vor Attacken per Verbindungsweiterleitung. Bei Benutzung wirst du über abgelehnte Nachbarn mit einem &quot;Sicherheitshinweis&quot; in Neuigkeiten informiert. Von dort aus kannst du iihre IP sperren/freigeben</p></body></html> + <html><head/><body><p>Nachbarn mit dieser Option können sich nicht verbinden, wenn ihre Adresse nicht in der Whitelist eingetragen ist. Das schützt dich vor Attacken per Verbindungsweiterleitung. Bei Benutzung wirst du über abgelehnte Nachbarn mit einem &quot;Sicherheitshinweis&quot; in Neuigkeiten informiert. Von dort aus kannst du iihre IP sperren/freigeben</p></body></html> - Require white list clearance - Whitelist-Freigabe erfordern + Whitelist-Freigabe erfordern - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> <html><head/><body><p>Dies ist die ID des <span style=" font-weight:600;">OpenSSL</span>-Zertifikates des Netzknotens, welches mit obigem <span style=" font-weight:600;">PGP</span>-Schlüssel signiert wurde.</p></body></html> @@ -2628,12 +2658,12 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + @@ -2723,7 +2753,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Invite your Friends from other Networks to RetroShare. - + @@ -2753,7 +2783,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Email - + E-Mail @@ -2821,7 +2851,7 @@ Doppelklicke auf Lobbys um sie zu betreten und zu chatten. Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + @@ -2838,33 +2868,33 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + @@ -3179,7 +3209,7 @@ resources. The text below is your Retroshare certificate. You have to provide it to your friend - + @@ -3725,11 +3755,11 @@ Das Zertifikat hat die falsche Versionsnummer. Beachte, dass v0.6- und v0.5-Netz <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -3788,68 +3818,80 @@ p, li { white-space: pre-wrap; } CreateCircleDialog - + + + + Circle Details Kreisdetails - - + Name Name - Creator - Ersteller + Ersteller - Distribution - Verteilung + Verteilung - + Public Öffentlich - Self-Restricted - Selbstbeschränkt + Selbstbeschränkt - Restricted to: - Beschränkt auf: + Beschränkt auf: - Circle Membership - Kreismitgliedschaft + Kreismitgliedschaft - + IDs IDs - Known Identities - Bekannte Identitäten + Bekannte Identitäten - + Filter Filter - + Nickname Spitzname - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ID @@ -3859,55 +3901,104 @@ p, li { white-space: pre-wrap; } Typ - - - - + + Name: + Name: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + Privat + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare RetroShare - + Please set a name for your Circle Bitte einen Namen für deinen Kreis vergeben. - Personal Circle Details - Details für persönlichen Kreis + Details für persönlichen Kreis - External Circle Details - Details für externen Kreis + Details für externen Kreis - Cannot Edit Existing Circles Yet - Kann bestehenden Kreis noch nicht bearbeiten + Kann bestehenden Kreis noch nicht bearbeiten - + No Restriction Circle Selected Kein Einschränkungskreis ausgewählt - + No Circle Limitations Selected Keine Einschränkungen für Kreis gewählt - Create New Personal Circle - Neuen persönlichen Kreis erstellen + Neuen persönlichen Kreis erstellen - Create New External Circle - Neuen externen Kreis erstellen + Neuen externen Kreis erstellen - + Add Hinzufügen @@ -3917,13 +4008,13 @@ p, li { white-space: pre-wrap; } Entfernen - + Search Suchen - + All Alle @@ -3938,49 +4029,98 @@ p, li { white-space: pre-wrap; } Von bekannten Netzknoten unterzeichnet - + Edit Circle Kreis bearbeiten - - + PGP Identity PGP-Identität - - - + + + Anon Id Anonyme ID + + + Circle name + + + + + Update + + + Close + Schließen + + + + + Create New Circle + + + + + Create + Erstellen + + + PGP Linked Id PGP-verknüpfte ID + + + Add Member + + + + + Remove Member + + CreateGroup - + Create a Group Gruppe erstellen - - Group Name - Name + + Group Name: + Gruppenname: - + + Group ID: + + + + Group Name + Name + + + Enter a name for your group Gib einen Namen für deine Gruppe ein - + + To be defined + + + + Friends Freunde @@ -4014,9 +4154,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -4145,7 +4285,7 @@ p, li { white-space: pre-wrap; } CreateGxsForumMsg - + Post Forum Message Forumsbeitrag veröffentlichen @@ -4190,12 +4330,12 @@ p, li { white-space: pre-wrap; } Neues Thema erstellen - + No Forum Kein Forum - + In Reply to Als Antwort auf @@ -4221,9 +4361,19 @@ p, li { white-space: pre-wrap; } Add Extra File Zusätzliche Datei hinzufügen + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data Massendaten erzeugen @@ -4233,12 +4383,12 @@ p, li { white-space: pre-wrap; } Möchtest du wirklich %1 Nachrichten erzeugen? - + Send Senden - + Forum Message Forumbeitrag @@ -4301,7 +4451,7 @@ Willst du diesen Beitrag verwerfen <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + @@ -4326,12 +4476,12 @@ Willst du diesen Beitrag verwerfen Put a sensible lobby name here - + Set a descriptive topic here - + @@ -4500,7 +4650,7 @@ Willst du diesen Beitrag verwerfen <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + @@ -4526,7 +4676,7 @@ Willst du diesen Beitrag verwerfen No peer found in DHT - + @@ -4781,7 +4931,7 @@ Willst du diesen Beitrag verwerfen Copy %1 to clipboard - + @@ -5037,7 +5187,7 @@ Willst du diesen Beitrag verwerfen Relays - + @@ -5146,7 +5296,7 @@ Willst du diesen Beitrag verwerfen Relay - + Relay @@ -5200,7 +5350,7 @@ Willst du diesen Beitrag verwerfen Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. Prüfsummen von Dateien merken, auch wenn sie nicht mehr freigegeben sind. @@ -5661,7 +5811,7 @@ Das ist nützlich, wenn du eine externe Festplatte freigibst und die Dateien nic export your friendlist including groups - + @@ -5671,7 +5821,7 @@ Das ist nützlich, wenn du eine externe Festplatte freigibst und die Dateien nic import your friendlist including groups - + @@ -5686,7 +5836,7 @@ Das ist nützlich, wenn du eine externe Festplatte freigibst und die Dateien nic Gruppen anzeigen - + Group Gruppe @@ -5727,7 +5877,7 @@ Das ist nützlich, wenn du eine externe Festplatte freigibst und die Dateien nic Zu Gruppe hinzufügen - + Search Suchen @@ -5737,7 +5887,7 @@ Das ist nützlich, wenn du eine externe Festplatte freigibst und die Dateien nic Nach Status sortieren - + Move to group In Gruppe verschieben @@ -5772,12 +5922,12 @@ Das ist nützlich, wenn du eine externe Festplatte freigibst und die Dateien nic Verfügbar - + Do you want to remove this Friend? Möchtest du diesen Freund entfernen? - + Done! Fertig! @@ -5793,7 +5943,7 @@ Das ist nützlich, wenn du eine externe Festplatte freigibst und die Dateien nic (keep in mind that the file is unencrypted!) - + @@ -5806,29 +5956,29 @@ Das ist nützlich, wenn du eine externe Festplatte freigibst und die Dateien nic Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + @@ -5867,7 +6017,7 @@ at least one peer was not added to a group IP - + Attempt to connect Verbindung versuchen @@ -5897,7 +6047,7 @@ at least one peer was not added to a group Freundknoten entfernen - + Do you want to remove this node? Möchtest du diesen Netzknoten entfernen? @@ -5907,7 +6057,7 @@ at least one peer was not added to a group Befreundete Netzknoten - + Send message to whole group Nachricht an ganze Gruppe senden @@ -5970,7 +6120,7 @@ at least one peer was not added to a group Freunde suchen - + Mark all Alle markieren @@ -6079,7 +6229,7 @@ at least one peer was not added to a group <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + @@ -6165,7 +6315,12 @@ Eingabe einer falschen E-Mail-Adresse anonym bleiben. Passwort (Check) - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> <html><head/><body><p align="justify">Vor dem Fortfahren bitte die Maus umherbewegen, um für Retroshare möglichst viele Zufallswerte zu sammeln. Das Auffüllen des Fortschrittsbalkens auf 20% ist erforderlich, 100% werden empfohlen.</p></body></html> @@ -6229,7 +6384,7 @@ Eingabe einer falschen E-Mail-Adresse anonym bleiben. Das Feld Netzknoten ist mit min. 3 Zeichen zu versehen - + Failed to generate your new certificate, maybe PGP password is wrong! Das Erzeugen deines neuen Zertifikats ist fehlgeschlagen. Vielleicht ist das PGP-Passwort falsch? @@ -6263,7 +6418,7 @@ Alternativ kannst Du ein bereits existierendes Profil benutzen. Entferne einfach - + Create a new profile Neues Profil erstellen @@ -6314,12 +6469,7 @@ Alternativ kannst Du ein bereits existierendes Profil benutzen. Entferne einfach <html><head/><body><p>Dies ist dein Verbindungsport.</p><p>Ein Wert zwischen 1024 und 65535 </p><p>sollte ok sein. Du kannst ihn später ändern.</p></body></html> - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length PGP-Schlüssellänge @@ -6343,7 +6493,7 @@ Alternativ kannst Du ein bereits existierendes Profil benutzen. Entferne einfach [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + @@ -6464,7 +6614,7 @@ und den Import zum Laden verwenden Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + @@ -6475,12 +6625,12 @@ und den Import zum Laden verwenden - + Profile generation failure Profilerzeugung fehlgeschlagen - + Missing PGP certificate Fehlendes PGP-Zertifikat @@ -6548,8 +6698,12 @@ Gib dein PGP-Passwort ein sobald Du gefragt wirst, um deinen neuen Schlüssel zu + Register retroshare:// as URL protocol + + + Register retroshare:// as URL protocol (Restart required) - retroshare:// als Protokoll registrieren (Neustart erforderlich) + retroshare:// als Protokoll registrieren (Neustart erforderlich) @@ -6557,7 +6711,27 @@ Gib dein PGP-Passwort ein sobald Du gefragt wirst, um deinen neuen Schlüssel zu Du benötigst Administratorrechte zum Ändern dieser Einstellung. - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle Untätig @@ -6577,7 +6751,17 @@ Gib dein PGP-Passwort ein sobald Du gefragt wirst, um deinen neuen Schlüssel zu Den Startassistenten aufrufen - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error Fehler @@ -6598,7 +6782,7 @@ Gib dein PGP-Passwort ein sobald Du gefragt wirst, um deinen neuen Schlüssel zu Allgemein - + Minimize to Tray Icon In Benachrichtigungsfeld minimieren @@ -6622,7 +6806,7 @@ Gib dein PGP-Passwort ein sobald Du gefragt wirst, um deinen neuen Schlüssel zu <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> @@ -6655,18 +6839,18 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6678,31 +6862,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6715,7 +6899,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + @@ -6828,7 +7012,7 @@ p, li { white-space: pre-wrap; } GroupBox - + @@ -6838,7 +7022,7 @@ p, li { white-space: pre-wrap; } Identity Name - + @@ -6857,33 +7041,45 @@ p, li { white-space: pre-wrap; } + Stored data size + + + + + Receive time (secs ago) + + + + + Sending time (secs ago) + + + Data size - Datengröße + Datengröße - + Data hash - + - Received - Empfangen + Empfangen - Send - Senden + Senden - + Branching factor - + Details - + Details @@ -6916,7 +7112,7 @@ p, li { white-space: pre-wrap; } [Unknown identity] - + @@ -6932,6 +7128,14 @@ p, li { white-space: pre-wrap; } Gruppenchat anzeigen + + GroupChooser + + + [Unknown] + [Unbekannt] + + GroupDefs @@ -7065,17 +7269,26 @@ p, li { white-space: pre-wrap; } Kontakte: - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer Bitte wähle mindestens einen Nachbarn - Share channel admin permissions - Kanal-Administratorrechte teilen + Kanal-Administratorrechte teilen - + Share forum admin permissions Forum-Administratorrechte teilen @@ -7095,9 +7308,8 @@ p, li { white-space: pre-wrap; } Du kannst deinen Freunden die Bearbeitung des Themas erlauben, indem du sie in der Liste unten auswählst. Hinweis: Der Widerruf von Posted-Administratorrechten ist nicht möglich. - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - Du kannst deinen Freunden erlauben, in deinem Kanal zu veröffentlichen und die Beschreibung zu ändern. Du kannst die Administratorrechte an eine andere RetroShare-Instanz schicken. Wähle die Freunde aus, denen es erlaubt sein soll, in diesem Kanal zu veröffentlichen. Bemerkung: Es ist nicht möglich, die Kanal-Administratorrechte zu widerrufen. + Du kannst deinen Freunden erlauben, in deinem Kanal zu veröffentlichen und die Beschreibung zu ändern. Du kannst die Administratorrechte an eine andere RetroShare-Instanz schicken. Wähle die Freunde aus, denen es erlaubt sein soll, in diesem Kanal zu veröffentlichen. Bemerkung: Es ist nicht möglich, die Kanal-Administratorrechte zu widerrufen. @@ -7140,7 +7352,17 @@ p, li { white-space: pre-wrap; } Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + @@ -7148,12 +7370,11 @@ p, li { white-space: pre-wrap; } Anzeigen - You have admin rights - Sie haben Administratorrechte + Sie haben Administratorrechte - + Subscribe to download and read messages Abonnieren, um Nachrichten herunterzuladen und zu lesen @@ -7282,7 +7503,7 @@ p, li { white-space: pre-wrap; } <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + @@ -7498,6 +7719,16 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Lesestatus der Nachricht umschalten @@ -7508,7 +7739,7 @@ p, li { white-space: pre-wrap; } - + Play Abspielen @@ -7545,12 +7776,12 @@ p, li { white-space: pre-wrap; } Element entfernen - + Channel Feed Kanal - + Files Dateien @@ -7590,12 +7821,12 @@ p, li { white-space: pre-wrap; } Das gefällt mir nicht - + Loading Lade - + Open Offen @@ -7613,7 +7844,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel In Kanal veröffentlichen @@ -7628,7 +7859,7 @@ p, li { white-space: pre-wrap; } Kanäle durchsuchen - + Title Titel @@ -7663,7 +7894,32 @@ p, li { white-space: pre-wrap; } Keinen Kanal gewählt - + + Public + Öffentlich + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download Auto-Download deaktivieren @@ -7683,7 +7939,23 @@ p, li { white-space: pre-wrap; } Zeige Dateien - + + Administrator: + + + + + + unknown + unbekannt + + + + Distribution: + + + + Feeds Feeds @@ -7693,17 +7965,17 @@ p, li { white-space: pre-wrap; } Dateien - + Subscribers Abonnenten - + Description: Beschreibung: - + Posts (at neighbor nodes): Beiträge (bei Nachbarknoten) @@ -7827,7 +8099,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -7988,7 +8260,7 @@ bevor du kommentieren kannst. Formular - + Start new Thread for Selected Forum Ein neues Thema im ausgewählten Forum starten @@ -8014,7 +8286,7 @@ bevor du kommentieren kannst. - + Title Titel @@ -8027,18 +8299,18 @@ bevor du kommentieren kannst. - + Author Autor Save image - + - + Loading Lade @@ -8105,12 +8377,12 @@ bevor du kommentieren kannst. Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + @@ -8163,33 +8435,73 @@ bevor du kommentieren kannst. This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + Öffentlich + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + Verteilung + + + Anti-spam - + [ ... Redacted message ... ] - + @@ -8214,22 +8526,22 @@ bevor du kommentieren kannst. <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8285,7 +8597,7 @@ bevor du kommentieren kannst. Am %1, schrieb %2: - + Forum name Forumsname @@ -8300,7 +8612,7 @@ bevor du kommentieren kannst. Beiträge (an Nachbarknoten) - + Description Beschreibung @@ -8310,7 +8622,7 @@ bevor du kommentieren kannst. Von - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> <p>Das Abonnieren eines Foums sammelt verfügbare Beiträge von deinen Freunden, die das Forum ebenfalls abonniert haben und macht das Forum für alle anderen Freunde sichtbar</p><p>Danach kannst du das Forum über das Kontextmenü der Forenliste auf der linken Seite wieder abbestellen</p> @@ -8333,7 +8645,7 @@ bevor du kommentieren kannst. <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + @@ -8388,13 +8700,13 @@ bevor du kommentieren kannst. GxsGroupDialog - - + + Name Name - + Add Icon Icon hinzufügen @@ -8409,7 +8721,7 @@ bevor du kommentieren kannst. Veröffentlichungsschlüssel freigeben - + check peers you would like to share private publish key with Markiere die Nachbarn, an welche du den privaten Veröffentlichungsschlüssel verteilen willst @@ -8419,36 +8731,40 @@ bevor du kommentieren kannst. Schlüssel verteilen an - - + + Description Beschreibung - + Message Distribution Nachrichtenverteilung - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public Öffentlich - - Restricted to Group - Auf Gruppen beschränkt + Auf Gruppen beschränkt - - + Only For Your Friends Nur für deine Freunde - + Publish Signatures Signaturen veröffentlichen @@ -8494,12 +8810,11 @@ bevor du kommentieren kannst. - Comments Kommentare - + Allow Comments Kommentare erlauben @@ -8511,71 +8826,107 @@ bevor du kommentieren kannst. Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + Kommentare - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + TextLabel - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: Kontakte: - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name Bitte Name hinzufügen - + + PGP signature from known ID required + + + + Load Group Logo Gruppenlogo laden - + Submit Group Changes Gruppenänderungen übermitteln - + Failed to Prepare Group MetaData - please Review Aufbereiten der Gruppenmetadaten fehlgeschlagen - bitte überprüfen - + Will be used to send feedback Wird zum Senden von Rückmeldungen genutzt werden @@ -8585,52 +8936,94 @@ bevor du kommentieren kannst. Eigentümer: - + Set a descriptive description here Gib hier eine aussagekräftige Beschreibung ein - + Info Info - Comments allowed - Kommentare erlaubt + Kommentare erlaubt - Comments not allowed - Kommentare nicht erlaubt + Kommentare nicht erlaubt - + ID ID - + Last Post Letzter Beitrag + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity Beliebtheit - + Posts Beiträge - Type - Typ + Typ - + Author Autor @@ -8688,7 +9081,12 @@ bevor du kommentieren kannst. Details bearbeiten - + + Share publish permissions + + + + Copy RetroShare Link RetroShare-Link kopieren @@ -8703,25 +9101,24 @@ bevor du kommentieren kannst. Alle als ungelesen markieren - + AUTHD AUTHD - Share admin permissions - Administratorrechte teilen + Administratorrechte teilen GxsIdChooser - + No Signature Keine Signatur - + Create new Identity Neue Identität erstellen @@ -8729,7 +9126,7 @@ bevor du kommentieren kannst. GxsIdDetails - + Loading Lade @@ -8748,7 +9145,7 @@ bevor du kommentieren kannst. [Banned] - + @@ -8805,42 +9202,42 @@ bevor du kommentieren kannst. Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + Unbekannter Nachbar @@ -9075,7 +9472,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9106,7 +9503,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9116,11 +9513,11 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + @@ -9165,7 +9562,7 @@ p, li { white-space: pre-wrap; } IdDetailsDialog - + Person Details Personendetails @@ -9218,7 +9615,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + @@ -9235,13 +9632,13 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9251,9 +9648,9 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + @@ -9273,7 +9670,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + @@ -9343,19 +9740,20 @@ p, li { white-space: pre-wrap; } Banned - + IdDialog - + + New ID Neue ID - - + + All Alle @@ -9371,39 +9769,75 @@ p, li { white-space: pre-wrap; } Suchen - Unknown real name - Unbekannter Klarname + Unbekannter Klarname - + Anonymous Id Anonyme ID - + Create new Identity Neue Identität erstellen - - Persons - + + Create new circle + - + + Persons + + + + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + Kreise + + + + Circle name + + + + + Membership + Mitgliedschaft + + + + Public Circles + Öffentliche Kreise + + + + Personal Circles + Persönliche Kreise + + + Edit identity Identität bearbeiten @@ -9424,7 +9858,7 @@ p, li { white-space: pre-wrap; } Stellt Fernchat mit diesem Nachbarn her - + Owner node ID : Eigentümerknoten-ID @@ -9434,22 +9868,22 @@ p, li { white-space: pre-wrap; } Identitätsname : - + () - + - + Identity ID Identitäts-ID - + Send message Nachricht senden - + Identity info Identitätsinformationen @@ -9471,12 +9905,12 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + @@ -9506,7 +9940,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + @@ -9514,48 +9948,273 @@ p, li { white-space: pre-wrap; } Insgesamt: - - Contacts - - - - Owned by you - In deinem Besitz + In deinem Besitz - + Anonymous Anonym - + ID - + Search ID - + - + This identity is owned by you Diese Identität gehört dir - Unknown PGP key - unbekannter PGP-Schlüssel + unbekannter PGP-Schlüssel - - Unknown key ID - unbekannte Schlüssel-ID + unbekannte Schlüssel-ID - + + My own identities + + + + + My contacts + + + + + Owned by myself + + + + + Linked to my node + + + + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + Öffentlich + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + Status: + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + unbekannt + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + Kreis bearbeiten + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node Dir gehörende, mit deinem RetroShare-Netzknoten verknüpfte Identität @@ -9577,32 +10236,32 @@ p, li { white-space: pre-wrap; } Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + @@ -9617,28 +10276,28 @@ p, li { white-space: pre-wrap; } Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + Danke, <br> - - - - + + + + People Leute @@ -9649,12 +10308,11 @@ p, li { white-space: pre-wrap; } Dein Avatar - Linked to your node - Mit deinem Netzknoten verknüpft + Mit deinem Netzknoten verknüpft - + Linked to neighbor nodes Mit Nachbarknoten verknüpft @@ -9664,12 +10322,7 @@ p, li { white-space: pre-wrap; } Mit entfernten Netzknoten verknüpft - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node Mit befreundetem RetroShare-Netzknoten verknüpft @@ -9684,7 +10337,7 @@ p, li { white-space: pre-wrap; } Mit unbekanntem RetroShare-Netzknoten verknüpft - + Chat with this person Mit dieser Person chatten @@ -9704,7 +10357,7 @@ p, li { white-space: pre-wrap; } Zuletzt verwendet: - + +50 Known PGP +50 PGP bekannt @@ -9719,17 +10372,17 @@ p, li { white-space: pre-wrap; } +5 Anonyme ID - + Do you really want to delete this identity? Möchtest du diese Identität wirklich löschen? - + Owned by Im Besitz von - + Node name: Netzknotenname: @@ -9739,7 +10392,7 @@ p, li { white-space: pre-wrap; } Netzknoten-ID : - + Really delete? Wirklich löschen? @@ -9917,25 +10570,25 @@ p, li { white-space: pre-wrap; } - + GXS name: GXS-Name: - - + + PGP name: PGP-Name: - + GXS id: GXS-ID: - + PGP id: PGP-ID: @@ -9950,7 +10603,7 @@ p, li { white-space: pre-wrap; } - + Copy Kopieren @@ -9986,17 +10639,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -10051,7 +10704,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Add Friend Freund hinzufügen @@ -10067,7 +10720,7 @@ p, li { white-space: pre-wrap; } - + Options Optionen @@ -10101,12 +10754,12 @@ p, li { white-space: pre-wrap; } Schnellstart-Assistent - + RetroShare %1 a secure decentralized communication platform RetroShare %1 - eine sichere und dezentralisierte Kommunikationsplattform - + Unfinished unfertig @@ -10224,7 +10877,7 @@ Bitte gib etwas Speicher frei und drücke OK. Möchtest du RetroShare wirklich beenden? - + Internal Error Interner Fehler @@ -10269,7 +10922,7 @@ Bitte gib etwas Speicher frei und drücke OK. Serviceberechtigungsmatrix - + Add Hinzufügen @@ -10303,7 +10956,7 @@ Bitte gib etwas Speicher frei und drücke OK. MessageComposer - + Compose Verfassen @@ -10405,19 +11058,19 @@ Bitte gib etwas Speicher frei und drücke OK. - + Tags Schlagwörter Address list: - + Recommend this friend - + @@ -10527,17 +11180,17 @@ Bitte gib etwas Speicher frei und drücke OK. All addresses (mixed) - + All people - + My contacts - + @@ -10565,7 +11218,7 @@ Bitte gib etwas Speicher frei und drücke OK. Hallo %1,<br><br>%2 möchte mit dir in RetroShare befreundet sein.<br><br>Jetzt antworten:<br>%3<br><br>Grüße,<br>Das RetroShare Team - + Save Message Nachricht speichern @@ -10848,7 +11501,7 @@ Möchtest du die Nachricht speichern ? Von: - + Friend Nodes Befreundete Netzknoten @@ -10898,7 +11551,7 @@ Möchtest du die Nachricht speichern ? Danke, <br> - + Distant identity: Fernidentität: @@ -10923,22 +11576,22 @@ Möchtest du die Nachricht speichern ? Everyone - + Contacts - + Kontakte Nobody - + Accept encrypted distant messages from - + @@ -11577,7 +12230,7 @@ Möchtest du die Nachricht speichern ? <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + @@ -11674,7 +12327,7 @@ Möchtest du die Nachricht speichern ? This message goes to a distant person. - + @@ -11720,7 +12373,7 @@ Möchtest du die Nachricht speichern ? RetroShare-Messenger - + Add a Friend Einen Freund hinzufügen @@ -11740,12 +12393,12 @@ Möchtest du die Nachricht speichern ? Spoiler - + Select text to hide, then push this button - + @@ -12003,7 +12656,7 @@ Möchtest du die Nachricht speichern ? - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. @@ -12292,7 +12945,7 @@ Reported error: <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12439,7 +13092,7 @@ Reported error: <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + @@ -12515,7 +13168,7 @@ Reported error: NotifyQt - + PGP key passphrase PGP-Passwort @@ -12535,12 +13188,12 @@ Reported error: RetroShare hat ein nicht registriertes Plug-in entdeckt. Dies kommt in zwei Fällen vor: <ul><li>Deine RetroShare-Installation wurde geändert</li><li>Das Plug-in wurde verändert</li></ul>Wähle "Ja", um dieses Plug-in zu autorisieren, oder "Nein", um die Autorisierung zu verweigern. Du kannst diese Entscheidung später unter Optionen -> Plug-ins ändern. Dann wird ein Neustart erforderlich sein. - + Please check your system clock. Bitte überprüfe deine Systemuhr. - + Examining shared files... Prüfe freigegebene Dateien... @@ -12576,12 +13229,12 @@ Reported error: Verschlüsselte Nachr. - + Please enter your PGP password for key Bitte gib das PGP-Passwort ein für Schlüssel - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). Damit die Chatlobbys richtig funktionieren, muss auf deinem Computer die richtige Zeit eingestellt sein. Bitte prüfe ob dies der Fall ist. (Es wurde eine mögliche Zeitabweichung von mehreren Minuten gegenüber deinen Freunden festgestellt.) @@ -12618,7 +13271,7 @@ Reported error: - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers @@ -12653,7 +13306,7 @@ Minimalmodus: 10% vom Standarddatenaufkommen und (unfertig) pausiert alle Datei <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + @@ -12663,7 +13316,7 @@ Minimalmodus: 10% vom Standarddatenaufkommen und (unfertig) pausiert alle Datei <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + @@ -12703,16 +13356,16 @@ Minimalmodus: 10% vom Standarddatenaufkommen und (unfertig) pausiert alle Datei <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12722,7 +13375,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12732,7 +13385,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + @@ -12742,7 +13395,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + @@ -12755,15 +13408,76 @@ p, li { white-space: pre-wrap; } ASCII-Format - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures Signaturen einschließen + + + Options + Optionen + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + Wenn verfügbar als direkte Quelle nutzen. + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + Empfohlene Dateien automatisch von diesem Netzknoten herunterladen + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + Whitelist-Freigabe erfordern + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details @@ -12771,27 +13485,27 @@ p, li { white-space: pre-wrap; } - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. Fehler: Kann Nachbardetails nicht ermitteln. - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) Der angegebene Schlüsselalgorithmus wird von RetroShare nicht unterstützt. (Im Moment werden nur RSA-Schlüssel unterstützt) - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. Das Vertrauensniveau drückt dein eigenes Vertrauen in diesen Schlüssel aus. Es wird weder von der Software genutzt noch geteilt, kann aber zum Merken guter bzw. schlechter Schlüssel nützlich sein. @@ -12816,7 +13530,7 @@ p, li { white-space: pre-wrap; } Du vertraust diesem Nachbarn nicht. - + This key has signed your own PGP key Dieser Schlüssel hat deinen eigenen PGP-Schlüssel signiert @@ -12837,7 +13551,7 @@ p, li { white-space: pre-wrap; } Du erlaubst momentan keine mit diesem Schlüssel signierte Verbindungen von RetroShare-Netzknoten. - + Signature Failure Signaturfehler @@ -12847,7 +13561,7 @@ p, li { white-space: pre-wrap; } Vielleicht ist das Passwort falsch - + You haven't set a trust level for this key. Sie haben für diesen Schlüssel kein Vertrauensniveau festgelegt. @@ -13008,15 +13722,15 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People Leute - External - Extern + Extern @@ -13029,6 +13743,64 @@ p, li { white-space: pre-wrap; } Internal Intern + + + Chat with this person + Mit dieser Person chatten + + + + Chat with this person as... + Mit dieser Person chatten als... + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + Fernchat funktioniert nicht + + + + Distant chat refused with this person. + Fernchat abgelehnt mit dieser Person. + + + + Error code + Fehlercode + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + Leute + PhotoCommentItem @@ -13118,7 +13890,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13131,7 +13903,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13144,7 +13916,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13292,7 +14064,7 @@ kannst musst du eines auswählen! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13432,7 +14204,7 @@ p, li { white-space: pre-wrap; } Plugin disabled. Click the enable button and restart Retroshare - + @@ -13496,7 +14268,7 @@ schädlichem Verhalten von Plug-ins. <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + @@ -13573,7 +14345,7 @@ schädlichem Verhalten von Plug-ins. Chat remotely closed. Please close this window. - + @@ -13674,7 +14446,7 @@ schädlichem Verhalten von Plug-ins. <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + @@ -13782,7 +14554,7 @@ schädlichem Verhalten von Plug-ins. PostedItem - + 0 0 @@ -13793,7 +14565,7 @@ schädlichem Verhalten von Plug-ins. - + Comments Kommentare @@ -13828,7 +14600,17 @@ schädlichem Verhalten von Plug-ins. Neu - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Lesestatus der Nachricht umschalten @@ -13838,7 +14620,7 @@ schädlichem Verhalten von Plug-ins. Element entfernen - + Loading Lade @@ -14093,7 +14875,7 @@ und den Import zum Laden verwenden <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> @@ -14310,9 +15092,9 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation Bestätigung @@ -14322,7 +15104,7 @@ p, li { white-space: pre-wrap; } Willst du dein System diesen Link verarbeiten lassen? - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. @@ -14331,7 +15113,7 @@ hinzufügen und den Assistent zum Hinzufügen von Freunden zu starten. - + Add file Datei hinzufügen @@ -14351,12 +15133,21 @@ hinzufügen und den Assistent zum Hinzufügen von Freunden zu starten. Möchtest du %1 Links verarbeiten ? - This file already exists. Do you want to open it ? - Diese Datei ist bereits vorhanden. Möchtest Du sie öffnen ? + Diese Datei ist bereits vorhanden. Möchtest Du sie öffnen ? - + + Warning: Retroshare is about to ask your system to open this file. + + + + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. %1 von %2 RetroShare Link verarbeitet. @@ -14465,6 +15256,21 @@ hinzufügen und den Assistent zum Hinzufügen von Freunden zu starten. Channel messages not found Kanalbeiträge nicht gefunden + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + + Recipient not accepted @@ -14508,7 +15314,7 @@ Die Zeichen <b>",|,/,\,&lt;,&gt;,*,?</b> werden durch & Ergebnis - + Unable to make path Konnte Ordner nicht erstellen @@ -14523,7 +15329,7 @@ Die Zeichen <b>",|,/,\,&lt;,&gt;,*,?</b> werden durch & Die Kollektion konnte nicht verarbeitet werden - + Deny friend Freund blockieren @@ -14543,7 +15349,7 @@ Die Zeichen <b>",|,/,\,&lt;,&gt;,*,?</b> werden durch & Dateianforderung abgebrochen - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. Diese Version von RetroShare benutzt das OpenPGP-SDK. Der Schlüsselring des Systems wird nicht mehr verwendet, sondern ein eigener Schlüsselring für alle laufenden Instanzen.<br><br>Du scheinst keinen solchen Schlüsselring zu besitzen, obwohl Schlüssel von existierenden RetroShare-Accounts benötigt werden. Vielleicht hast du auch gerade zu dieser Version gewechselt. @@ -14554,12 +15360,12 @@ Die Zeichen <b>",|,/,\,&lt;,&gt;,*,?</b> werden durch & - + RetroShare RetroShare - + Initialization failed. Wrong or missing installation of PGP. Initialisierung fehlgeschlagen. PGP fehlt oder es ist eine falsche Version installiert. @@ -14569,12 +15375,12 @@ Die Zeichen <b>",|,/,\,&lt;,&gt;,*,?</b> werden durch & Ein unerwarteter Fehler ist aufgetreten. Bitte melde 'RsInit::InitRetroShare unexpected return code %1'. - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. Ein unerwarteter Fehler ist aufgetreten. Bitte melde 'RsInit::InitRetroShare unexpected return code %1'. - + Multiple instances Mehrere Instanzen @@ -14596,9 +15402,8 @@ Lockdatei: Ein unerwarteter Fehler während des "Single instance lock" ist aufgetreten - Start with a RetroShare link is only supported for Windows. - Der Start mit einem RetroShare-Link wird nur unter Windows unterstützt. + Der Start mit einem RetroShare-Link wird nur unter Windows unterstützt. @@ -14627,7 +15432,7 @@ Der gemeldete Fehler ist: %2 - + Click to send a private message to %1 (%2). Anklicken, um eine private Nachricht an %1 (%2) zu senden. @@ -14637,7 +15442,7 @@ Der gemeldete Fehler ist: %1 (%2, Extra - Quelle inklusive) - + Click this link to send a private message to %1 (%2) Diesen Link anklicken, um eine private Nachricht an %1 (%2) zu senden @@ -14677,7 +15482,7 @@ Der gemeldete Fehler ist: Daten weiter - + You appear to have nodes associated to DSA keys: Du scheinst Netzknoten zu besitzen, die mit DSA-Schlüsseln verknüpft sind: @@ -14718,7 +15523,7 @@ Der gemeldete Fehler ist: - + %1 seconds ago Vor %1 Sekunden @@ -14782,11 +15587,11 @@ Der gemeldete Fehler ist: Security: no anonymous IDs - + - - + + This cert is malformed. Error code: Dieses Zertifikat ist beschädigt. Fehlercode: @@ -14796,14 +15601,14 @@ Security: no anonymous IDs Die folgende Datei wurde nicht zur Downloadliste hinzugefügt, da du diese schon hast: - + Error Fehler unable to parse XML file! - + @@ -14818,12 +15623,12 @@ Security: no anonymous IDs <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14946,10 +15751,10 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -15000,7 +15805,7 @@ p, li { white-space: pre-wrap; } Where do you want to have the buttons for the page? - + Wo willst du die Schaltflächen für die Seite haben? @@ -15017,9 +15822,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -15034,8 +15839,8 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> @@ -15217,7 +16022,7 @@ p, li { white-space: pre-wrap; } RSettingsWin - + Error Saving Configuration on page Fehler beim Speichern der Konfiguration auf der Seite @@ -15327,7 +16132,7 @@ p, li { white-space: pre-wrap; } <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15447,12 +16252,12 @@ p, li { white-space: pre-wrap; } Herunterladen - + File Datei - + Size Größe @@ -15469,7 +16274,7 @@ p, li { white-space: pre-wrap; } Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. Einige Datei- oder Ordnernamen enthalten unerlaubte Zeichen. Die Zeichen <b>",|,/,\,&lt;,&gt;,*,?</b> werden durch '_' ersetzt. @@ -15516,12 +16321,17 @@ Die betroffenen Dateien sind rot markiert Speichern - + Collection Editor Kollektionseditor - + + File Path + + + + File Count Anzahl Dateien @@ -15531,14 +16341,14 @@ Die betroffenen Dateien sind rot markiert Dies ist das Stammverzeichnis - - + + Real Size: Waiting child... Echte Größe: Warte auf Kind... - - + + Real File Count: Waiting child... Echte Dateianzahl: Warte auf Kind... @@ -15691,7 +16501,7 @@ Wenn du glaubst dass es eine korrekte Datei ist, entferne die entsprechende Zeil RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? Bild ist zu groß zum Übertragen. @@ -15709,7 +16519,7 @@ Bild auf %1x%2 Pixel reduzieren? Rshare - + Resets ALL stored RetroShare settings. Setzt alle RetroShare-Einstellungen zurück. @@ -15749,7 +16559,7 @@ Bild auf %1x%2 Pixel reduzieren? RetroShare-Nutzungsinformationen - + Unable to open log file '%1': %2 Logdatei "%1": %2 kann nicht geöffnet werden @@ -15764,12 +16574,12 @@ Bild auf %1x%2 Pixel reduzieren? Datenverzeichnis konnte nicht erstellt werden: %1 - + Revision Revision - + Invalid language code specified: Ungültige Sprach-Codierung ausgewählt: @@ -15784,6 +16594,15 @@ Bild auf %1x%2 Pixel reduzieren? Ungültiges Loglevel spezifiziert: + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + + + RttStatistics @@ -16414,7 +17233,7 @@ Bild auf %1x%2 Pixel reduzieren? If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. Wenn du dies abwählst, kann RetroShare nur deine IP herausfinden, wenn du mit jemandem verbunden bist. Wenn du dies anwählst, @@ -16475,7 +17294,7 @@ Es hilft auch, wenn du dich hinter einer Firewall/VPN befindest. Points at: - + @@ -16508,7 +17327,7 @@ Es hilft auch, wenn du dich hinter einer Firewall/VPN befindest. The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + @@ -16548,7 +17367,7 @@ Also check your ports! <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16651,43 +17470,43 @@ Also check your ports! <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + @@ -16703,17 +17522,17 @@ You can connect to Hidden Nodes, even if you are running a standard Node, so why <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + @@ -16728,21 +17547,21 @@ You can connect to Hidden Nodes, even if you are running a standard Node, so why Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + @@ -16897,7 +17716,7 @@ If you have issues connecting over Tor check the Tor logs too. <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -17268,7 +18087,7 @@ Wähle die Freunde, mit denen du den Kanal teilen willst. Lobby - + @@ -17330,7 +18149,7 @@ Wähle die Freunde, mit denen du den Kanal teilen willst. SplashScreen - + Load profile Profil laden @@ -17403,7 +18222,7 @@ Die aktuellen Identitäten/Orte werden nicht geändert. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17719,7 +18538,7 @@ Du kannst die Auswahl in den Optionen zurücksetzen. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17732,7 +18551,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17896,17 +18715,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed Abonniert - + Unsubscribe Abbestellen - + Subscribe Abonnieren @@ -18025,11 +18844,11 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -18104,7 +18923,7 @@ p, li { white-space: pre-wrap; } TransfersDialog - + Downloads Downloads @@ -18115,7 +18934,7 @@ p, li { white-space: pre-wrap; } Uploads - + Name i.e: file name @@ -18356,7 +19175,7 @@ p, li { white-space: pre-wrap; } <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + @@ -18385,39 +19204,39 @@ p, li { white-space: pre-wrap; } - + Failed Fehlgeschlagen - - + + Okay OK - - + + Waiting Warten - + Downloading Laden - + Complete Vollständig - + Queued In Warteschleife @@ -18437,7 +19256,7 @@ p, li { white-space: pre-wrap; } Unbekannt - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18527,7 +19346,7 @@ Bitte habe etwas Geduld! Bitte gib einen neuen -- und gültigen -- Dateinamen ein - + Last Time Seen i.e: Last Time Receiced Data Zuletzt gesehen @@ -18659,7 +19478,7 @@ Bitte habe etwas Geduld! Pfadspalte anzeigen - + Could not delete preview file Konnte Vorschaudatei nicht löschen @@ -18669,7 +19488,7 @@ Bitte habe etwas Geduld! Nochmal versuchen? - + Create Collection... Kollektion erstellen... @@ -18689,22 +19508,22 @@ Bitte habe etwas Geduld! Kollektion - + File sharing Dateifreigabe - + Anonymous tunnel 0x Anonymer Tunnel 0x - + Show file list transfers Dateilistenübertragungen anzeigen - + version: Version: @@ -18863,12 +19682,12 @@ Bitte habe etwas Geduld! Anonymous tunnels - + Authenticated tunnels - + @@ -19085,7 +19904,7 @@ Bitte habe etwas Geduld! <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + @@ -19734,4 +20553,4 @@ Bitte habe etwas Geduld! Bilder (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_el.ts b/retroshare-gui/src/lang/retroshare_el.ts index c07f856ad..5f242f79e 100644 --- a/retroshare-gui/src/lang/retroshare_el.ts +++ b/retroshare-gui/src/lang/retroshare_el.ts @@ -1,4 +1,6 @@ - + + + AWidget @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file Συγγνώμη, δεν βρέθηκε προεπιλεγμένη εντολή για αυτό το αρχείο @@ -305,7 +307,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -427,7 +429,7 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -475,7 +477,7 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -488,7 +490,7 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -558,7 +560,7 @@ p, li { white-space: pre-wrap; } On List Ite&m - + @@ -633,7 +635,7 @@ p, li { white-space: pre-wrap; } Remove surplus text in status bar. - + @@ -648,17 +650,17 @@ p, li { white-space: pre-wrap; } Hide Toaster Disable - + Show SysTray on Status Bar - + Disable SysTray ToolTip - + @@ -775,7 +777,7 @@ p, li { white-space: pre-wrap; } BWGraphSource - + KB/s KB/s @@ -1005,7 +1007,7 @@ p, li { white-space: pre-wrap; } Log scale - + @@ -1028,7 +1030,7 @@ p, li { white-space: pre-wrap; } Load posts in background (Thread) - + @@ -1053,6 +1055,11 @@ p, li { white-space: pre-wrap; } Mute participant Σίγαση συμμετέχοντα + + + Ban this person (Sets negative opinion) + + Send Message @@ -1061,15 +1068,15 @@ p, li { white-space: pre-wrap; } Sort by Name - + Ταξινόμηση κατά όνομα Sort by Activity - + - + Invite friends to this lobby Προσκληση φίλων στον προθαλαμο συνομιλιων @@ -1089,7 +1096,7 @@ p, li { white-space: pre-wrap; } Επιλέξτε τους φίλους που θελετε να προσκαλέσετε: - + Welcome to lobby %1 Καλως ηρθατε στον προθαλαμο %1 @@ -1105,7 +1112,7 @@ p, li { white-space: pre-wrap; } Chat λόμπι - + Lobby management @@ -1139,7 +1146,7 @@ p, li { white-space: pre-wrap; } Right click to mute/unmute participants<br/>Double click to address this person<br/> - + @@ -1152,19 +1159,19 @@ p, li { white-space: pre-wrap; } δευτερόλεπτα - + Start private chat Έναρξη προσωπικής συνομιλίας - + Decryption failed. Αποτυχία αποκρυπτογράφησης. Signature mismatch - + @@ -1174,7 +1181,7 @@ p, li { white-space: pre-wrap; } Unknown hash - + @@ -1242,12 +1249,12 @@ p, li { white-space: pre-wrap; } ChatLobbyWidget - + Chat lobbies Προθαλαμος συνομιλιων - + Name Όνομα @@ -1285,7 +1292,7 @@ p, li { white-space: pre-wrap; } [Δεν υπαρχει κανενα θεμα] - + Selected lobby info Πληροφοριες επιλεγμενου προθαλαμου συνομιλιων @@ -1302,7 +1309,7 @@ p, li { white-space: pre-wrap; } Anonymous IDs accepted - + @@ -1312,12 +1319,12 @@ p, li { white-space: pre-wrap; } Remove Auto Subscribe - + Add Auto Subscribe - + @@ -1325,7 +1332,7 @@ p, li { white-space: pre-wrap; } %1 σας προσκαλεί στην αίθουσα συνομιλίας %2 - + Search Chat lobbies Αναζήτηση στις Αίθουσες Συνομιλίας @@ -1342,12 +1349,12 @@ p, li { white-space: pre-wrap; } <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + @@ -1365,7 +1372,7 @@ p, li { white-space: pre-wrap; } Όχι - + Lobby Name: Ονομασίας Αίθουσας @@ -1392,7 +1399,7 @@ p, li { white-space: pre-wrap; } Peers: - + @@ -1409,17 +1416,17 @@ p, li { white-space: pre-wrap; } No lobby selected. Select lobbies at left to show details. Double click lobbies to enter and chat. - + Private Subscribed Lobbies - + Public Subscribed Lobbies - + @@ -1449,7 +1456,7 @@ Double click lobbies to enter and chat. You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + @@ -1459,12 +1466,12 @@ Double click lobbies to enter and chat. You will need to create a non anonymous identity in order to join this chat lobby. - + You will need to create an identity in order to join chat lobbies. - + @@ -1530,7 +1537,7 @@ Double click lobbies to enter and chat. Ακύρωση - + Quick Message Σύντομο μήνυμα @@ -1539,34 +1546,34 @@ Double click lobbies to enter and chat. ChatPage - + General Γενικά - + Distant Chat - + Everyone - + Contacts - + Επαφές Nobody - + Accept encrypted distant chat from - + @@ -1618,6 +1625,11 @@ Double click lobbies to enter and chat. Send message with Ctrl+Return Αποστολή μηνύυματος πατώντας τα πλήκτρα Ctrl+Return + + + Send as plain text by default + + Chat Lobby @@ -1723,7 +1735,7 @@ Double click lobbies to enter and chat. Απερχομενα - + Incoming message in history Μετακινηση εισερχομενων μυνηματων στο ιστορικο @@ -1760,12 +1772,12 @@ Double click lobbies to enter and chat. UserName - + /me is sending a message with /me - + @@ -1775,17 +1787,17 @@ Double click lobbies to enter and chat. <html><head/><body><p align="justify">In this tab you can setup how many chat messages Retroshare will keep saved on the disc and how much of the previous conversation it will display, for the different chat systems. The max storage period allows to discard old messages and prevents the chat history from filling up with volatile chat (e.g. chat lobbies and distant chat).</p></body></html> - + Chatlobbies - + Enabled: - + @@ -1795,7 +1807,7 @@ Double click lobbies to enter and chat. Number of messages restored (0 = off): - + @@ -1820,7 +1832,7 @@ Double click lobbies to enter and chat. Move to cursor - + @@ -1840,12 +1852,12 @@ Double click lobbies to enter and chat. Maximum count for coloring matching text - + Threshold for automatic search - + @@ -1858,7 +1870,7 @@ Double click lobbies to enter and chat. Προκαθορισμένη προβολή της μπάρας - + Private chat invite from Προσωπική πρόσκληση συνομιλίας απο @@ -1881,7 +1893,7 @@ Double click lobbies to enter and chat. ChatStyle - + Standard style for group chat Προκαθορισμενο στιλ για ομαδικες συνομιλιες @@ -1935,12 +1947,12 @@ Double click lobbies to enter and chat. Κλεισιμο - + Send Αποστολή - + Bold Bold @@ -1955,12 +1967,12 @@ Double click lobbies to enter and chat. Italic - + Attach a Picture Επισύναψη φωτογραφίας - + Strike Ρηγμα @@ -2011,42 +2023,70 @@ Double click lobbies to enter and chat. Επαναφορά προεπιλεγμένης γραμματοσειράς - + Quote - + Απόσπασμα Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... γράφει... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? Θέλετε πραγματικά να διαγράψετε το ιστορικό; - + Add Extra File Προσθηκη επιπλεον αρχειου @@ -2091,9 +2131,9 @@ Double click lobbies to enter and chat. Είναι απασχολημένος και δεν μπορεί να απαντήσει - + Find Case Sensitively - + @@ -2105,15 +2145,15 @@ Double click lobbies to enter and chat. Move To Cursor - + Don't stop to color after X items found (need more CPU) - + - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> <b>Εύρεση Προηγούμενου </b><br/><i>Ctrl+Shift+G</i> @@ -2128,12 +2168,12 @@ Double click lobbies to enter and chat. <b>Εύρεση</b><br/><i>Ctrl+F</i> - + (Status) (Κατάσταση) - + Set text font & color Καθορισμός γραμματοσειράς & χρώματος κειμένου @@ -2143,7 +2183,7 @@ Double click lobbies to enter and chat. Επισύναψη αρχείου - + WARNING: Could take a long time on big history. ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Μπορεί να πάρει πολλή ώρα για μεγάλο ιστορικό. @@ -2154,17 +2194,16 @@ Double click lobbies to enter and chat. - + <b>Mark this selected text</b><br><i>Ctrl+M</i> <b>Επισήμανση επιλεγμένου κειμένου</b><br><i>Ctrl+M</i> - %1This message consists of %2 characters. - %1Αυτό το μήνυμα αποτελείται απο %2 χαρακτήρες. + %1Αυτό το μήνυμα αποτελείται απο %2 χαρακτήρες. - + items found. στοιχεία βρέθηκαν. @@ -2176,27 +2215,25 @@ Double click lobbies to enter and chat. <b>Return to marked text</b><br><i>Ctrl+M</i> - + - Display Search Box - Προβολή Πεδίου Αναζήτησης + Προβολή Πεδίου Αναζήτησης - Search Box - Πεδίο Αναζήτησης + Πεδίο Αναζήτησης - + Type a message here Πληκτρολογείστε μήνυμα εδώ - + Don't stop to color after - + @@ -2204,9 +2241,8 @@ Double click lobbies to enter and chat. στοιχεία ευρέθησαν (χρειάζεται περισσότερη Επεξεργαστική Ισχύ) - Warning: - Προειδοποίηση: + Προειδοποίηση: @@ -2225,7 +2261,7 @@ Double click lobbies to enter and chat. CirclesDialog - + Showing details: Εμφάνιση λεπτομερειών: @@ -2247,7 +2283,7 @@ Double click lobbies to enter and chat. - + Personal Circles Προσωπικοί κύκλοι @@ -2273,7 +2309,7 @@ Double click lobbies to enter and chat. - + Friends Φίλοι @@ -2333,19 +2369,19 @@ Double click lobbies to enter and chat. Φίλοι φίλων - + External Circles (Admin) - + External Circles (Subscribed) - + External Circles (Other) - + @@ -2357,7 +2393,7 @@ Double click lobbies to enter and chat. ConfCertDialog - + Details Λεπτομέρειες @@ -2373,7 +2409,7 @@ Double click lobbies to enter and chat. - + Local Address Τοπική διεύθυνση @@ -2400,36 +2436,39 @@ Double click lobbies to enter and chat. Λίστα διευθύνσεων - + + Use this certificate to make friends: + + + + Include signatures Περιλαμβάνουν υπογραφές - - + + RetroShare RetroShare - - + + Error : cannot get peer details. Σφάλμα: οι peer λεπτομέρειες δεν μπορουν να παρθουν. - Use as direct source, when available - Χρήση ως άμεση πηγή, όταν θα είναι διαθέσιμα + Χρήση ως άμεση πηγή, όταν θα είναι διαθέσιμα - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - <html> <head/> <body> <p align="justify"> Το Retroshare περιοδικά ελέγχει τη λιστα φιλων σας για αρχεία που ταιριάζουν στις μεταφορές σας, για να πραγματοποιήσει μια άμεση μεταφορά. Σε αυτή την περίπτωση, ο φίλος σας γνωρίζει ότι κάνετε λήψη του αρχείου. </ P> <p align="justify"> Για να αποτραπεί αυτή η συμπεριφορά μόνο για αυτό το φίλο, αποεπιλέξτε αυτό το πλαίσιο. Μπορείτε ακόμα να εκτελέσετε μια άμεση μεταφορά αν το ζητήσετε ρητά, για παράδειγμα κάνοντας λήψη από τη λίστα αρχείων του φίλου σας. </ p> </ body> </ html> + <html> <head/> <body> <p align="justify"> Το Retroshare περιοδικά ελέγχει τη λιστα φιλων σας για αρχεία που ταιριάζουν στις μεταφορές σας, για να πραγματοποιήσει μια άμεση μεταφορά. Σε αυτή την περίπτωση, ο φίλος σας γνωρίζει ότι κάνετε λήψη του αρχείου. </ P> <p align="justify"> Για να αποτραπεί αυτή η συμπεριφορά μόνο για αυτό το φίλο, αποεπιλέξτε αυτό το πλαίσιο. Μπορείτε ακόμα να εκτελέσετε μια άμεση μεταφορά αν το ζητήσετε ρητά, για παράδειγμα κάνοντας λήψη από τη λίστα αρχείων του φίλου σας. </ p> </ body> </ html> - + Encryption Κρυπτογράφηση @@ -2441,20 +2480,19 @@ Double click lobbies to enter and chat. Peer Addresses - + - Options - Επιλογές + Επιλογές - + Retroshare node details Πληροφορίες κόμβου του Retroshare - + Node name : Όνομα κόμβου: @@ -2476,37 +2514,27 @@ Double click lobbies to enter and chat. Node ID : - + PGP key : - + Retroshare Certificate - + - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + @@ -2527,12 +2555,12 @@ Double click lobbies to enter and chat. an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + @@ -2540,24 +2568,14 @@ Double click lobbies to enter and chat. <p>Μπορείτε να χρησιμοποιήσετε αυτό το πιστοποιητικό για να κάνετε νέους φίλους. Στείλτε το με email ή δώστε το σε αυτούς αυτοπροσώπως.</p> - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + @@ -2626,12 +2644,12 @@ Double click lobbies to enter and chat. Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + @@ -2751,7 +2769,7 @@ Double click lobbies to enter and chat. Email - + Email @@ -2819,7 +2837,7 @@ Double click lobbies to enter and chat. Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + @@ -2836,7 +2854,7 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + @@ -2846,23 +2864,23 @@ resources. Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + @@ -3157,7 +3175,7 @@ resources. IP-Addr: - + @@ -3167,7 +3185,7 @@ resources. Recommend many friends to each others - + @@ -3177,7 +3195,7 @@ resources. The text below is your Retroshare certificate. You have to provide it to your friend - + @@ -3197,7 +3215,7 @@ resources. Please select at least one friend for recommendation. - + @@ -3207,12 +3225,12 @@ resources. Add key to keyring - + This key is already in your keyring - + @@ -3220,34 +3238,34 @@ resources. This might be useful for sending distant messages to this peer even if you don't make friends. - + Certificate has wrong version number. Remember that v0.6 and v0.5 networks are incompatible. - + Invalid node id. - + Auto-download recommended files - + Can be used as direct source - + Require whitelist clearance to connect - + @@ -3257,32 +3275,32 @@ even if you don't make friends. No IP in this certificate! - + <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + Added with certificate from %1 - + Paste Cert of your friend from Clipboard - + Certificate Load Failed:can't read from file %1 - + Certificate Load Failed:something is wrong with %1 - + @@ -3310,7 +3328,7 @@ even if you don't make friends. Net Result - + @@ -3326,43 +3344,43 @@ even if you don't make friends. DHT Startup - + DHT Result - + Peer Lookup - + Peer Result - + UDP Setup - + UDP Result - + Connection Assistant - + Invalid Peer ID - + @@ -3377,93 +3395,93 @@ even if you don't make friends. Behind Symmetric NAT - + Behind NAT & No DHT - + NET Restart - + Behind NAT - + No DHT - + NET STATE GOOD! - + DHT Failed - + DHT Disabled - + DHT Απενεργοποιημενο DHT Okay - + Finding RS Peers - + Lookup requires DHT - + Searching DHT - + Lookup Timeout - + Peer DHT NOT ACTIVE - + Lookup Failure - + Peer Offline - + Peer Firewalled - + Peer Online - + @@ -3473,7 +3491,7 @@ even if you don't make friends. Initial connections can take a while, please be patient - + @@ -3489,17 +3507,17 @@ even if you don't make friends. Retroshare will continue connecting in the background - + Connection Timeout - + Connection Attempt has taken too long - + @@ -3511,7 +3529,7 @@ even if you don't make friends. Try again shortly, Retroshare will continue connecting in the background - + @@ -3525,27 +3543,27 @@ even if you don't make friends. DHT Lookup Timeout - + DHT Lookup has taken too long - + UDP Connection Timeout - + UDP Connection has taken too long - + UDP Connection Failed - + @@ -3555,12 +3573,12 @@ even if you don't make friends. In this case the UDP connection attempt has failed. - + Improve connectivity by opening a Port in your Firewall. - + @@ -3575,12 +3593,12 @@ even if you don't make friends. DHT startup Failed - + Your DHT has not started properly - + @@ -3595,43 +3613,43 @@ even if you don't make friends. - You have a missing or out-of-date DHT bootstrap file (bdboot.txt) - + DHT is Disabled - + The DHT is OFF, so Retroshare cannot find your Friends. - + Retroshare has tried All Known Addresses, with no success - + The DHT is needed if your friends have Dynamic IP Addresses. - + Go to Settings->Server and change config to "Public: DHT and Discovery" - + Peer Denied Connection - + We successfully reached your Friend. - + @@ -3642,24 +3660,24 @@ even if you don't make friends. Please contact them to add your Certificate - + Your Retroshare Node is configured Okay - + We successfully reached your Friend via UDP. - + Please contact them to add your Full Certificate - + @@ -3669,17 +3687,17 @@ even if you don't make friends. They are either offline or their DHT is Off - + Peer DHT is Disabled - + Your Friend has configured Retroshare with DHT Disabled. - + @@ -3689,17 +3707,17 @@ even if you don't make friends. Retroshare has determined that they have DHT switched off - + Without the DHT it is hard for Retroshare to locate your friend - + Try importing a fresh Certificate to get up-to-date connection information - + @@ -3709,25 +3727,25 @@ even if you don't make friends. You have imported an incomplete Certificate - + Please retry importing the full Certificate - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> - + @@ -3740,12 +3758,12 @@ p, li { white-space: pre-wrap; } UNVERIFIABLE FORWARD! - + UNVERIFIABLE FORWARD & NO DHT - + @@ -3755,89 +3773,101 @@ p, li { white-space: pre-wrap; } UDP Connect Timeout - + Only Advanced Retroshare users should switch off the DHT. - + Retroshare cannot connect without this information - + They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details Λεπτομέρειες κύκλου - - + Name Όνομα - Creator - Δημιουργός + Δημιουργός - Distribution - Διανομή + Διανομή - + Public Δημοσια - Self-Restricted - Self-Restricted + Self-Restricted - Restricted to: - Περιορίζεται σε: + Περιορίζεται σε: - Circle Membership - Ένταξη κύκλου + Ένταξη κύκλου - + IDs Ταυτότητες - Known Identities - Γνωστές ταυτότητες + Γνωστές ταυτότητες - + Filter Φίλτρο - + Nickname Ψευδώνυμο - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ID @@ -3847,55 +3877,104 @@ p, li { white-space: pre-wrap; } Τυπος - - - - + + Name: + + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + Ιδιωτικα + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare RetroShare - + Please set a name for your Circle Ορίστε ένα όνομα για τον κύκλο σας - Personal Circle Details - Προσωπικές λεπτομέρειες Κύκλου + Προσωπικές λεπτομέρειες Κύκλου - External Circle Details - Εξωτερικές Λεπτομέρειες Κύκλου + Εξωτερικές Λεπτομέρειες Κύκλου - Cannot Edit Existing Circles Yet - Δεν μπορείτε να επεξεργαστείτε τους υπάρχον κύκλους ακόμα + Δεν μπορείτε να επεξεργαστείτε τους υπάρχον κύκλους ακόμα - + No Restriction Circle Selected Κανένας περιορισμός κύκλου εχει επιλέγθει - + No Circle Limitations Selected Δεν υπάρχουν περιορισμοί επιλεγμένου Κύκλου - Create New Personal Circle - Δημιουργία νέου προσωπικού κύκλου + Δημιουργία νέου προσωπικού κύκλου - Create New External Circle - Δημιουργία νέου εξωτερικού κύκλου + Δημιουργία νέου εξωτερικού κύκλου - + Add Προσθηκη @@ -3905,13 +3984,13 @@ p, li { white-space: pre-wrap; } Αφαίρεση - + Search Αναζητηση - + All Όλους @@ -3923,52 +4002,101 @@ p, li { white-space: pre-wrap; } Signed by known nodes - + - + Edit Circle Επεξεργασια κύκλου - - + PGP Identity - + - - - + + + Anon Id - + + + + + Circle name + + + + + Update + + Close + Κλεισιμο + + + + + Create New Circle + + + + + Create + + + + PGP Linked Id - + + + + + Add Member + + + + + Remove Member + CreateGroup - + Create a Group Δημιουργια μιας ομαδας - - Group Name - Ονομα ομαδας + + Group Name: + Όνομα ομάδας: - + + Group ID: + + + + Group Name + Ονομα ομαδας + + + Enter a name for your group Εισαγετε ενα ονομα της ομαδας σας - + + To be defined + + + + Friends Φίλοι @@ -4002,9 +4130,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -4111,12 +4239,12 @@ p, li { white-space: pre-wrap; }⏎ Generate mass data - + Do you really want to generate %1 messages ? - + @@ -4133,7 +4261,7 @@ p, li { white-space: pre-wrap; }⏎ CreateGxsForumMsg - + Post Forum Message Ποσταρισμα μυνηματος στο φορουμ @@ -4178,12 +4306,12 @@ p, li { white-space: pre-wrap; }⏎ Έναρξη νέας μηνυματοσειράς - + No Forum Κανενα φόρουμ - + In Reply to Απάντηση στον @@ -4209,32 +4337,42 @@ p, li { white-space: pre-wrap; }⏎ Add Extra File Προσθηκη επιπλεον αρχειου + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data - + Do you really want to generate %1 messages ? - + - + Send Αποστολη - + Forum Message - + Forum Message has not been Sent. Do you want to reject this message? - + @@ -4244,7 +4382,7 @@ Do you want to reject this message? Congrats, you found a bug! - + @@ -4273,7 +4411,7 @@ Do you want to reject this message? Visibility: - + @@ -4288,12 +4426,12 @@ Do you want to reject this message? <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + @@ -4313,12 +4451,12 @@ Do you want to reject this message? Put a sensible lobby name here - + Set a descriptive topic here - + @@ -4328,7 +4466,7 @@ Do you want to reject this message? Identity to use: - + @@ -4426,47 +4564,47 @@ Do you want to reject this message? PGP fingerprint: - + Node information - + PGP Id : - + Friend nodes: - + Copy certificate to clipboard - + Save certificate to file - + Node - + Create new node... - + show statistics window - + @@ -4487,7 +4625,7 @@ Do you want to reject this message? <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + @@ -4513,7 +4651,7 @@ Do you want to reject this message? No peer found in DHT - + @@ -4541,7 +4679,7 @@ Do you want to reject this message? File Never Seen - + @@ -4763,17 +4901,17 @@ Do you want to reject this message? Search IP - + Copy %1 to clipboard - + Unknown NetState - + @@ -4783,12 +4921,12 @@ Do you want to reject this message? Local Net - + Behind NAT - + @@ -4798,117 +4936,117 @@ Do you want to reject this message? UNKNOWN NAT STATE - + SYMMETRIC NAT - + DETERMINISTIC SYM NAT - + RESTRICTED CONE NAT - + FULL CONE NAT - + OTHER NAT - + NO NAT - + UNKNOWN NAT HOLE STATUS - + NO NAT HOLE - + UPNP FORWARD - + NATPMP FORWARD - + MANUAL FORWARD - + NET BAD: Unknown State - + NET BAD: Offline - + NET BAD: Behind Symmetric NAT - + NET BAD: Behind NAT & No DHT - + NET WARNING: NET Restart - + NET WARNING: Behind NAT - + NET WARNING: No DHT - + NET STATE GOOD! - + CAUTION: UNVERIFIABLE FORWARD! - + CAUTION: UNVERIFIABLE FORWARD & NO DHT - + Not Active (Maybe Connected!) - + @@ -4938,7 +5076,7 @@ Do you want to reject this message? Direct - + @@ -4953,7 +5091,7 @@ Do you want to reject this message? Udp Started - + @@ -4963,12 +5101,12 @@ Do you want to reject this message? Request Active - + No Request - + @@ -4978,7 +5116,7 @@ Do you want to reject this message? RELAY END - + @@ -4995,17 +5133,17 @@ Do you want to reject this message? unlimited - + Own Relay - + RELAY PROXY - + @@ -5024,7 +5162,7 @@ Do you want to reject this message? Relays - + @@ -5047,37 +5185,37 @@ Do you want to reject this message? Net Status: - + Network Mode: - + Nat Type: - + Nat Hole: - + Connect Mode: - + Peer Address: - + Unreach: - + @@ -5092,27 +5230,27 @@ Do you want to reject this message? DHT Peers: - + Disconnected: - + Direct: - + Proxy: - + Relay: - + @@ -5122,33 +5260,33 @@ Do you want to reject this message? Search Network - + Δίκτυο αναζήτησης Peers - + Peers Relay - + Ρελέ DHT Graph - + Proxy VIA - + Relay VIA - + @@ -5187,7 +5325,7 @@ Do you want to reject this message? Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. Θυμηθείτε το hashes αρχείων, ακόμη και αν δεν μοιράζονται. @@ -5534,7 +5672,7 @@ you plug it in. Patch - + @@ -5544,7 +5682,7 @@ you plug it in. Header - + @@ -5615,7 +5753,7 @@ you plug it in. Load embedded images - + @@ -5625,7 +5763,7 @@ you plug it in. Open each forum in a new tab - + @@ -5643,28 +5781,28 @@ you plug it in. export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + Show State - + @@ -5673,7 +5811,7 @@ you plug it in. Εμφάνιση ομάδων - + Group Ομάδα @@ -5714,17 +5852,17 @@ you plug it in. Προσθηκη σε ομαδα - + Search Αναζήτηση Sort by state - + - + Move to group Μετακίνηση σε ομάδα @@ -5759,12 +5897,12 @@ you plug it in. Διαθέσιμα - + Do you want to remove this Friend? Θέλετε να διαγραψετε αυτόν τον φίλο? - + Done! Έγινε! @@ -5773,13 +5911,13 @@ you plug it in. Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + @@ -5792,29 +5930,29 @@ you plug it in. Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + @@ -5831,13 +5969,13 @@ at least one peer was not added to a group Failed to get a file! - + File is not writeable! - + @@ -5852,7 +5990,7 @@ at least one peer was not added to a group IP - + Attempt to connect Προσπάθεια σύνδεσης @@ -5869,30 +6007,30 @@ at least one peer was not added to a group Paste certificate link - + Node - + Remove Friend Node - + - + Do you want to remove this node? - + Friend nodes - + - + Send message to whole group Αποστολή μηνύματος σε όλη την ομάδα @@ -5905,7 +6043,7 @@ at least one peer was not added to a group Deny - + @@ -5942,7 +6080,7 @@ at least one peer was not added to a group Sort by state - + @@ -5955,14 +6093,14 @@ at least one peer was not added to a group Αναζήτηση φίλων - + Mark all - + Επισημάνση όλων Mark none - + @@ -6059,17 +6197,17 @@ at least one peer was not added to a group Keyring - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + Retroshare broadcast chat: messages are sent to all connected friends. - + @@ -6080,12 +6218,12 @@ at least one peer was not added to a group Network graph - + Set your status message here. - + @@ -6145,22 +6283,27 @@ anonymous, you can use a fake email. Password (check) - + - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> - + [Required] Type the same password again here. - + Passwords do not match - + @@ -6171,227 +6314,222 @@ anonymous, you can use a fake email. This password is for PGP - + Node - + Create new node - + Generate new node - + Create a new node - + You can use it now to create a new node. - + Invalid hidden node - + Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile - + Import new profile - + Export selected profile - + Advanced options - + Create a hidden node - + Use profile - + hidden address - + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + Create new profile - + Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + Export profile - + RetroShare profile files (*.asc) - + Profile saved - + @@ -6400,77 +6538,77 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + Import profile - + Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6522,8 +6660,12 @@ Fill in your PGP password when asked, to sign your new key. + Register retroshare:// as URL protocol + + + Register retroshare:// as URL protocol (Restart required) - Εγγραφη του retroshare:: / / URL πρωτόκολλο (απαιτείται επανεκκίνηση) + Εγγραφη του retroshare:: / / URL πρωτόκολλο (απαιτείται επανεκκίνηση) @@ -6531,7 +6673,27 @@ Fill in your PGP password when asked, to sign your new key. Χρειάζεστε δικαιώματα διαχειριστή για να αλλάξετε αυτήν την επιλογή. - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle Αδρανεια @@ -6551,7 +6713,17 @@ Fill in your PGP password when asked, to sign your new key. Εκκίνηση "Οδηγού εκκίνησης" - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error Σφαλμα @@ -6572,9 +6744,9 @@ Fill in your PGP password when asked, to sign your new key. Γενικα - + Minimize to Tray Icon - + @@ -6596,7 +6768,7 @@ Fill in your PGP password when asked, to sign your new key. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> @@ -6629,18 +6801,18 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6652,31 +6824,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6689,7 +6861,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + @@ -6789,7 +6961,7 @@ p, li { white-space: pre-wrap; } It has many features, including built-in chat, messaging, - + @@ -6802,17 +6974,17 @@ p, li { white-space: pre-wrap; } GroupBox - + ID - + ID Identity Name - + @@ -6822,42 +6994,54 @@ p, li { white-space: pre-wrap; } Data status - + Tunnel status - + + Stored data size + + + + + Receive time (secs ago) + + + + + Sending time (secs ago) + + + Data size - Μέγεθος δεδομένων + Μέγεθος δεδομένων - + Data hash - + - Received - Ελήφθησαν + Ελήφθησαν - Send - Έστάλη + Έστάλη - + Branching factor - + Details - + @@ -6867,7 +7051,7 @@ p, li { white-space: pre-wrap; } Pending packets - + @@ -6880,22 +7064,22 @@ p, li { white-space: pre-wrap; } Managed keys - + Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6906,6 +7090,14 @@ p, li { white-space: pre-wrap; } Εμφάνιση ομαδικής συνομιλίας + + GroupChooser + + + [Unknown] + [Άγνωστο] + + GroupDefs @@ -6990,27 +7182,27 @@ p, li { white-space: pre-wrap; } All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -7023,7 +7215,7 @@ p, li { white-space: pre-wrap; } Hide tabbar with one open tab - + @@ -7031,7 +7223,7 @@ p, li { white-space: pre-wrap; } Share - + @@ -7039,39 +7231,39 @@ p, li { white-space: pre-wrap; } Επαφές: - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer Παρακαλώ επιλέξτε τουλάχιστον έναν peer - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7114,7 +7306,17 @@ p, li { white-space: pre-wrap; } Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + @@ -7122,14 +7324,9 @@ p, li { white-space: pre-wrap; } Εμφάνιση - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7256,7 +7453,7 @@ p, li { white-space: pre-wrap; } <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + @@ -7276,7 +7473,7 @@ p, li { white-space: pre-wrap; } Select channel download directory - + @@ -7286,18 +7483,18 @@ p, li { white-space: pre-wrap; } Set download directory - + [Default directory] - + Specify... - + Καθορίσμος... @@ -7340,7 +7537,7 @@ p, li { white-space: pre-wrap; } Checking - + @@ -7406,17 +7603,17 @@ p, li { white-space: pre-wrap; } Add Channel Admins - + Select Channel Admins - + Update Channel - + @@ -7472,6 +7669,16 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Αναγνωση καταστασης της εναλλαγης μυνηματος @@ -7482,7 +7689,7 @@ p, li { white-space: pre-wrap; } - + Play Παιξιμο @@ -7519,12 +7726,12 @@ p, li { white-space: pre-wrap; } Απομάκρυνση στοιχείου - + Channel Feed Ροη καναλιου - + Files Αρχεία @@ -7564,12 +7771,12 @@ p, li { white-space: pre-wrap; } Δεν μου αρέσει - + Loading Φορτωση - + Open Ανοιχτα @@ -7587,7 +7794,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel Ποσταρισμα στο καναλι @@ -7602,7 +7809,7 @@ p, li { white-space: pre-wrap; } Αναζήτηση καναλιών - + Title Τίτλος @@ -7637,7 +7844,32 @@ p, li { white-space: pre-wrap; } Δεν υπάρχει επιλεγμένο κανάλι - + + Public + Δημοσια + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download Απενεργοποίηση αυτόματης λήψης @@ -7649,7 +7881,7 @@ p, li { white-space: pre-wrap; } Show feeds - + @@ -7657,7 +7889,23 @@ p, li { white-space: pre-wrap; } Εμφάνιση αρχείων - + + Administrator: + + + + + + unknown + Άγνωστο + + + + Distribution: + + + + Feeds Feeds @@ -7667,19 +7915,19 @@ p, li { white-space: pre-wrap; } Αρχεία - + Subscribers - + - + Description: Περιγραφή: - + Posts (at neighbor nodes): - + @@ -7801,7 +8049,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -7846,17 +8094,17 @@ before you can comment Update Forum - + Add Forum Admins - + Select Forum Admins - + @@ -7935,7 +8183,7 @@ before you can comment In Reply to: - + @@ -7945,7 +8193,7 @@ before you can comment Forum Feed - + @@ -7961,7 +8209,7 @@ before you can comment Φόρμα - + Start new Thread for Selected Forum Έναρξη νέας μηνυματοσειράς στο επιλεγμενο φόρουμ @@ -7987,7 +8235,7 @@ before you can comment - + Title Τίτλος @@ -8000,18 +8248,18 @@ before you can comment - + Author Δημιουργος Save image - + - + Loading Φορτωση @@ -8078,12 +8326,12 @@ before you can comment Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + @@ -8136,33 +8384,73 @@ before you can comment This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + Δημοσια + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + Διανομή + + + Anti-spam - + [ ... Redacted message ... ] - + @@ -8187,22 +8475,22 @@ before you can comment <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8258,22 +8546,22 @@ before you can comment Στις % 1, %2 έγραψε: - + Forum name Όνομα φόρουμ Subscribers - + Posts (at neighbor nodes) - + - + Description Περιγραφή @@ -8283,14 +8571,14 @@ before you can comment Από - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8306,7 +8594,7 @@ before you can comment <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + @@ -8361,13 +8649,13 @@ before you can comment GxsGroupDialog - - + + Name Όνομα - + Add Icon Προσθήκη εικονίδιου @@ -8382,7 +8670,7 @@ before you can comment Μοιρασμα δημοσιου κλειδίου - + check peers you would like to share private publish key with Ελέγξτε τους ομοτυμους που θα θέλατε να μοιραστείτε το ιδιωτικο σας κλειδι δημοσιευσης @@ -8392,36 +8680,40 @@ before you can comment Μοιρασμα κλειδιου με - - + + Description Περιγραφή - + Message Distribution Μήνυμα διανομής - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public Δημοσια - - Restricted to Group - Περιορίσμος στην ομάδα + Περιορίσμος στην ομάδα - - + Only For Your Friends Μόνο για τους φίλους σας - + Publish Signatures Δημοσίευση υπογραφών @@ -8467,12 +8759,11 @@ before you can comment - Comments Σχόλια - + Allow Comments Επιτρέπεται ο σχολιασμός @@ -8484,126 +8775,204 @@ before you can comment Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + Σχόλια: - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: Επαφές: - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name Προσθέστε ένα όνομα - + + PGP signature from known ID required + + + + Load Group Logo Λογότυπο ομάδας φόρτωσης - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback - + Owner: - + - + Set a descriptive description here - + - + Info Πληροφορίες - Comments allowed - Τα σχόλια επιτρέπονται + Τα σχόλια επιτρέπονται - Comments not allowed - Τα σχόλια δεν επιτρέπονται + Τα σχόλια δεν επιτρέπονται - + ID ID - + Last Post Τελευταία Δημοσίευση + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity Δημοτικότητα - + Posts Δημοσιεύσεις - Type - Τυπος + Τυπος - + Author Δημιουργος @@ -8661,7 +9030,12 @@ before you can comment Επεξεργασία Λεπτομερειών - + + Share publish permissions + + + + Copy RetroShare Link Αντιγραφή του RetroShare Συνδέσμου @@ -8676,25 +9050,20 @@ before you can comment Επισήμανση όλων ως μη αναγνωσμένων - + AUTHD AUTHD - - - Share admin permissions - - GxsIdChooser - + No Signature Καμία υπογραφή - + Create new Identity Δημιουργία νέας ταυτότητας @@ -8702,7 +9071,7 @@ before you can comment GxsIdDetails - + Loading Φορτωση @@ -8721,38 +9090,38 @@ before you can comment [Banned] - + Authentication - + unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + @@ -8778,42 +9147,42 @@ before you can comment Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + Άγνωστο Peer @@ -9000,7 +9369,7 @@ before you can comment Error Loading Help Contents: - + @@ -9050,7 +9419,7 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9061,14 +9430,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Swedish: </span><span style=" font-size:8pt;"> Daniel Wester</span><span style=" font-size:8pt; font-weight:600;"> &lt;</span><span style=" font-size:8pt;">wester@speedmail.se</span><span style=" font-size:8pt; font-weight:600;">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">German: </span><span style=" font-size:8pt;">Jan</span><span style=" font-size:8pt; font-weight:600;"> </span><span style=" font-size:8pt;">Keller</span> &lt;<span style=" font-size:8pt;">trilarion@users.sourceforge.net</span>&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polish: </span>Maciej Mrug</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9078,11 +9447,11 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + @@ -9120,26 +9489,26 @@ p, li { white-space: pre-wrap; } Error opening help file: - + IdDetailsDialog - + Person Details Προσωπικές Λεπτομέρειες Identity Info - + Owner node ID : - + @@ -9149,22 +9518,22 @@ p, li { white-space: pre-wrap; } Owner node name : - + Identity name : - + Identity ID : - + Last used: - + @@ -9180,7 +9549,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + @@ -9190,20 +9559,20 @@ p, li { white-space: pre-wrap; } Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9213,9 +9582,9 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + @@ -9225,7 +9594,7 @@ p, li { white-space: pre-wrap; } Neutral - + @@ -9235,67 +9604,67 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + Unknown real name - + Anonymous Id - + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + @@ -9305,19 +9674,20 @@ p, li { white-space: pre-wrap; } Banned - + IdDialog - + + New ID Νέο ID - - + + All Όλα @@ -9333,39 +9703,71 @@ p, li { white-space: pre-wrap; } Αναζητηση - - Unknown real name - - - - + Anonymous Id - + - + Create new Identity Δημιουργια νέας ταυτότητας - - Persons - + + Create new circle + - + + Persons + + + + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + Κύκλοι + + + + Circle name + + + + + Membership + Ένταξη + + + + Public Circles + Δημόσιοι κύκλοι + + + + Personal Circles + Προσωπικοί κύκλοι + + + Edit identity Επεξεργασία Ταυτότητας @@ -9378,52 +9780,52 @@ p, li { white-space: pre-wrap; } Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID - + - + Send message Αποστολή μηνύματος - + Identity info - + Identity ID : - + Owner node name : - + @@ -9433,12 +9835,12 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + @@ -9448,7 +9850,7 @@ p, li { white-space: pre-wrap; } Neighbor nodes: - + @@ -9458,7 +9860,7 @@ p, li { white-space: pre-wrap; } Neutral - + @@ -9468,68 +9870,281 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous Ανώνυμος - + ID - + ID Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + Δημοσια + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + Κατάσταση: + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + Άγνωστο + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + @@ -9539,70 +10154,70 @@ p, li { white-space: pre-wrap; } Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + Ευχαριστούμε, <br> - - - - + + + + People - + @@ -9611,99 +10226,89 @@ p, li { white-space: pre-wrap; } Το άβατάρ σας - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9747,7 +10352,7 @@ p, li { white-space: pre-wrap; } To be generated - + @@ -9771,27 +10376,27 @@ p, li { white-space: pre-wrap; } Error getting key! - + Error KeyID invalid - + Unknown GpgId - + Unknown real name - + Create New Identity - + @@ -9815,7 +10420,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9831,27 +10436,27 @@ p, li { white-space: pre-wrap; } Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9869,7 +10474,7 @@ p, li { white-space: pre-wrap; } GXSId - + @@ -9879,27 +10484,27 @@ p, li { white-space: pre-wrap; } - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9912,7 +10517,7 @@ p, li { white-space: pre-wrap; } - + Copy Αντίγραφη @@ -9948,17 +10553,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -10013,7 +10618,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Add Friend Προσθήκη φίλου @@ -10029,7 +10634,7 @@ p, li { white-space: pre-wrap; } - + Options Επιλογές @@ -10063,12 +10668,12 @@ p, li { white-space: pre-wrap; } Οδηγός γρήγορης έναρξης - + RetroShare %1 a secure decentralized communication platform Το RetroShare %1 ειναι μια πλατφόρμα ασφαλούς αποκεντρωμένης επικοινωνίας - + Unfinished Ημιτελής @@ -10108,7 +10713,7 @@ p, li { white-space: pre-wrap; } Open Messenger - + @@ -10186,7 +10791,7 @@ p, li { white-space: pre-wrap; } Θέλετε πραγματικά να αποχωρησετε απο το RetroShare ? - + Internal Error Εσωτερικό σφάλμα @@ -10223,15 +10828,15 @@ p, li { white-space: pre-wrap; } ServicePermissions - + Service permissions matrix - + - + Add Προσθηκη @@ -10243,29 +10848,29 @@ p, li { white-space: pre-wrap; } Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose Συνθέση @@ -10367,19 +10972,19 @@ p, li { white-space: pre-wrap; } - + Tags Ετικέτες Address list: - + Recommend this friend - + @@ -10389,7 +10994,7 @@ p, li { white-space: pre-wrap; } Set Text background color - + @@ -10489,17 +11094,17 @@ p, li { white-space: pre-wrap; } All addresses (mixed) - + All people - + My contacts - + @@ -10527,7 +11132,7 @@ p, li { white-space: pre-wrap; } Γεια σου % 1, <br><br>%2 θέλει να είναι φίλοι μαζί σας σχετικά στο RetroShare.<br><br>Απάντηση τώρα: <br>%3 <br><br>ευχαριστώ, <br>η ομάδα του RetroShare - + Save Message Αποθηκεύση μυνηματος @@ -10810,49 +11415,49 @@ Do you want to save message ? Από: - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + @@ -10860,9 +11465,9 @@ Do you want to save message ? Ευχαριστούμε, <br> - + Distant identity: - + @@ -10872,12 +11477,12 @@ Do you want to save message ? Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10885,22 +11490,22 @@ Do you want to save message ? Everyone - + Contacts - + Επαφές Nobody - + Accept encrypted distant messages from - + @@ -10970,12 +11575,12 @@ Do you want to save message ? Distant messages: - + Load embedded images - + @@ -11105,17 +11710,17 @@ Do you want to save message ? Load images always for this message - + Hide the attachment pane - + Show the attachment pane - + @@ -11539,7 +12144,7 @@ Do you want to save message ? <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + @@ -11636,7 +12241,7 @@ Do you want to save message ? This message goes to a distant person. - + @@ -11656,22 +12261,22 @@ Do you want to save message ? Click to sort by signature - + This message was signed and the signature checks - + This message was signed but the signature doesn't check - + This message comes from a distant person. - + @@ -11682,7 +12287,7 @@ Do you want to save message ? RetroShare Αγγελιοφόρος - + Add a Friend Προσθήκη φίλου @@ -11697,17 +12302,17 @@ Do you want to save message ? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + @@ -11965,7 +12570,7 @@ Do you want to save message ? - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. @@ -12083,57 +12688,57 @@ Right-click and select 'make friend' to be able to connect. Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + @@ -12143,14 +12748,14 @@ Right-click and select 'make friend' to be able to connect. Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12181,7 +12786,7 @@ Reported error: Freeze - + @@ -12242,17 +12847,17 @@ Reported error: Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12329,7 +12934,7 @@ Reported error: Ip security - + @@ -12399,7 +13004,7 @@ Reported error: <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + @@ -12429,7 +13034,7 @@ Reported error: Disable All Toasters - + @@ -12439,7 +13044,7 @@ Reported error: Disable All Toaster temporarily - + @@ -12449,7 +13054,7 @@ Reported error: Systray - + @@ -12459,23 +13064,23 @@ Reported error: Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase PGP βασική φράση πρόσβασης @@ -12495,12 +13100,12 @@ Reported error: Το RetroShare εντόπισε ενα μη καταγεγραμμένο plugin. Αυτό συμβαίνει σε δύο περιπτώσεις: <UL><LI>Το executable αλλάξε.</LI><LI>Το plugin έχει αλλάξει</LI></UL>Πατηστε στο Ναι για να επιτραπει αυτό το plugin, ή οχι για να αρνηθη. Μπορείτε να αλλάξετε γνώμη αργότερα στις επιλογές-> Plugins, στη συνέχεια, κάντε επανεκκίνηση. - + Please check your system clock. Παρακαλώ ελέγξτε το ρολόι του συστήματός σας. - + Examining shared files... Εξέταση κοινόχρηστων αρχείων... @@ -12536,14 +13141,14 @@ Reported error: Κρυπτογραφημένο μήνυμα - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12578,7 +13183,7 @@ Reported error: - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers @@ -12598,37 +13203,37 @@ Low Traffic: 10% standard traffic and TODO: pauses all file-transfers PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + @@ -12638,7 +13243,7 @@ Low Traffic: 10% standard traffic and TODO: pauses all file-transfers No trust - + @@ -12658,31 +13263,31 @@ Low Traffic: 10% standard traffic and TODO: pauses all file-transfers Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12692,72 +13297,133 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures Περιλαμβάνουν υπογραφές + + + Options + Επιλογές + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details - + - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. Σφάλμα: οι peer λεπτομέρειες δεν μπορουν να παρθουν. - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) Ο παρεχόμενος αλγόριθμος κλειδιού δεν υποστηρίζεται από το RetroShare⏎ (κλειδιά RSA μόνο υποστηρίζονται προς το παρόν) - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + @@ -12775,28 +13441,28 @@ p, li { white-space: pre-wrap; } Η εμπιστοσύνη σας στο συγκεκριμένο ομότιμο δεν υπαρχει. - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure Αποτυχια υπογραφης @@ -12806,19 +13472,19 @@ p, li { white-space: pre-wrap; } Μαλλον ο κωδικος ειναι λαθος - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12967,26 +13633,80 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -13077,7 +13797,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -13090,7 +13810,7 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -13103,7 +13823,7 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -13250,7 +13970,7 @@ requesting to edit it! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -13319,37 +14039,37 @@ p, li { white-space: pre-wrap; }⏎ base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13372,7 +14092,7 @@ p, li { white-space: pre-wrap; }⏎ Widget for plugin %1 not found on plugins frame - + @@ -13390,12 +14110,12 @@ p, li { white-space: pre-wrap; }⏎ Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + @@ -13409,7 +14129,7 @@ p, li { white-space: pre-wrap; }⏎ [loading problem] - + @@ -13452,7 +14172,7 @@ malicious behavior of crafted plugins. <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + @@ -13529,32 +14249,32 @@ malicious behavior of crafted plugins. Chat remotely closed. Please close this window. - + The person you're talking to has deleted the secured chat tunnel. You may remove the chat window now. - + Closing this window will end the conversation, notify the peer and remove the encrypted tunnel. - + Kill the tunnel? - + Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13587,7 +14307,7 @@ malicious behavior of crafted plugins. You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + @@ -13597,7 +14317,7 @@ malicious behavior of crafted plugins. Submit a new Post - + @@ -13630,12 +14350,12 @@ malicious behavior of crafted plugins. <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + @@ -13688,7 +14408,7 @@ malicious behavior of crafted plugins. Update Topic - + @@ -13701,7 +14421,7 @@ malicious behavior of crafted plugins. Subscribe to Posted - + @@ -13717,7 +14437,7 @@ malicious behavior of crafted plugins. Posted Description - + @@ -13727,7 +14447,7 @@ malicious behavior of crafted plugins. New Posted - + @@ -13738,7 +14458,7 @@ malicious behavior of crafted plugins. PostedItem - + 0 0 @@ -13749,7 +14469,7 @@ malicious behavior of crafted plugins. - + Comments Σχολια @@ -13761,12 +14481,12 @@ malicious behavior of crafted plugins. Vote up - + Vote down - + @@ -13784,7 +14504,17 @@ malicious behavior of crafted plugins. Νεο - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Αναγνωση καταστασης της εναλλαγης μυνηματος @@ -13794,7 +14524,7 @@ malicious behavior of crafted plugins. Απομακρυνση στοιχειου - + Loading Φορτωση @@ -13854,7 +14584,7 @@ malicious behavior of crafted plugins. Submit a new Post - + @@ -13879,7 +14609,7 @@ malicious behavior of crafted plugins. 1-10 - + 1-10 @@ -13897,7 +14627,7 @@ malicious behavior of crafted plugins. Open each topic in a new tab - + @@ -14045,28 +14775,28 @@ and use the import button to load it <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + You can use it now to create a new node. - + @@ -14254,9 +14984,9 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation Επιβεβαίωση @@ -14266,7 +14996,7 @@ p, li { white-space: pre-wrap; } Θέλετε αυτός ο σύνδεσμος να αντιμετωπιστεί από το σύστημά σας; - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. @@ -14274,7 +15004,7 @@ and open the Make Friend Wizard. - + Add file Προσθηκη το αρχείο @@ -14294,12 +15024,17 @@ and open the Make Friend Wizard. Θέλετε να επεξεργαστεί %1 συνδέσεις; - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. %1 από %2 eMule ομάδα + Ultra σύνδεσμο επεξεργασία. @@ -14408,6 +15143,21 @@ and open the Make Friend Wizard. Channel messages not found Μυνηματα καναλιων δεν βρέθηκαν + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + + Recipient not accepted @@ -14451,7 +15201,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Αποτέλεσμα - + Unable to make path Δεν είναι δυνατή η διαδρομή @@ -14466,7 +15216,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Απέτυχε να επεξεργαστεί το αρχείο συλλογής - + Deny friend Αρνησει φίλου @@ -14486,7 +15236,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Ακυρώθηκε η αίτηση αρχειου - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. Αυτή η έκδοση του RetroShare χρησιμοποιεί το OpenPGP-SDK. Ως παρενέργεια, δεν χρησιμοποιεί το κοινό σύστημα διαχείρισης κλειδιών του PGP, αλλά έχει είναι δική ΜΠΡΕΛΟΚ συμμερίζονται όλες οι παρουσίες RetroShare. <br><br>Δεν φαίνεται να έχουν ένα τέτοιο μπρελόκ, αν και τα κλειδιά του PGP αναφέρονται από τους υπάρχοντες λογαριασμούς eMule ομάδα + Ultra, πιθανώς επειδή έχετε αλλάξει μόνο σε αυτήν την νέα έκδοση του λογισμικού. @@ -14497,12 +15247,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - + RetroShare RetroShare - + Initialization failed. Wrong or missing installation of PGP. Απέτυχε η αναγνωριση. Σφαλμα ή λείπει η εγκατάσταση του PGP. @@ -14512,12 +15262,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Παρουσιάστηκε μη αναμενόμενο σφάλμα. Παρακαλούμε να το αναφέρετε» RsInit::InitRetroShare απροσδόκητη επιστροφή κωδικός % 1». - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. Παρουσιάστηκε μη αναμενόμενο σφάλμα. Παρακαλούμε να το αναφέρετε» RsInit::InitRetroShare απροσδόκητη επιστροφή κωδικός % 1». - + Multiple instances Πολλές εμφανίσεις @@ -14539,24 +15289,23 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - Start with a RetroShare link is only supported for Windows. - Έναρξη με μια RetroShare σύνδεση που υποστηρίζεται μόνο απο το Windows. + Έναρξη με μια RetroShare σύνδεση που υποστηρίζεται μόνο απο το Windows. Distant peer has closed the chat - + Tunnel is pending... - + Secured tunnel is working. You can talk! - + @@ -14564,27 +15313,27 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Reported error is: %2 - + - + Click to send a private message to %1 (%2). - + %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + @@ -14594,37 +15343,37 @@ Reported error is: TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + @@ -14639,26 +15388,26 @@ Reported error is: Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago %1 δευτερόλεπτα πριν @@ -14711,39 +15460,39 @@ Reported error is: Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error Σφάλμα unable to parse XML file! - + @@ -14758,12 +15507,12 @@ Security: no anonymous IDs <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14886,10 +15635,10 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -14936,7 +15685,7 @@ p, li { white-space: pre-wrap; }⏎ RetroShare Page Display Style - + @@ -14946,21 +15695,21 @@ p, li { white-space: pre-wrap; }⏎ ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -14975,8 +15724,8 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> @@ -15026,7 +15775,7 @@ p, li { white-space: pre-wrap; } Browsable - + @@ -15036,12 +15785,12 @@ p, li { white-space: pre-wrap; } If checked, the share is anonymously shared to anybody. - + If checked, the share is browsable by your friends. - + @@ -15049,12 +15798,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + Θέλετε να διακόψετε την κοινή χρήση αυτόυ του κατάλογου ? @@ -15085,12 +15834,12 @@ p, li { white-space: pre-wrap; } The loading of embedded images is blocked. - + Load images - + @@ -15098,60 +15847,60 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15259,7 +16008,7 @@ p, li { white-space: pre-wrap; } <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15293,22 +16042,22 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + @@ -15326,28 +16075,28 @@ p, li { white-space: pre-wrap; } Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15379,12 +16128,12 @@ p, li { white-space: pre-wrap; } Λυψη! - + File Αρχειο - + Size Μεγεθος @@ -15401,7 +16150,7 @@ p, li { white-space: pre-wrap; } Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. Μερικά ονόματα αρχείων ή κατάλογων περιεχουν απαγορευμένους χαρακτήρες. Χαρακτήρες <b>", |, /, \, &lt;&gt;,, *,</b> θα αντικατασταθούν από '_'. @@ -15420,12 +16169,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + @@ -15435,7 +16184,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + @@ -15448,36 +16197,41 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Αποθηκευση - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + @@ -15489,12 +16243,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Real File Count=%1 - + Save Collection File. - + @@ -15509,32 +16263,32 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Merge - + Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + @@ -15585,12 +16339,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace This file contains the string "%1" and is therefore an invalid collection file. If you believe it is correct, remove the corresponding line from the file and re-open it with Retroshare. - + Save Collection File. - + @@ -15605,7 +16359,7 @@ If you believe it is correct, remove the corresponding line from the file and re Merge - + @@ -15621,7 +16375,7 @@ If you believe it is correct, remove the corresponding line from the file and re RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? Η εικόνα είναι πολυ μεγαλη για μετάδοση. @@ -15633,13 +16387,13 @@ Reducing image to %1x%2 pixels? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. Επαναφέρει όλα της αποθηκευμένα ρυθμίσεις της RetroShare. @@ -15679,7 +16433,7 @@ Reducing image to %1x%2 pixels? Πληροφορίες χρήσης RetroShare - + Unable to open log file '%1': %2 Δεν είναι δυνατή η ανοιχτό αρχείο καταγραφής '% 1': %2 @@ -15691,27 +16445,36 @@ Reducing image to %1x%2 pixels? Could not create data directory: %1 - + - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -15987,7 +16750,7 @@ Reducing image to %1x%2 pixels? Modify Collection... - + @@ -16041,7 +16804,7 @@ Reducing image to %1x%2 pixels? Peer Name: - + @@ -16058,33 +16821,33 @@ Reducing image to %1x%2 pixels? but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -16217,27 +16980,27 @@ Reducing image to %1x%2 pixels? Certificate has wrong signature!! This peer is not who he claims to be. - + Missing/Damaged certificate. Not a real Retroshare user. - + Certificate caused an internal error. - + Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16250,12 +17013,12 @@ Reducing image to %1x%2 pixels? Network Mode - + Τυπος δικτυου Nat - + @@ -16343,7 +17106,7 @@ Reducing image to %1x%2 pixels? If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. Εάν καταργήσετε την επιλογή αυτή, το RetroShare μπορεί να καθορίσει μόνο IP σας όταν συνδέεστε σε κάποιον. Αφήνοντας αυτό ελέγχεται βοηθά τη σύνδεση όταν έχετε μερικούς φίλους. Βοηθά επίσης εάν είστε πίσω από ένα τείχος προστασίας ή ένα VPN. @@ -16361,12 +17124,12 @@ behind a firewall or a VPN. Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + @@ -16376,75 +17139,75 @@ behind a firewall or a VPN. Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + @@ -16454,27 +17217,27 @@ Also check your ports! Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16489,18 +17252,18 @@ Also check your ports! IP Filters - + IP blacklist - + IP range - + @@ -16514,13 +17277,13 @@ Also check your ports! Origin - + Reason - + @@ -16532,158 +17295,158 @@ Also check your ports! IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + @@ -16701,73 +17464,73 @@ If you have issues connecting over Tor check the Tor logs too. <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16780,22 +17543,22 @@ If you have issues connecting over Tor check the Tor logs too. Service Permissions - + Use as direct source, when available - + Auto-download recommended files - + Require whitelist - + @@ -16803,7 +17566,7 @@ If you have issues connecting over Tor check the Tor logs too. ServicePermissions - + @@ -16818,12 +17581,12 @@ If you have issues connecting over Tor check the Tor logs too. hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16880,7 +17643,7 @@ If you have issues connecting over Tor check the Tor logs too. Share flags and groups: - + @@ -16898,13 +17661,13 @@ If you have issues connecting over Tor check the Tor logs too. Share - + You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -17015,7 +17778,7 @@ Select the Friends with which you want to Share your Channel. This is a list of shared folders. You can add and remove folders using the buttons at the bottom. When you add a new folder, intially all files in that folder are shared. You can separately setup share flags for each shared directory. - + @@ -17134,7 +17897,7 @@ Select the Friends with which you want to Share your Channel. Modify Collection... - + @@ -17157,12 +17920,12 @@ Select the Friends with which you want to Share your Channel. Go Online - + Chatmessage - + @@ -17178,7 +17941,7 @@ Select the Friends with which you want to Share your Channel. Message arrived - + @@ -17193,7 +17956,7 @@ Select the Friends with which you want to Share your Channel. Lobby - + @@ -17236,7 +17999,7 @@ Select the Friends with which you want to Share your Channel. Default - + Προεπιλογή @@ -17244,18 +18007,18 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile Φορτωση του προφιλ @@ -17326,9 +18089,9 @@ The current identities/locations will not be affected. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17337,7 +18100,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17346,7 +18109,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17355,7 +18118,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17409,12 +18172,12 @@ This choice can be reverted in settings. ServicePermissions - + Service permissions matrix - + @@ -17429,12 +18192,12 @@ This choice can be reverted in settings. Turtle Router - + Global Router - + @@ -17541,7 +18304,7 @@ This choice can be reverted in settings. Connected: I2P - + @@ -17556,57 +18319,57 @@ This choice can be reverted in settings. TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17626,7 +18389,7 @@ This choice can be reverted in settings. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -17639,7 +18402,7 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -17803,17 +18566,17 @@ p, li { white-space: pre-wrap; }⏎ SubscribeToolButton - + Subscribed Εγγεγραμμένος - + Unsubscribe Καταργηση εγγραφης - + Subscribe Εγγραφη @@ -17872,12 +18635,12 @@ p, li { white-space: pre-wrap; }⏎ All Toasters are disabled - + Toasters are enabled - + @@ -17932,11 +18695,11 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -17955,27 +18718,27 @@ p, li { white-space: pre-wrap; }⏎ <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -18010,7 +18773,7 @@ p, li { white-space: pre-wrap; }⏎ TransfersDialog - + Downloads Λήψεις @@ -18021,7 +18784,7 @@ p, li { white-space: pre-wrap; }⏎ Προσθήκες - + Name i.e: file name @@ -18262,7 +19025,7 @@ p, li { white-space: pre-wrap; }⏎ <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + @@ -18291,39 +19054,39 @@ p, li { white-space: pre-wrap; }⏎ - + Failed Απέτυχε - - + + Okay Εντάξει - - + + Waiting Αναμονή - + Downloading Λυψη - + Complete Ολοκλήρωθηκε - + Queued Στην ουρά @@ -18343,7 +19106,7 @@ p, li { white-space: pre-wrap; }⏎ Άγνωστο - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18427,25 +19190,25 @@ Try to be patient! Παρακαλούμε εισάγετε ένα νέο--και έγκυρο--όνομα αρχείου - + Last Time Seen i.e: Last Time Receiced Data - + UserID - + Expand all - + Επεκταση ολων Collapse all - + Σύμπτυξη όλων @@ -18455,12 +19218,12 @@ Try to be patient! Show Size Column - + Show Completed Column - + @@ -18475,12 +19238,12 @@ Try to be patient! Progress / Availability - + Πρόοδος / διαθεσιμότητα Show Progress / Availability Column - + @@ -18490,47 +19253,47 @@ Try to be patient! Show Sources Column - + Show Status Column - + Show Speed / Queue position Column - + Show Remaining Column - + Download time - + Χρονος λυψης Show Download time Column - + Show Hash Column - + Last Time Seen - + Show Last Time Seen Column - + @@ -18540,7 +19303,7 @@ Try to be patient! File Transfers - + @@ -18556,27 +19319,27 @@ Try to be patient! Show Path Column - + - + Could not delete preview file - + Try it again? - + - + Create Collection... Δημιουργία Συλλογής ... Modify Collection... - + @@ -18589,22 +19352,22 @@ Try to be patient! Συλλογή - + File sharing Κοινή χρήση αρχείων - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: έκδοση: @@ -18763,12 +19526,12 @@ Try to be patient! Anonymous tunnels - + Authenticated tunnels - + @@ -18778,7 +19541,7 @@ Try to be patient! Turtle Router - + @@ -18826,7 +19589,7 @@ Try to be patient! Forwarded data - + @@ -18955,7 +19718,7 @@ Try to be patient! Enable Retroshare WEB Interface - + @@ -18965,47 +19728,47 @@ Try to be patient! Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -19233,7 +19996,7 @@ Try to be patient! Show Wiki Group - + @@ -19404,7 +20167,7 @@ Try to be patient! Update Group - + @@ -19634,4 +20397,4 @@ Try to be patient! Εικόνες (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_en.ts b/retroshare-gui/src/lang/retroshare_en.ts index b41e1edaa..751263aa0 100644 --- a/retroshare-gui/src/lang/retroshare_en.ts +++ b/retroshare-gui/src/lang/retroshare_en.ts @@ -759,7 +759,7 @@ p, li { white-space: pre-wrap; } BWGraphSource - + KB/s @@ -1037,6 +1037,11 @@ p, li { white-space: pre-wrap; } Mute participant + + + Ban this person (Sets negative opinion) + + Send Message @@ -1053,7 +1058,7 @@ p, li { white-space: pre-wrap; } - + Invite friends to this lobby @@ -1073,7 +1078,7 @@ p, li { white-space: pre-wrap; } - + Welcome to lobby %1 @@ -1089,7 +1094,7 @@ p, li { white-space: pre-wrap; } - + Lobby management @@ -1136,12 +1141,12 @@ p, li { white-space: pre-wrap; } - + Start private chat - + Decryption failed. @@ -1226,12 +1231,12 @@ p, li { white-space: pre-wrap; } ChatLobbyWidget - + Chat lobbies - + Name @@ -1269,7 +1274,7 @@ p, li { white-space: pre-wrap; } - + Selected lobby info @@ -1309,7 +1314,7 @@ p, li { white-space: pre-wrap; } - + Search Chat lobbies @@ -1349,7 +1354,7 @@ p, li { white-space: pre-wrap; } - + Lobby Name: @@ -1514,7 +1519,7 @@ Double click lobbies to enter and chat. - + Quick Message @@ -1523,12 +1528,12 @@ Double click lobbies to enter and chat. ChatPage - + General - + Distant Chat @@ -1602,6 +1607,11 @@ Double click lobbies to enter and chat. Send message with Ctrl+Return + + + Send as plain text by default + + Chat Lobby @@ -1707,7 +1717,7 @@ Double click lobbies to enter and chat. - + Incoming message in history @@ -1842,7 +1852,7 @@ Double click lobbies to enter and chat. - + Private chat invite from @@ -1865,7 +1875,7 @@ Double click lobbies to enter and chat. ChatStyle - + Standard style for group chat @@ -1919,12 +1929,12 @@ Double click lobbies to enter and chat. - + Send - + Bold @@ -1939,12 +1949,12 @@ Double click lobbies to enter and chat. - + Attach a Picture - + Strike @@ -1995,7 +2005,7 @@ Double click lobbies to enter and chat. - + Quote @@ -2020,17 +2030,45 @@ Double click lobbies to enter and chat. - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? - + Add Extra File @@ -2075,7 +2113,7 @@ Double click lobbies to enter and chat. - + Find Case Sensitively @@ -2097,7 +2135,7 @@ Double click lobbies to enter and chat. - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> @@ -2112,12 +2150,12 @@ Double click lobbies to enter and chat. - + (Status) - + Set text font & color @@ -2127,7 +2165,7 @@ Double click lobbies to enter and chat. - + WARNING: Could take a long time on big history. @@ -2138,17 +2176,12 @@ Double click lobbies to enter and chat. - + <b>Mark this selected text</b><br><i>Ctrl+M</i> - - %1This message consists of %2 characters. - - - - + items found. @@ -2163,22 +2196,12 @@ Double click lobbies to enter and chat. - - Display Search Box - - - - - Search Box - - - - + Type a message here - + Don't stop to color after @@ -2187,11 +2210,6 @@ Double click lobbies to enter and chat. items found (need more CPU) - - - Warning: - - CircleWidget @@ -2209,7 +2227,7 @@ Double click lobbies to enter and chat. CirclesDialog - + Showing details: @@ -2231,7 +2249,7 @@ Double click lobbies to enter and chat. - + Personal Circles @@ -2257,7 +2275,7 @@ Double click lobbies to enter and chat. - + Friends @@ -2317,7 +2335,7 @@ Double click lobbies to enter and chat. - + External Circles (Admin) @@ -2341,7 +2359,7 @@ Double click lobbies to enter and chat. ConfCertDialog - + Details @@ -2357,7 +2375,7 @@ Double click lobbies to enter and chat. - + Local Address @@ -2384,36 +2402,31 @@ Double click lobbies to enter and chat. - + + Use this certificate to make friends: + + + + Include signatures - - + + RetroShare - - + + Error : cannot get peer details. - - Use as direct source, when available - - - - - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - - - - + Encryption @@ -2428,17 +2441,12 @@ Double click lobbies to enter and chat. - - Options - - - - + Retroshare node details - + Node name : @@ -2473,22 +2481,12 @@ Double click lobbies to enter and chat. - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + Hidden Address @@ -2524,17 +2522,7 @@ Double click lobbies to enter and chat. - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> @@ -3760,68 +3748,56 @@ p, li { white-space: pre-wrap; } CreateCircleDialog - + + + + Circle Details - - + Name - - Creator - - - - - Distribution - - - - + Public - - Self-Restricted - - - - - Restricted to: - - - - - Circle Membership - - - - + IDs - - Known Identities - - - - + Filter - + Nickname - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID @@ -3831,55 +3807,84 @@ p, li { white-space: pre-wrap; } - - - - + + Name: + + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare - + Please set a name for your Circle - - Personal Circle Details - - - - - External Circle Details - - - - - Cannot Edit Existing Circles Yet - - - - + No Restriction Circle Selected - + No Circle Limitations Selected - - Create New Personal Circle - - - - - Create New External Circle - - - - + Add @@ -3889,13 +3894,13 @@ p, li { white-space: pre-wrap; } - + Search - + All @@ -3910,49 +3915,94 @@ p, li { white-space: pre-wrap; } - + Edit Circle - - + PGP Identity - - - + + + Anon Id + + + Circle name + + + + + Update + + + Close + + + + + + Create New Circle + + + + + Create + + + + PGP Linked Id + + + Add Member + + + + + Remove Member + + CreateGroup - + Create a Group - - Group Name + + Group Name: - + + Group ID: + + + + Enter a name for your group - + + To be defined + + + + Friends @@ -4111,7 +4161,7 @@ p, li { white-space: pre-wrap; } CreateGxsForumMsg - + Post Forum Message @@ -4156,12 +4206,12 @@ p, li { white-space: pre-wrap; } - + No Forum - + In Reply to @@ -4187,9 +4237,19 @@ p, li { white-space: pre-wrap; } Add Extra File + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data @@ -4199,12 +4259,12 @@ p, li { white-space: pre-wrap; } - + Send - + Forum Message @@ -5650,7 +5710,7 @@ you plug it in. - + Group @@ -5691,7 +5751,7 @@ you plug it in. - + Search @@ -5701,7 +5761,7 @@ you plug it in. - + Move to group @@ -5736,12 +5796,12 @@ you plug it in. - + Do you want to remove this Friend? - + Done! @@ -5784,7 +5844,7 @@ at least one peer was not added to a group - Select file for importing yoour friendlist from + Select file for importing your friendlist from @@ -5827,7 +5887,7 @@ at least one peer was not added to a group - + Attempt to connect @@ -5857,7 +5917,7 @@ at least one peer was not added to a group - + Do you want to remove this node? @@ -5867,7 +5927,7 @@ at least one peer was not added to a group - + Send message to whole group @@ -5930,7 +5990,7 @@ at least one peer was not added to a group - + Mark all @@ -6123,7 +6183,12 @@ anonymous, you can use a fake email. - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> @@ -6187,7 +6252,7 @@ anonymous, you can use a fake email. - + Failed to generate your new certificate, maybe PGP password is wrong! @@ -6220,7 +6285,7 @@ Alternatively you can use an existing profile. Just uncheck "Create a new p - + Create a new profile @@ -6271,12 +6336,7 @@ Alternatively you can use an existing profile. Just uncheck "Create a new p - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length @@ -6426,12 +6486,12 @@ and use the import button to load it - + Profile generation failure - + Missing PGP certificate @@ -6497,7 +6557,7 @@ Fill in your PGP password when asked, to sign your new key. - Register retroshare:// as URL protocol (Restart required) + Register retroshare:// as URL protocol @@ -6506,7 +6566,27 @@ Fill in your PGP password when asked, to sign your new key. - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle @@ -6526,7 +6606,17 @@ Fill in your PGP password when asked, to sign your new key. - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error @@ -6547,7 +6637,7 @@ Fill in your PGP password when asked, to sign your new key. - + Minimize to Tray Icon @@ -6797,26 +6887,26 @@ p, li { white-space: pre-wrap; } - Data size + Stored data size + + + + + Receive time (secs ago) + Sending time (secs ago) + + + + Data hash - - Received - - - - - Send - - - - + Branching factor @@ -6872,6 +6962,14 @@ p, li { white-space: pre-wrap; } + + GroupChooser + + + [Unknown] + + + GroupDefs @@ -7005,17 +7103,22 @@ p, li { white-space: pre-wrap; } - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer - - Share channel admin permissions - - - - + Share forum admin permissions @@ -7034,11 +7137,6 @@ p, li { white-space: pre-wrap; } You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - - GroupTreeWidget @@ -7082,18 +7180,23 @@ p, li { white-space: pre-wrap; } Sort by Posts + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + + Display - - You have admin rights - - - - + Subscribe to download and read messages @@ -7438,6 +7541,16 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status @@ -7448,7 +7561,7 @@ p, li { white-space: pre-wrap; } - + Play @@ -7485,12 +7598,12 @@ p, li { white-space: pre-wrap; } - + Channel Feed - + Files @@ -7530,12 +7643,12 @@ p, li { white-space: pre-wrap; } - + Loading - + Open @@ -7553,7 +7666,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel @@ -7568,7 +7681,7 @@ p, li { white-space: pre-wrap; } - + Title @@ -7603,7 +7716,32 @@ p, li { white-space: pre-wrap; } - + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download @@ -7623,7 +7761,23 @@ p, li { white-space: pre-wrap; } - + + Administrator: + + + + + + unknown + + + + + Distribution: + + + + Feeds @@ -7633,17 +7787,17 @@ p, li { white-space: pre-wrap; } - + Subscribers - + Description: - + Posts (at neighbor nodes): @@ -7923,7 +8077,7 @@ before you can comment - + Start new Thread for Selected Forum @@ -7949,7 +8103,7 @@ before you can comment - + Title @@ -7962,7 +8116,7 @@ before you can comment - + Author @@ -7973,7 +8127,7 @@ before you can comment - + Loading @@ -8107,6 +8261,11 @@ before you can comment + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 @@ -8116,7 +8275,42 @@ before you can comment - + + [unknown] + + + + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + + + + Anti-spam @@ -8220,7 +8414,7 @@ before you can comment - + Forum name @@ -8235,7 +8429,7 @@ before you can comment - + Description @@ -8245,7 +8439,7 @@ before you can comment - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> @@ -8323,13 +8517,13 @@ before you can comment GxsGroupDialog - - + + Name - + Add Icon @@ -8344,7 +8538,7 @@ before you can comment - + check peers you would like to share private publish key with @@ -8354,36 +8548,36 @@ before you can comment - - + + Description - + Message Distribution - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public - - - Restricted to Group - - - - - + Only For Your Friends - + Publish Signatures @@ -8429,12 +8623,11 @@ before you can comment - Comments - + Allow Comments @@ -8449,68 +8642,104 @@ before you can comment - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids + + Comments: - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + TextLabel - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name - + + PGP signature from known ID required + + + + Load Group Logo - + Submit Group Changes - + Failed to Prepare Group MetaData - please Review - + Will be used to send feedback @@ -8520,52 +8749,82 @@ before you can comment - + Set a descriptive description here - + Info - - Comments allowed - - - - - Comments not allowed - - - - + ID - + Last Post + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity - + Posts - - Type - - - - + Author @@ -8623,7 +8882,12 @@ before you can comment - + + Share publish permissions + + + + Copy RetroShare Link @@ -8638,25 +8902,20 @@ before you can comment - + AUTHD - - - Share admin permissions - - GxsIdChooser - + No Signature - + Create new Identity @@ -8664,7 +8923,7 @@ before you can comment GxsIdDetails - + Loading @@ -9083,7 +9342,7 @@ p, li { white-space: pre-wrap; } IdDetailsDialog - + Person Details @@ -9267,13 +9526,14 @@ p, li { white-space: pre-wrap; } IdDialog - + + New ID - - + + All @@ -9289,27 +9549,32 @@ p, li { white-space: pre-wrap; } - - Unknown real name - - - - + Anonymous Id - + Create new Identity + + + Create new circle + + Persons - + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -9321,7 +9586,34 @@ p, li { white-space: pre-wrap; } - + + + + Circles + + + + + Circle name + + + + + Membership + + + + + Public Circles + + + + + Personal Circles + + + + Edit identity @@ -9342,7 +9634,7 @@ p, li { white-space: pre-wrap; } - + Owner node ID : @@ -9352,22 +9644,22 @@ p, li { white-space: pre-wrap; } - + () - + Identity ID - + Send message - + Identity info @@ -9392,7 +9684,7 @@ p, li { white-space: pre-wrap; } - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> @@ -9432,22 +9724,12 @@ p, li { white-space: pre-wrap; } - - Contacts - - - - - Owned by you - - - - + Anonymous - + ID @@ -9457,23 +9739,246 @@ p, li { white-space: pre-wrap; } - + This identity is owned by you - - Unknown PGP key + + My own identities + + + + + My contacts + + + + + Owned by myself - - Unknown key ID + Linked to my node - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node @@ -9498,7 +10003,7 @@ p, li { white-space: pre-wrap; } - + Add to Contacts @@ -9553,10 +10058,10 @@ p, li { white-space: pre-wrap; } - - - - + + + + People @@ -9567,12 +10072,7 @@ p, li { white-space: pre-wrap; } - - Linked to your node - - - - + Linked to neighbor nodes @@ -9582,12 +10082,7 @@ p, li { white-space: pre-wrap; } - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node @@ -9602,7 +10097,7 @@ p, li { white-space: pre-wrap; } - + Chat with this person @@ -9622,7 +10117,7 @@ p, li { white-space: pre-wrap; } - + +50 Known PGP @@ -9637,17 +10132,17 @@ p, li { white-space: pre-wrap; } - + Do you really want to delete this identity? - + Owned by - + Node name: @@ -9657,7 +10152,7 @@ p, li { white-space: pre-wrap; } - + Really delete? @@ -9835,25 +10330,25 @@ p, li { white-space: pre-wrap; } - + GXS name: - - + + PGP name: - + GXS id: - + PGP id: @@ -9868,7 +10363,7 @@ p, li { white-space: pre-wrap; } - + Copy @@ -9969,7 +10464,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Add Friend @@ -9985,7 +10480,7 @@ p, li { white-space: pre-wrap; } - + Options @@ -10019,12 +10514,12 @@ p, li { white-space: pre-wrap; } - + RetroShare %1 a secure decentralized communication platform - + Unfinished @@ -10138,7 +10633,7 @@ p, li { white-space: pre-wrap; } - + Internal Error @@ -10183,7 +10678,7 @@ p, li { white-space: pre-wrap; } - + Add @@ -10217,7 +10712,7 @@ p, li { white-space: pre-wrap; } MessageComposer - + Compose @@ -10319,7 +10814,7 @@ p, li { white-space: pre-wrap; } - + Tags @@ -10479,7 +10974,7 @@ p, li { white-space: pre-wrap; } - + Save Message @@ -10760,7 +11255,7 @@ Do you want to save message ? - + Friend Nodes @@ -10810,7 +11305,7 @@ Do you want to save message ? - + Distant identity: @@ -11632,7 +12127,7 @@ Do you want to save message ? - + Add a Friend @@ -12417,7 +12912,7 @@ Reported error: NotifyQt - + PGP key passphrase @@ -12437,12 +12932,12 @@ Reported error: - + Please check your system clock. - + Examining shared files... @@ -12478,12 +12973,12 @@ Reported error: - + Please enter your PGP password for key - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). @@ -12605,7 +13100,7 @@ Reported error: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } @@ -12654,7 +13149,12 @@ p, li { white-space: pre-wrap; } - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> @@ -12663,6 +13163,62 @@ p, li { white-space: pre-wrap; } Include signatures + + + Options + + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details @@ -12670,26 +13226,26 @@ p, li { white-space: pre-wrap; } - - + + RetroShare - - - + + + Error : cannot get peer details. - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. @@ -12714,7 +13270,7 @@ p, li { white-space: pre-wrap; } - + This key has signed your own PGP key @@ -12735,7 +13291,7 @@ p, li { white-space: pre-wrap; } - + Signature Failure @@ -12745,7 +13301,7 @@ p, li { white-space: pre-wrap; } - + You haven't set a trust level for this key. @@ -12906,16 +13462,12 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People - - - External - - @@ -12927,6 +13479,64 @@ p, li { white-space: pre-wrap; } Internal + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + + PhotoCommentItem @@ -13661,7 +14271,7 @@ malicious behavior of crafted plugins. PostedItem - + 0 @@ -13672,7 +14282,7 @@ malicious behavior of crafted plugins. - + Comments @@ -13707,7 +14317,17 @@ malicious behavior of crafted plugins. - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status @@ -13717,7 +14337,7 @@ malicious behavior of crafted plugins. - + Loading @@ -14177,9 +14797,9 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation @@ -14189,14 +14809,14 @@ p, li { white-space: pre-wrap; } - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. - + Add file @@ -14216,12 +14836,17 @@ and open the Make Friend Wizard. - - This file already exists. Do you want to open it ? + + Warning: Retroshare is about to ask your system to open this file. - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. @@ -14330,6 +14955,21 @@ and open the Make Friend Wizard. Channel messages not found + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + + Recipient not accepted @@ -14372,7 +15012,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - + Unable to make path @@ -14387,7 +15027,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - + Deny friend @@ -14407,7 +15047,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. @@ -14418,12 +15058,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - + RetroShare - + Initialization failed. Wrong or missing installation of PGP. @@ -14433,12 +15073,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + Multiple instances @@ -14457,11 +15097,6 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - - - Start with a RetroShare link is only supported for Windows. - - Distant peer has closed the chat @@ -14486,7 +15121,7 @@ Reported error is: - + Click to send a private message to %1 (%2). @@ -14496,7 +15131,7 @@ Reported error is: - + Click this link to send a private message to %1 (%2) @@ -14536,7 +15171,7 @@ Reported error is: - + You appear to have nodes associated to DSA keys: @@ -14577,7 +15212,7 @@ Reported error is: - + %1 seconds ago @@ -14644,8 +15279,8 @@ Security: no anonymous IDs - - + + This cert is malformed. Error code: @@ -14655,7 +15290,7 @@ Security: no anonymous IDs - + Error @@ -15036,7 +15671,7 @@ p, li { white-space: pre-wrap; } RSettingsWin - + Error Saving Configuration on page @@ -15266,12 +15901,12 @@ p, li { white-space: pre-wrap; } - + File - + Size @@ -15333,12 +15968,17 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - + Collection Editor - + + File Path + + + + File Count @@ -15348,14 +15988,14 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - - + + Real Size: Waiting child... - - + + Real File Count: Waiting child... @@ -15506,7 +16146,7 @@ If you believe it is correct, remove the corresponding line from the file and re RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? @@ -15523,7 +16163,7 @@ Reducing image to %1x%2 pixels? Rshare - + Resets ALL stored RetroShare settings. @@ -15563,7 +16203,7 @@ Reducing image to %1x%2 pixels? - + Unable to open log file '%1': %2 @@ -15578,12 +16218,12 @@ Reducing image to %1x%2 pixels? - + Revision - + Invalid language code specified: @@ -15598,6 +16238,15 @@ Reducing image to %1x%2 pixels? + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + + + RttStatistics @@ -17139,7 +17788,7 @@ Select the Friends with which you want to Share your Channel. SplashScreen - + Load profile @@ -17679,17 +18328,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed - + Unsubscribe - + Subscribe @@ -17879,7 +18528,7 @@ p, li { white-space: pre-wrap; } TransfersDialog - + Downloads @@ -17890,7 +18539,7 @@ p, li { white-space: pre-wrap; } - + Name i.e: file name @@ -18160,39 +18809,39 @@ p, li { white-space: pre-wrap; } - + Failed - - + + Okay - - + + Waiting - + Downloading - + Complete - + Queued @@ -18212,7 +18861,7 @@ p, li { white-space: pre-wrap; } - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18294,7 +18943,7 @@ Try to be patient! - + Last Time Seen i.e: Last Time Receiced Data @@ -18426,7 +19075,7 @@ Try to be patient! - + Could not delete preview file @@ -18436,7 +19085,7 @@ Try to be patient! - + Create Collection... @@ -18456,22 +19105,22 @@ Try to be patient! - + File sharing - + Anonymous tunnel 0x - + Show file list transfers - + version: diff --git a/retroshare-gui/src/lang/retroshare_es.ts b/retroshare-gui/src/lang/retroshare_es.ts index 1fdde840d..0dc44757c 100644 --- a/retroshare-gui/src/lang/retroshare_es.ts +++ b/retroshare-gui/src/lang/retroshare_es.ts @@ -1,4 +1,6 @@ - + + + AWidget @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file Lo siento, no se ha encontrado el comando de sistema por defecto para este archivo @@ -305,7 +307,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -427,7 +429,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -475,7 +477,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -488,7 +490,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -775,7 +777,7 @@ Pero recuerde: Todos los estos datos *SE PERDERÁN* cuando se actualice los prot BWGraphSource - + KB/s KB/s @@ -1053,6 +1055,11 @@ Pero recuerde: Todos los estos datos *SE PERDERÁN* cuando se actualice los prot Mute participant Participante silencioso + + + Ban this person (Sets negative opinion) + + Send Message @@ -1069,7 +1076,7 @@ Pero recuerde: Todos los estos datos *SE PERDERÁN* cuando se actualice los prot Ordenar por actividad - + Invite friends to this lobby Invitar a sus amigos a este grupo @@ -1089,7 +1096,7 @@ Pero recuerde: Todos los estos datos *SE PERDERÁN* cuando se actualice los prot Seleccione amigos para invitar: - + Welcome to lobby %1 Bienvenido a esta sala %1 @@ -1105,7 +1112,7 @@ Pero recuerde: Todos los estos datos *SE PERDERÁN* cuando se actualice los prot Sala de chat - + Lobby management @@ -1152,12 +1159,12 @@ Pero recuerde: Todos los estos datos *SE PERDERÁN* cuando se actualice los prot segundos - + Start private chat Iniciar conversación privada - + Decryption failed. Fallo al descrifrar. @@ -1242,12 +1249,12 @@ Pero recuerde: Todos los estos datos *SE PERDERÁN* cuando se actualice los prot ChatLobbyWidget - + Chat lobbies Salas de chat - + Name Nombre @@ -1285,7 +1292,7 @@ Pero recuerde: Todos los estos datos *SE PERDERÁN* cuando se actualice los prot [Ningún tema propuesto] - + Selected lobby info Información sobre la sala @@ -1325,7 +1332,7 @@ Pero recuerde: Todos los estos datos *SE PERDERÁN* cuando se actualice los prot %1 le invita a la sala de chat llamada %2 - + Search Chat lobbies Buscar salas de chat @@ -1365,7 +1372,7 @@ Pero recuerde: Todos los estos datos *SE PERDERÁN* cuando se actualice los prot No - + Lobby Name: Nombre de la sala: @@ -1532,7 +1539,7 @@ Haga doble clic en las salas para entrar y charlar. Cancelar - + Quick Message Mensaje instantáneo @@ -1541,12 +1548,12 @@ Haga doble clic en las salas para entrar y charlar. ChatPage - + General General - + Distant Chat Chat remoto @@ -1620,6 +1627,11 @@ Haga doble clic en las salas para entrar y charlar. Send message with Ctrl+Return Enviar mensajes con Ctrl+Enter + + + Send as plain text by default + + Chat Lobby @@ -1725,7 +1737,7 @@ Haga doble clic en las salas para entrar y charlar. Saliente - + Incoming message in history Historial de mensajes recibidos @@ -1860,7 +1872,7 @@ Haga doble clic en las salas para entrar y charlar. Mostrar Barra por defecto - + Private chat invite from Invitación a chat privado de @@ -1883,7 +1895,7 @@ Haga doble clic en las salas para entrar y charlar. ChatStyle - + Standard style for group chat Plantilla estándar del chat público @@ -1937,12 +1949,12 @@ Haga doble clic en las salas para entrar y charlar. Cerrar - + Send Enviar - + Bold Negrita @@ -1957,12 +1969,12 @@ Haga doble clic en las salas para entrar y charlar. Cursiva - + Attach a Picture Adjuntar una imagen - + Strike Tachado @@ -2013,7 +2025,7 @@ Haga doble clic en las salas para entrar y charlar. Restablecer la fuente por defecto - + Quote Citar @@ -2038,17 +2050,45 @@ Haga doble clic en las salas para entrar y charlar. Guardar imagen - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... está escribiendo... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? ¿Seguro que quiere borrar el historial? - + Add Extra File Añadir otro archivo @@ -2093,7 +2133,7 @@ Haga doble clic en las salas para entrar y charlar. está ocupado e igual no contesta - + Find Case Sensitively Buscar discriminando mayúsculas/minúsculas @@ -2115,7 +2155,7 @@ Haga doble clic en las salas para entrar y charlar. No detenerse a colorear después de que X elementos se encontrasen (necesita más CPU) - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> <b>Buscar anterior</b><br/><i>Ctrl+Mayús+G</i> @@ -2130,12 +2170,12 @@ Haga doble clic en las salas para entrar y charlar. <b>Buscar </b><br/><i>Ctrl+F</i> - + (Status) (Estado) - + Set text font & color Configurar fuente de texto y color @@ -2145,7 +2185,7 @@ Haga doble clic en las salas para entrar y charlar. Adjuntar un archivo - + WARNING: Could take a long time on big history. ADVERTENCIA: Podría llevar mucho tiempo con una historia amplia. @@ -2156,17 +2196,16 @@ Haga doble clic en las salas para entrar y charlar. - + <b>Mark this selected text</b><br><i>Ctrl+M</i> <b>Marcar este texto seleccionado</b><br><i>Ctrl+M</i> - %1This message consists of %2 characters. - %1Este mensaje consiste en %2 caracteres. + %1Este mensaje consiste en %2 caracteres. - + items found. elementos encontrados. @@ -2181,22 +2220,20 @@ Haga doble clic en las salas para entrar y charlar. <b>Volver al texto marcado</b><br><i>Ctrl+M</i> - Display Search Box - Mostrar cuadro de búsqueda + Mostrar cuadro de búsqueda - Search Box - Cuadro de búsqueda + Cuadro de búsqueda - + Type a message here Escriba un mensaje aquí - + Don't stop to color after No parar de colorear tras @@ -2206,9 +2243,8 @@ Haga doble clic en las salas para entrar y charlar. elementos encontrados (se necesita más CPU) - Warning: - Advertencia: + Advertencia: @@ -2227,7 +2263,7 @@ Haga doble clic en las salas para entrar y charlar. CirclesDialog - + Showing details: Mostrando detalles: @@ -2249,7 +2285,7 @@ Haga doble clic en las salas para entrar y charlar. - + Personal Circles Círculos personales @@ -2275,7 +2311,7 @@ Haga doble clic en las salas para entrar y charlar. - + Friends Amigos @@ -2335,7 +2371,7 @@ Haga doble clic en las salas para entrar y charlar. Amigos de sus amigos - + External Circles (Admin) Círculos externos (Admin) @@ -2359,7 +2395,7 @@ Haga doble clic en las salas para entrar y charlar. ConfCertDialog - + Details Detalles @@ -2375,7 +2411,7 @@ Haga doble clic en las salas para entrar y charlar. - + Local Address Dirección local @@ -2402,36 +2438,39 @@ Haga doble clic en las salas para entrar y charlar. Lista de direcciones - + + Use this certificate to make friends: + + + + Include signatures Incluir firmas - - + + RetroShare RetroShare - - + + Error : cannot get peer details. Error: No se pueden obtener los detalles del vecino. - Use as direct source, when available - Utilizar como fuente directa, cuando esté disponible + Utilizar como fuente directa, cuando esté disponible - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - <html><head/><body><p align="justify">Retroshare comprueba periódicamente sus listas de amigos con archivos navegables que coincidan con sus transferencias, para establecer una transferencia directa. En este caso, su amigo sabe que está descargando el archivo.</p><p align="justify">Para evitar este comportamiento para este único amigo, desactive esta casilla. Todavía puede realizar una transferencia directa si usted lo pide explícitamente , p.ej., descargar la lista de archivos de su amigo. </p></body></html> + <html><head/><body><p align="justify">Retroshare comprueba periódicamente sus listas de amigos con archivos navegables que coincidan con sus transferencias, para establecer una transferencia directa. En este caso, su amigo sabe que está descargando el archivo.</p><p align="justify">Para evitar este comportamiento para este único amigo, desactive esta casilla. Todavía puede realizar una transferencia directa si usted lo pide explícitamente , p.ej., descargar la lista de archivos de su amigo. </p></body></html> - + Encryption Encriptación @@ -2446,17 +2485,16 @@ Haga doble clic en las salas para entrar y charlar. Direcciones del vecino - Options - Opciones + Opciones - + Retroshare node details Detalles del nodo RetroShare - + Node name : Nombre del nodo : @@ -2491,22 +2529,20 @@ Haga doble clic en las salas para entrar y charlar. Certificado de RetroShare - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - <html><head/><body><p>Esta opción le permite descargar automáticamente un fichero que esté recomendado en un mensaje proveniente de este nodo. Esto se puede usar, por ejemplo, para enviar ficheros entre sus propios nodos.</p></body></html> + <html><head/><body><p>Esta opción le permite descargar automáticamente un fichero que esté recomendado en un mensaje proveniente de este nodo. Esto se puede usar, por ejemplo, para enviar ficheros entre sus propios nodos.</p></body></html> - Auto-download recommended files from this node - Auto-descargar los archivos recomendados de este nodo + Auto-descargar los archivos recomendados de este nodo - + Friend node details Detalles del nodo amigo - + Hidden Address Dirección oculta @@ -2542,17 +2578,15 @@ Haga doble clic en las salas para entrar y charlar. <p>Puede usar este certificado para hacer nuevos amigos. Envíelo por correo electrónico, o proporciónelo en mano.</p> - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - <html><head/><body><p>Los pares (peers) que tengan esta opción no pueden conectarse si sus direcciones de conexión no están en la lista blanca. Esto le protege de ataques de redireccionamiento del tráfico. Al usarlo, se informará de los pares rechazados mediante &quot;los elementos de seguridad de las novedades&quot; en la sección de Novedades (feed). Desde allí puede incluir su IP en la lista blanca/negra.</p></body></html> + <html><head/><body><p>Los pares (peers) que tengan esta opción no pueden conectarse si sus direcciones de conexión no están en la lista blanca. Esto le protege de ataques de redireccionamiento del tráfico. Al usarlo, se informará de los pares rechazados mediante &quot;los elementos de seguridad de las novedades&quot; en la sección de Novedades (feed). Desde allí puede incluir su IP en la lista blanca/negra.</p></body></html> - Require white list clearance - Requiere limpiar la lista blanca + Requiere limpiar la lista blanca - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> <html><head/><body><p>Este es el certificado <span style=" font-weight:600;">OpenSSL</span> de la identificación (ID) del nodo, que está firmada por la clave <span style=" font-weight:600;">PGP</span> de arriba. </p></body></html> @@ -3728,11 +3762,11 @@ incluso si no hace amigos. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -3791,68 +3825,80 @@ p, li { white-space: pre-wrap; }⏎ CreateCircleDialog - + + + + Circle Details Detalles del círculo - - + Name Nombre - Creator - Creador + Creador - Distribution - Distribución + Distribución - + Public Público - Self-Restricted - Autorestringido + Autorestringido - Restricted to: - Restringido para: + Restringido para: - Circle Membership - Miembros del círculo + Miembros del círculo - + IDs IDs - Known Identities - Identidades conocidas + Identidades conocidas - + Filter Filtrar - + Nickname Apodo - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ID @@ -3862,55 +3908,104 @@ p, li { white-space: pre-wrap; }⏎ Tipo - - - - + + Name: + Nombre: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + Privado + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare RetroShare - + Please set a name for your Circle Por favor elija un nombre para su círculo - Personal Circle Details - Detalles del círculo personal + Detalles del círculo personal - External Circle Details - Detalles del círculo externo + Detalles del círculo externo - Cannot Edit Existing Circles Yet - Todavía no se pueden editar los círculos existentes. + Todavía no se pueden editar los círculos existentes. - + No Restriction Circle Selected Círculo seleccionado sin restricciones - + No Circle Limitations Selected No hay limitaciones en el círculo seleccionado - Create New Personal Circle - Crear nuevo círculo personal + Crear nuevo círculo personal - Create New External Circle - Crear nuevo círculo externo + Crear nuevo círculo externo - + Add Añadir @@ -3920,13 +4015,13 @@ p, li { white-space: pre-wrap; }⏎ Eliminar - + Search Buscar - + All Todos @@ -3941,49 +4036,98 @@ p, li { white-space: pre-wrap; }⏎ Firmado por nodos conocidos - + Edit Circle Editar círculo - - + PGP Identity Identidad PGP - - - + + + Anon Id Identidad anónima + + + Circle name + + + + + Update + + + Close + Cerrar + + + + + Create New Circle + + + + + Create + Crear + + + PGP Linked Id Identidad vinculada a PGP + + + Add Member + + + + + Remove Member + + CreateGroup - + Create a Group Crear un grupo - - Group Name - Nombre del grupo + + Group Name: + Nombre del grupo: - + + Group ID: + + + + Group Name + Nombre del grupo + + + Enter a name for your group Introduzca un nombre para el grupo - + + To be defined + + + + Friends Amigos @@ -4017,9 +4161,9 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -4148,7 +4292,7 @@ p, li { white-space: pre-wrap; } CreateGxsForumMsg - + Post Forum Message Enviar mensaje al foro @@ -4193,12 +4337,12 @@ p, li { white-space: pre-wrap; } Iniciar nuevo tema - + No Forum Ningún foro - + In Reply to En respuesta a @@ -4224,9 +4368,19 @@ p, li { white-space: pre-wrap; } Add Extra File Añadir mas archivos + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data Generar datos masivos @@ -4236,12 +4390,12 @@ p, li { white-space: pre-wrap; } ¿De veras quiere generar %1 mensajes? - + Send Enviar - + Forum Message Mensaje del foro @@ -5203,7 +5357,7 @@ Do you want to reject this message? Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. Mantener hashes de archivos aunque no estén @@ -5691,7 +5845,7 @@ los hashes al conectarlo. Mostrar grupos - + Group Grupo @@ -5732,7 +5886,7 @@ los hashes al conectarlo. Añadir a grupo - + Search Buscar @@ -5742,7 +5896,7 @@ los hashes al conectarlo. Ordenar por estado - + Move to group Mover a grupo @@ -5777,12 +5931,12 @@ los hashes al conectarlo. Disponible - + Do you want to remove this Friend? ¿Quiere eliminar este amigo? - + Done! ¡Hecho! @@ -5830,8 +5984,12 @@ al menos un par no fue añadido al grupo + Select file for importing your friendlist from + + + Select file for importing yoour friendlist from - Seleccione un fichero para importar su lista de amigos desde + Seleccione un fichero para importar su lista de amigos desde @@ -5875,7 +6033,7 @@ al menos un par no fue añadido al grupo IP - + Attempt to connect Intentando conectar @@ -5905,7 +6063,7 @@ al menos un par no fue añadido al grupo Eliminar nodo amigo - + Do you want to remove this node? ¿Quiere eliminar este nodo? @@ -5915,7 +6073,7 @@ al menos un par no fue añadido al grupo Nodos amigos - + Send message to whole group Enviar mensaje a todo el grupo @@ -5978,7 +6136,7 @@ al menos un par no fue añadido al grupo Buscar a amigos - + Mark all Mark todo @@ -6173,7 +6331,12 @@ anonymous, you can use a fake email. Contraseña (comprobado) - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> <html><head/><body><p align="justify">Antes de continuar, mueve el ratón para que RetroShare recopile tanta aleatoriedad como pueda. Llenar la barra de progreso hasta el 20% es necesario, hasta el 100% es recomenable.</p></body></html> @@ -6237,7 +6400,7 @@ anonymous, you can use a fake email. Se requiere que el campo del nodo tenga un mínimo de 3 caracteres - + Failed to generate your new certificate, maybe PGP password is wrong! ¡Fallo al generar su nuevo certificado, quizá la contraseña PGP está mal! @@ -6271,7 +6434,7 @@ Como alternativa puede usar un perfil existente. Simplemente desmarque "Cre - + Create a new profile Crear un nuevo perfil @@ -6322,12 +6485,11 @@ Como alternativa puede usar un perfil existente. Simplemente desmarque "Cre <html><head/><body><p>Este es su puerto de conexión.</p><p>Cualquier valor entre 1024 y 65535 </p><p>debería estar bien. Puede cambiarlo más tarde.</p></body></html> - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - <html><head/><body><p>Esto puede ser una dirección onion de Tor con la forma: xa76giaf6ifda7ri63i263.onion <br/>o una dirección I2P con la forma: [52 caracteres].b32.i2p </p><p>Para obtener una, tiene que configurar bien Tor o I2P para crear un nuevo servicio oculto / túnel de servidor. Si aún no tiene uno, todavía puede continuar, y crearlo luego en el panel de configuración de Opciones-&gt;Servidor-&gt;Servicio Oculto de RetroShare.</p></body></html> + <html><head/><body><p>Esto puede ser una dirección onion de Tor con la forma: xa76giaf6ifda7ri63i263.onion <br/>o una dirección I2P con la forma: [52 caracteres].b32.i2p </p><p>Para obtener una, tiene que configurar bien Tor o I2P para crear un nuevo servicio oculto / túnel de servidor. Si aún no tiene uno, todavía puede continuar, y crearlo luego en el panel de configuración de Opciones-&gt;Servidor-&gt;Servicio Oculto de RetroShare.</p></body></html> - + PGP key length Tamaño de clave PGP @@ -6484,12 +6646,12 @@ y usar el botón Importar para cargarlo - + Profile generation failure Fallo al generar perfil - + Missing PGP certificate Certificado PGP desaparecido @@ -6557,8 +6719,12 @@ Cuando se le pida, escriba su contraseña PGP para firmar su nueva clave. + Register retroshare:// as URL protocol + + + Register retroshare:// as URL protocol (Restart required) - Registrar retroshare:// como protocolo URL (requiere reiniciar) + Registrar retroshare:// como protocolo URL (requiere reiniciar) @@ -6566,7 +6732,27 @@ Cuando se le pida, escriba su contraseña PGP para firmar su nueva clave.Necesita derechos de administrador para cambiar esta opción. - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle Inactivo @@ -6586,7 +6772,17 @@ Cuando se le pida, escriba su contraseña PGP para firmar su nueva clave.Iniciar el Asistente de inicio - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error Error @@ -6607,7 +6803,7 @@ Cuando se le pida, escriba su contraseña PGP para firmar su nueva clave.General - + Minimize to Tray Icon Minimizar al icono de la bandeja @@ -6631,7 +6827,7 @@ Cuando se le pida, escriba su contraseña PGP para firmar su nueva clave.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> @@ -6664,7 +6860,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> @@ -6681,7 +6877,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6714,14 +6910,14 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> @@ -6743,7 +6939,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6913,26 +7109,38 @@ p, li { white-space: pre-wrap; } - Data size - Tamaño de los datos + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data size + Tamaño de los datos + + + Data hash Hash de los datos - Received - Recibido + Recibido - Send - Enviado + Enviado - + Branching factor Factor de ramificado @@ -6988,6 +7196,14 @@ p, li { white-space: pre-wrap; } Mostrar chat de grupo + + GroupChooser + + + [Unknown] + [Desconocida] + + GroupDefs @@ -7121,17 +7337,26 @@ p, li { white-space: pre-wrap; } Contactos: - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer Por favor, seleccione por lo menos un vecino - Share channel admin permissions - Compartir permisos de administrador del canal + Compartir permisos de administrador del canal - + Share forum admin permissions Compartir permisos de administrador del foro. @@ -7151,9 +7376,8 @@ p, li { white-space: pre-wrap; } Puede permitir que sus amigos editen el hilo. Selecciónelos en la lista de debajo. Nota: No es posible revocar permisos de administrador Publicados. - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - Puede permitir que sus amigos publiquen en su canal y que modifiquen la descripción. O puede enviar los permisos de administrador a otra instancia de RetroShare. Seleccione los amigos que quiera que tengan permitido publicar en este canal. Nota: No es posible revocar permisos de administrador del canal. + Puede permitir que sus amigos publiquen en su canal y que modifiquen la descripción. O puede enviar los permisos de administrador a otra instancia de RetroShare. Seleccione los amigos que quiera que tengan permitido publicar en este canal. Nota: No es posible revocar permisos de administrador del canal. @@ -7198,18 +7422,27 @@ p, li { white-space: pre-wrap; } Sort by Posts Ordenar por mensajes + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + + Display Mostrar - You have admin rights - Tiene derechos de administrador + Tiene derechos de administrador - + Subscribe to download and read messages Suscríbase para descargar y leer mensajes @@ -7554,6 +7787,16 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Cambiar el estado de lectura del mensaje @@ -7564,7 +7807,7 @@ p, li { white-space: pre-wrap; } - + Play Reproducir @@ -7601,12 +7844,12 @@ p, li { white-space: pre-wrap; } Quitar objeto - + Channel Feed Fuente del canal - + Files Archivos @@ -7646,12 +7889,12 @@ p, li { white-space: pre-wrap; } Esto no me gusta - + Loading Cargando - + Open Abrir @@ -7669,7 +7912,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel Mensaje al canal @@ -7684,7 +7927,7 @@ p, li { white-space: pre-wrap; } Buscar canales - + Title Título @@ -7719,7 +7962,32 @@ p, li { white-space: pre-wrap; } Ningún canal seleccionado - + + Public + Público + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download Desactivar descarga automática @@ -7739,7 +8007,23 @@ p, li { white-space: pre-wrap; } Mostrar archivos - + + Administrator: + + + + + + unknown + desconocido + + + + Distribution: + + + + Feeds Novedades (feeds) @@ -7749,17 +8033,17 @@ p, li { white-space: pre-wrap; } Archivos - + Subscribers Suscriptores - + Description: Descripción: - + Posts (at neighbor nodes): Publicaciones (en nodos vecinos): @@ -7883,7 +8167,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comentario</span></p></body></html> @@ -8039,7 +8323,7 @@ before you can comment Formulario - + Start new Thread for Selected Forum Iniciar nuevo tema para el foro seleccionado @@ -8065,7 +8349,7 @@ before you can comment - + Title Título @@ -8078,7 +8362,7 @@ before you can comment - + Author Autor @@ -8089,7 +8373,7 @@ before you can comment - + Loading Cargando @@ -8223,6 +8507,11 @@ before you can comment + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 El umbral de reputación de identidades anónimas se estableció a 0,4 @@ -8232,7 +8521,42 @@ before you can comment La información de enrutamiento de mensaje se conserva durante 10 días - + + [unknown] + + + + + Public + Público + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + Distribución + + + Anti-spam Anti-spam @@ -8336,7 +8660,7 @@ before you can comment En %1, %2 escribió: - + Forum name Nombre del foro @@ -8351,7 +8675,7 @@ before you can comment Posteos (en nodos vecinos) - + Description Descripción @@ -8361,7 +8685,7 @@ before you can comment Por - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> <p>Suscribirse al foro reunirá las publicaciones disponibles de sus amigos suscritos, y hará el foro visible para todos los demás amigos. </p><p>Posteriormente puede desuscribirse desde el menú contextual de la lista del foro a la izquierda.</p> @@ -8439,13 +8763,13 @@ before you can comment GxsGroupDialog - - + + Name Nombre - + Add Icon Añadir icono @@ -8460,7 +8784,7 @@ before you can comment Compartir llave pública - + check peers you would like to share private publish key with marcar los vecinos con los que le gustaría compartir privadamente su llave pública @@ -8470,36 +8794,40 @@ before you can comment Compartir llave con - - + + Description Descripción - + Message Distribution Distribución del mensaje - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public Público - - Restricted to Group - Restringida al grupo + Restringida al grupo - - + Only For Your Friends Sólo para sus amigos - + Publish Signatures Publicar firmas @@ -8545,12 +8873,11 @@ before you can comment - Comments Comentarios - + Allow Comments Permitir comentarios @@ -8565,68 +8892,128 @@ before you can comment Protección-del-spam - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - <html><head/><body><p>Esto hace que el medio incremente el umbral de reputación hasta 0,4 para identidades anónimas, mientras lo mantiene en 0,0 para identidades vinculadas por PGP. Por tanto, las identidades anónimas aún pueden publicar mensajes, si su puntuación de reputación local está por encima de ese umbral.</p></body></html> - - - - Favor PGP-signed ids - Favorecer identificaciones firmadas con PGP + + Comments: + Comentarios: - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - <html><head/><body><p align="justify">Esta característica permite a RetroShare mantener localmente un registro de quién le reenvió cada mensaje hasta usted, durante los últimos 10 días. Aunque inutil por si sola (y de cualquier modo estando ya disponible) esta información puede ser usada por un grupo de amigos de forma colaborativa para localizar con facilidad las fuentes de spam. Esto debe usarse con cuidado, ya que reduce significativamente el anonimato de remiones de mensajes.</p></body></html> + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> + <html><head/><body><p>Esto hace que el medio incremente el umbral de reputación hasta 0,4 para identidades anónimas, mientras lo mantiene en 0,0 para identidades vinculadas por PGP. Por tanto, las identidades anónimas aún pueden publicar mensajes, si su puntuación de reputación local está por encima de ese umbral.</p></body></html> + + + Favor PGP-signed ids + Favorecer identificaciones firmadas con PGP + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + <html><head/><body><p align="justify">Esta característica permite a RetroShare mantener localmente un registro de quién le reenvió cada mensaje hasta usted, durante los últimos 10 días. Aunque inutil por si sola (y de cualquier modo estando ya disponible) esta información puede ser usada por un grupo de amigos de forma colaborativa para localizar con facilidad las fuentes de spam. Esto debe usarse con cuidado, ya que reduce significativamente el anonimato de remiones de mensajes.</p></body></html> + + + Keep track of posts Mantener seguimiento de remisiones - Anti spam - Anti spam + Anti spam - PGP-signed ids - Identificaciones firmadas con PGP + Identificaciones firmadas con PGP - Track of Posts - Seguimiento de remisiones + Seguimiento de remisiones - + Contacts: Contactos: - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name Por favor añadir un nombre - + + PGP signature from known ID required + + + + Load Group Logo Cargar el logo del grupo - + Submit Group Changes Enviar cambios del grupo - + Failed to Prepare Group MetaData - please Review Fallo al preparar Metadatos del grupo - por favor revise - + Will be used to send feedback Se usará para enviar comentarios @@ -8636,52 +9023,94 @@ before you can comment Propietario: - + Set a descriptive description here Configure una descripción explicativa aquí - + Info Información - Comments allowed - Comentarios permitidos + Comentarios permitidos - Comments not allowed - Comentarios no permitidos + Comentarios no permitidos - + ID ID - + Last Post Último mensaje + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity Popularidad - + Posts Posts - Type - Tipo + Tipo - + Author Autor @@ -8739,7 +9168,12 @@ before you can comment Editar detalles - + + Share publish permissions + + + + Copy RetroShare Link Copiar enlace de RetroShare @@ -8754,25 +9188,24 @@ before you can comment Marcar todo como no leído - + AUTHD Autentificado - Share admin permissions - Compartir permisos de administrador + Compartir permisos de administrador GxsIdChooser - + No Signature Sin Firma - + Create new Identity Crear nueva identidad @@ -8780,7 +9213,7 @@ before you can comment GxsIdDetails - + Loading Cargando @@ -9122,7 +9555,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9153,7 +9586,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9163,7 +9596,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> @@ -9228,7 +9661,7 @@ p, li { white-space: pre-wrap; } IdDetailsDialog - + Person Details Detalles de la persona @@ -9298,13 +9731,13 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9314,7 +9747,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -9432,13 +9865,14 @@ p, li { white-space: pre-wrap; } IdDialog - + + New ID Nueva ID - - + + All Todo @@ -9454,39 +9888,75 @@ p, li { white-space: pre-wrap; } Buscar - Unknown real name - Nombre real desconocido + Nombre real desconocido - + Anonymous Id ID anónima - + Create new Identity Crear nueva identidad + + + Create new circle + + Persons Personas - + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + Círculos + + + + Circle name + + + + + Membership + Afiliación + + + + Public Circles + Círculos públicos + + + + Personal Circles + Círculos personales + + + Edit identity Editar identidad @@ -9507,7 +9977,7 @@ p, li { white-space: pre-wrap; } Ejecuta un chat a distancia con este par (peer) - + Owner node ID : Identificación del nodo propietario : @@ -9517,22 +9987,22 @@ p, li { white-space: pre-wrap; } Nombre de la identidad : - + () () - + Identity ID Identificación de la identidad - + Send message Enviar mensaje - + Identity info Información de la identidad @@ -9557,7 +10027,7 @@ p, li { white-space: pre-wrap; } Enviar invitación - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> <html><head/><body><p>La opinión media de los nodos vecinos acerca de esta identidad. Negativo es malo,</p><p>positivo es bueno. Cero es neutral.</p></body></html> @@ -9597,22 +10067,20 @@ p, li { white-space: pre-wrap; } Global: - Contacts - Contactos + Contactos - Owned by you - Propiedad de usted + Propiedad de usted - + Anonymous Anónimo - + ID Identificación @@ -9622,23 +10090,254 @@ p, li { white-space: pre-wrap; } Buscar identificación - + This identity is owned by you Esta identidad es propiedad de usted - Unknown PGP key - Clave PGP desconocida + Clave PGP desconocida - - Unknown key ID - Identificación de clave desconocida + Identificación de clave desconocida - + + My own identities + + + + + My contacts + Mis contactos + + + + Owned by myself + + + + + Linked to my node + + + + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + Público + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + Estado: + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + desconocido + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + Editar círculo + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node Identidad propiedad de usted, asociada a su nodo RetroShare @@ -9663,7 +10362,7 @@ p, li { white-space: pre-wrap; } Excluido - + Add to Contacts Añadir a contactos @@ -9718,10 +10417,10 @@ p, li { white-space: pre-wrap; } Gracias, <br> - - - - + + + + People Personas @@ -9732,12 +10431,11 @@ p, li { white-space: pre-wrap; } Su avatar - Linked to your node - Enlazado hacia su nodo + Enlazado hacia su nodo - + Linked to neighbor nodes Enlazado hacia nodos vecinos @@ -9747,12 +10445,11 @@ p, li { white-space: pre-wrap; } Enlazado hacia nodos distantes - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identidades</h1> <p>En esta pestaña puede crear/editar identidades pseudo-anónimas. </p> <p>Las identidades se usan para identificar con seguridad sus datos: firmar publicaciones en foros y canales, recibir respuestas al usar el sistema de correo electrónico integrado de RetroShare, publicar comentarios tras las publicaciones en los canales, etc.</p> <p> Las identidades opcionalmente pueden ser firmadas por el certificado de su nodo RetroShare. Es más fácil confiar en las identidades firmadas, pero son más fácilmente vinculables a la dirección IP de su nodo. </p> <p> Las identidades anónimas le permiten interactuar anónimamente con otros usuarios. No se pueden suplantar, pero nadie puede probar quién posee en realidad una identidad dada. </p> + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identidades</h1> <p>En esta pestaña puede crear/editar identidades pseudo-anónimas. </p> <p>Las identidades se usan para identificar con seguridad sus datos: firmar publicaciones en foros y canales, recibir respuestas al usar el sistema de correo electrónico integrado de RetroShare, publicar comentarios tras las publicaciones en los canales, etc.</p> <p> Las identidades opcionalmente pueden ser firmadas por el certificado de su nodo RetroShare. Es más fácil confiar en las identidades firmadas, pero son más fácilmente vinculables a la dirección IP de su nodo. </p> <p> Las identidades anónimas le permiten interactuar anónimamente con otros usuarios. No se pueden suplantar, pero nadie puede probar quién posee en realidad una identidad dada. </p> - + Linked to a friend Retroshare node Enlazado hacia un nodo de RetroShare amigo @@ -9767,7 +10464,7 @@ p, li { white-space: pre-wrap; } Enlazado hacia un nodo RetroShare desconocido - + Chat with this person Conversar con esta persona @@ -9787,7 +10484,7 @@ p, li { white-space: pre-wrap; } Usado por última vez: - + +50 Known PGP +50 PGP conocidos @@ -9802,17 +10499,17 @@ p, li { white-space: pre-wrap; } +5 Identificaciones anónimas - + Do you really want to delete this identity? ¿De verdad quiere borrar esta identidad? - + Owned by Propiedad de - + Node name: Nombre del nodo: @@ -9822,7 +10519,7 @@ p, li { white-space: pre-wrap; } Identificación del nodo: - + Really delete? ¿Está seguro de borrar? @@ -10000,25 +10697,25 @@ p, li { white-space: pre-wrap; } - + GXS name: Nombre de GXS: - - + + PGP name: Nombre de PGP: - + GXS id: Identificación de GXS: - + PGP id: Identificación de PGP: @@ -10033,7 +10730,7 @@ p, li { white-space: pre-wrap; } - + Copy Copiar @@ -10134,7 +10831,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Add Friend Añadir a amigo @@ -10150,7 +10847,7 @@ p, li { white-space: pre-wrap; } - + Options Opciones @@ -10184,12 +10881,12 @@ p, li { white-space: pre-wrap; } Asistente para el inicio rápido - + RetroShare %1 a secure decentralized communication platform RetroShare %1 es una plataforma de comunicación descentralizada y segura - + Unfinished Incompleto @@ -10307,7 +11004,7 @@ p, li { white-space: pre-wrap; } ¿Realmente desea salir de RetroShare? - + Internal Error Error interno @@ -10352,7 +11049,7 @@ p, li { white-space: pre-wrap; } Matriz de permisos del servicio - + Add Añadir @@ -10386,7 +11083,7 @@ p, li { white-space: pre-wrap; } MessageComposer - + Compose Componer @@ -10488,7 +11185,7 @@ p, li { white-space: pre-wrap; } - + Tags Etiquetas @@ -10648,7 +11345,7 @@ p, li { white-space: pre-wrap; } Hola %1,<br><br>%2 quiere ser su amigo en RetroShare.<br><br>Responder ahora:<br>%3<br><br>Gracias,<br>El equipo de RetroShare - + Save Message Guardar mensaje @@ -10931,7 +11628,7 @@ Do you want to save message ? De: - + Friend Nodes Nodos amigos @@ -10981,7 +11678,7 @@ Do you want to save message ? Gracias, <br> - + Distant identity: Identidad distante: @@ -11803,7 +12500,7 @@ Do you want to save message ? Mensajería instantanea de RetroShare - + Add a Friend Añadir a amigo @@ -12086,7 +12783,7 @@ Do you want to save message ? - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. @@ -12597,7 +13294,7 @@ Se informo del error: NotifyQt - + PGP key passphrase Contraseña de la clave GPG @@ -12617,12 +13314,12 @@ Se informo del error: RetroShare ha detectado un plugin no registrado. Esto ocurre en dos casos:<UL><LI>Su ejecutable de RetroShare ha cambiado.</LI><LI>O el plugin ha cambiado</LI></UL>Pulse en Sí para autorizar este plugin, o No para negarlo. Puede cambiarlo de nuevo en Opciones -> Plugins, después reinicie. - + Please check your system clock. Por favor, compruebe su reloj del sistema. - + Examining shared files... Examinando archivos compartidos... @@ -12658,12 +13355,12 @@ Se informo del error: Mesaje criptado - + Please enter your PGP password for key Por favor introduzca su contraseña PGP para la clave - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). Para que las salas de chat funcionen adecuadamente, la hora de su computadora tiene que se correcta. Por favor, compruebe si este es el caso (una posible desincronización de varios minutos fue detectada con sus amigos). @@ -12700,7 +13397,7 @@ Se informo del error: - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers @@ -12788,11 +13485,11 @@ Sin Anonimato D/S: desactiva el reenvío de archivos <html><head/><body><p><span style=" font-size:10pt;">Firmar la clave de un amigo es una forma de expresar su confianza en este al resto de sus amigos. Las firmas de debajo atestiguan criptográficamente que los propietarios de las claves listadas reconocen la clave PGP actual como auténtica.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -12841,7 +13538,12 @@ p, li { white-space: pre-wrap; } Formato ASCII - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> <html><head/><body><p>Este botón accionará la inclusión de firmas en la visualización ASCII de la clave PGP. Vea los comentarios acerca de firmas en la otra pestaña. </p></body></html> @@ -12850,6 +13552,62 @@ p, li { white-space: pre-wrap; } Include signatures Incluir firmas + + + Options + Opciones + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + Utilizar como fuente directa, cuando esté disponible + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + Auto-descargar los archivos recomendados de este nodo + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + Requiere limpiar la lista blanca + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details @@ -12857,27 +13615,27 @@ p, li { white-space: pre-wrap; } - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. Error: No se pueden obtener los detalles del par (peer). - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) El algoritmo de la clave proporcionada no está soportado por RetroShare (Sólo están soportadas las claves RSA por el momento) - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. El nivel de confianza es una forma de expresar su propia confianza en esta clave. No es utilizado por la aplicación ni se comparte, pero puede serle útil para recordar buenas/malas claves. @@ -12902,7 +13660,7 @@ p, li { white-space: pre-wrap; } No tiene confianza en este vecino. - + This key has signed your own PGP key Esta clave ha firmado su propia clave PGP @@ -12923,7 +13681,7 @@ p, li { white-space: pre-wrap; } Actualmente no está permitiendo conexiones de nodos RetroShare firmadas por esta clave. - + Signature Failure Error de firma @@ -12933,7 +13691,7 @@ p, li { white-space: pre-wrap; } Probablemente la contraseña es errónea - + You haven't set a trust level for this key. No ha establecido una nivel de confianza para esta clave. @@ -13094,15 +13852,15 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People Personas - External - Externo + Externo @@ -13115,6 +13873,64 @@ p, li { white-space: pre-wrap; } Internal Interno + + + Chat with this person + Conversar con esta persona + + + + Chat with this person as... + Conversar con esta persona como... + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + El chat a distancia no pudo funcionar + + + + Distant chat refused with this person. + Conversación distante rechazada con esta persona. + + + + Error code + Código de error + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + Personas + PhotoCommentItem @@ -13204,7 +14020,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13217,7 +14033,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13230,7 +14046,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13378,7 +14194,7 @@ solicitar editarlo! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13869,7 +14685,7 @@ de un posible comportamiento malicioso de los plugins. PostedItem - + 0 0 @@ -13880,7 +14696,7 @@ de un posible comportamiento malicioso de los plugins. - + Comments Comentarios @@ -13915,7 +14731,17 @@ de un posible comportamiento malicioso de los plugins. Nuevo - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Cambiar el estado de lectura del mensaje @@ -13925,7 +14751,7 @@ de un posible comportamiento malicioso de los plugins. Quitar objeto - + Loading Cargando @@ -14180,7 +15006,7 @@ y utilizar el botón Importar para cargarla <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> @@ -14397,9 +15223,9 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation Confirmación @@ -14409,7 +15235,7 @@ p, li { white-space: pre-wrap; } ¿Quiere que este enlace sea tratado por su sistema? - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. @@ -14418,7 +15244,7 @@ and open the Make Friend Wizard. - + Add file Añadir archivo @@ -14438,12 +15264,21 @@ and open the Make Friend Wizard. ¿Desea procesar %1 enlaces? - This file already exists. Do you want to open it ? - Este fichero ya existe. ¿Quiere abrirlo? + Este fichero ya existe. ¿Quiere abrirlo? - + + Warning: Retroshare is about to ask your system to open this file. + + + + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. %1 de %2 enlace de RetroShare procesado. @@ -14552,6 +15387,21 @@ and open the Make Friend Wizard. Channel messages not found Mensajes del canal no encontrados + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + + Recipient not accepted @@ -14594,7 +15444,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Resultado - + Unable to make path Incapaz de hacer la ruta @@ -14609,7 +15459,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace No se pudo procesar el archivo de colección - + Deny friend Bloquear amigo @@ -14629,7 +15479,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Solicitud del archivo cancelada - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. Esta versión de RetroShare está usando OpenPGP SDK. Como efecto secundario, no está utilizando el sistema de anillos de llaves PGP compartidas , pero tiene su propio anillo de llaves compartidos por todas las instancias RetroShare. <br><br>No parece que tenga un llavero, aunque las llaves GPG son mencionados por cuentas existentes de RetroShare, probablemente debido a que acaba de cambiar a esta nueva versión del programa. @@ -14640,12 +15490,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - + RetroShare RetroShare - + Initialization failed. Wrong or missing installation of PGP. La inicialización ha fallado. Instalación de GPG dañada o ausente. @@ -14655,12 +15505,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Ocurrió un error inesperado. Por favor informe 'RsInit::InitRetroShare código de retorno inesperado %1'. - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. Ocurrió un error inesperado. Error: 'RsInit::InitRetroShare unexpected return code %1'. - + Multiple instances Instancias múltiples @@ -14684,9 +15534,8 @@ archivo bloqueado: - Start with a RetroShare link is only supported for Windows. - Iniciar con un enlace de RetroShare solamente es compatible con Windows. + Iniciar con un enlace de RetroShare solamente es compatible con Windows. @@ -14715,7 +15564,7 @@ El error reportado es: %2 - + Click to send a private message to %1 (%2). Hacer clic para enviar un mensaje privado a %1 (%2). @@ -14725,7 +15574,7 @@ El error reportado es: %1 (%2, Extra - Código fuente incluido) - + Click this link to send a private message to %1 (%2) Haga clic en este enlace para enviar un mensaje privado a %1 (%2) @@ -14765,7 +15614,7 @@ El error reportado es: Datos reenviados - + You appear to have nodes associated to DSA keys: Parece que tiene nodos asociados a claves DSA: @@ -14806,7 +15655,7 @@ El error reportado es: - + %1 seconds ago hace %1 segundos @@ -14874,8 +15723,8 @@ Security: no anonymous IDs Seguridad: No hay identificaciones anónimas - - + + This cert is malformed. Error code: Este certificado está mal formado. Código de error: @@ -14885,7 +15734,7 @@ Seguridad: No hay identificaciones anónimas Los siguientes no ha sido añadidos a su lista de descargas, porque ya los tiene: - + Error Error @@ -14907,12 +15756,12 @@ Seguridad: No hay identificaciones anónimas <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -15035,10 +15884,10 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" /><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Esta es una lista de carpetas compartidas. Puede añadir o quitar carpetas utilizando los botones de abajo. Cuando se añade una nueva carpeta, inicialmente todos los archivos de esa carpeta se comparten.</span></p><p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">Puede configurar el tipo de compartición de cada carpeta por separado:</span><span style=" font-size:8pt;"> </span></p> @@ -15100,9 +15949,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -15117,8 +15966,8 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> @@ -15300,7 +16149,7 @@ p, li { white-space: pre-wrap; } RSettingsWin - + Error Saving Configuration on page Error al guardar la configuración en la página @@ -15530,12 +16379,12 @@ p, li { white-space: pre-wrap; } ¡Descargar! - + File Archivo - + Size Tamaño @@ -15552,7 +16401,7 @@ p, li { white-space: pre-wrap; } Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. Algunos nombres de archivos o directorios contenían caracteres prohibidos. Caracteres ",|,/,\,<,>,*,? se reemplazarán por '_'. Los archivos en cuestión aparecen en rojo. @@ -15597,12 +16446,17 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Guardar - + Collection Editor Editor de colección - + + File Path + + + + File Count Recuento de archivos @@ -15612,14 +16466,14 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Este es el directorio raíz. - - + + Real Size: Waiting child... Tamaño real: Esperando descendientes... - - + + Real File Count: Waiting child... Recuento real de archivos: Esperando descendientes... @@ -15772,7 +16626,7 @@ Si crees que es correcto, elimina la correspondiente línea del archivo y reábr RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? La imagen es demasiado grande para su transmisión. @@ -15790,7 +16644,7 @@ Reducing image to %1x%2 pixels? Rshare - + Resets ALL stored RetroShare settings. Reiniciar todos los ajustes de RetroShare. @@ -15830,7 +16684,7 @@ Reducing image to %1x%2 pixels? Información sobre el uso de RetroShare - + Unable to open log file '%1': %2 No se puede abrir el archivo de registro '%1': %2 @@ -15845,12 +16699,12 @@ Reducing image to %1x%2 pixels? No se pudo crear el directorio de datos: %1 - + Revision Revisión - + Invalid language code specified: Código de idioma especificado no válido: @@ -15865,6 +16719,15 @@ Reducing image to %1x%2 pixels? Nivel de registro (log) especificado no válido: + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + + + RttStatistics @@ -16495,7 +17358,7 @@ en la red (siempre informar de archivos disponibles) If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. Si desmarca esto, RetroShare sólo puede determinar su IP cuando se conecta a alguien. Si deja esto marcado le ayudará @@ -16767,8 +17630,8 @@ Also check your ports! Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? Proxy Socks Tor predeterminado: 127.0.0.1:9050. Establézcalo en la configuración de torrc y actualícelo aquí. @@ -16825,7 +17688,7 @@ Puede conectarse a Nodos Ocultos, incluso si está ejecutando un Nodo Estándar, To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. @@ -17429,7 +18292,7 @@ Seleccione los amigos con los que quiere compartir su canal. SplashScreen - + Load profile Cargar perfil @@ -17502,7 +18365,7 @@ Las identidades/lugares actuales no se modificarán. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17818,7 +18681,7 @@ Esta elección puede revertirse en la configuración. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17831,7 +18694,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17995,17 +18858,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed Suscrito - + Unsubscribe Anular suscripción - + Subscribe Suscribirse @@ -18124,11 +18987,11 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ p, li { white-space: pre-wrap; }⏎ </style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;">⏎ <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> es capaz de transferir datos y solicitudes de búsqueda entre los vecinos que no son necesariamente amigos. Sin embargo, este tráfico sólo transita por una lista de amigos conectados y es anónimo.</span></p>⏎ <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p>⏎ <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">Puede configurar por separado diferentes acciones, para cada directorio compartido en el cuadro de diálogo de los archivos a compartir:</span></p>⏎ <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Navegable por los amigos</span>: los archivos son vistos por sus amigos.</li>⏎ <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Compartir anónimamente</span>: los archivos son accesibles anónimamente a través de túneles F2F distantes.</li></ul></body></html> @@ -18195,7 +19058,7 @@ p, li { white-space: pre-wrap; } TransfersDialog - + Downloads Descargas @@ -18206,7 +19069,7 @@ p, li { white-space: pre-wrap; } Enviando - + Name i.e: file name @@ -18476,39 +19339,39 @@ p, li { white-space: pre-wrap; } - + Failed Fallido - - + + Okay Bien - - + + Waiting Esperando - + Downloading Descargando - + Complete Completo - + Queued Esperando @@ -18528,7 +19391,7 @@ p, li { white-space: pre-wrap; } Desconocido - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18619,7 +19482,7 @@ bloques defectuosos y los descargará de nuevo. Por favor, introduzca un nuevo - y válido - nombre de archivo - + Last Time Seen i.e: Last Time Receiced Data Última vez vista @@ -18751,7 +19614,7 @@ bloques defectuosos y los descargará de nuevo. Mostrar columna de ruta - + Could not delete preview file No se pudo borrar el archivo de vista previa @@ -18761,7 +19624,7 @@ bloques defectuosos y los descargará de nuevo. ¿Intentarlo de nuevo? - + Create Collection... Crear colección... @@ -18781,22 +19644,22 @@ bloques defectuosos y los descargará de nuevo. Colección - + File sharing Compartición de archivos - + Anonymous tunnel 0x Túnel anónimo 0x - + Show file list transfers Mostrar transferencias de listas de archivos - + version: versión: @@ -19826,4 +20689,4 @@ bloques defectuosos y los descargará de nuevo. Imágenes (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_fi.ts b/retroshare-gui/src/lang/retroshare_fi.ts index 1a42c065f..198409d74 100644 --- a/retroshare-gui/src/lang/retroshare_fi.ts +++ b/retroshare-gui/src/lang/retroshare_fi.ts @@ -1,4 +1,6 @@ - + + + AWidget @@ -28,7 +30,7 @@ Copy Info - + @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file Järjestelmän oletuskomentoa tälle tiedostolle ei voitu selvittää @@ -304,7 +306,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -426,7 +428,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -474,7 +476,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -487,7 +489,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -557,7 +559,7 @@ p, li { white-space: pre-wrap; } On List Ite&m - + @@ -616,13 +618,13 @@ p, li { white-space: pre-wrap; } Icon Size = 64x64 - + Kuvakkeen koko = 64x64 {64x?} Icon Size = 128x128 - + Kuvakkeen koko = 128x128 {128x?} @@ -652,12 +654,12 @@ p, li { white-space: pre-wrap; } Show SysTray on Status Bar - + Disable SysTray ToolTip - + @@ -735,17 +737,17 @@ p, li { white-space: pre-wrap; } Change Avatar - + Your Avatar Picture - + Add Avatar - + @@ -755,12 +757,12 @@ p, li { white-space: pre-wrap; } Set your Avatar picture - + Load Avatar - + @@ -774,9 +776,9 @@ p, li { white-space: pre-wrap; } BWGraphSource - + KB/s - + @@ -867,23 +869,23 @@ p, li { white-space: pre-wrap; } Sum - + All - + Kaikki KB/s - + Count - + Lkm @@ -969,42 +971,42 @@ p, li { white-space: pre-wrap; } Form - + Lomake Friend: - + Type: - + Tyyppi: Up - + Ulos Down - + Sisään Service: - + Unit: - + Log scale - + @@ -1017,7 +1019,7 @@ p, li { white-space: pre-wrap; } Tabs - + @@ -1027,12 +1029,12 @@ p, li { white-space: pre-wrap; } Load posts in background (Thread) - + Open each channel in a new tab - + @@ -1052,23 +1054,28 @@ p, li { white-space: pre-wrap; } Mute participant Mykistä osanottaja + + + Ban this person (Sets negative opinion) + + Send Message - + Lähetä viesti Sort by Name - + Järjestä nimen mukaan Sort by Activity - + - + Invite friends to this lobby Kutsu ystäviä keskusteluaulaan @@ -1088,7 +1095,7 @@ p, li { white-space: pre-wrap; } Valitse kutsuttavat ystävät: - + Welcome to lobby %1 Tervetuloa aulaan %1 @@ -1104,7 +1111,7 @@ p, li { white-space: pre-wrap; } Aulakeskustelu - + Lobby management @@ -1151,44 +1158,44 @@ p, li { white-space: pre-wrap; } sekuntia - + Start private chat - + - + Decryption failed. - + Signature mismatch - + Unknown key - + Unknown hash - + Unknown error. - + Cannot start distant chat - + Distant chat cannot be initiated: - + @@ -1229,7 +1236,7 @@ p, li { white-space: pre-wrap; } Unknown Lobby - + @@ -1241,12 +1248,12 @@ p, li { white-space: pre-wrap; } ChatLobbyWidget - + Chat lobbies Keskusteluaulat - + Name Nimi @@ -1284,7 +1291,7 @@ p, li { white-space: pre-wrap; } [Ei aihetta] - + Selected lobby info Tietoja valitusta aulasta @@ -1301,7 +1308,7 @@ p, li { white-space: pre-wrap; } Anonymous IDs accepted - + @@ -1324,7 +1331,7 @@ p, li { white-space: pre-wrap; } %1 kutsuu sinut keskusteluaulaan nimeltä %2 - + Search Chat lobbies Hae keskusteluauloista @@ -1341,12 +1348,12 @@ p, li { white-space: pre-wrap; } <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + @@ -1364,7 +1371,7 @@ p, li { white-space: pre-wrap; } Ei - + Lobby Name: Aulan nimi: @@ -1386,7 +1393,7 @@ p, li { white-space: pre-wrap; } Security: - + @@ -1430,66 +1437,66 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Leave this lobby - + Enter this lobby - + Enter this lobby as... - + Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + You will need to create an identity in order to join chat lobbies. - + Choose an identity for this lobby: - + Create an identity and enter this lobby - + Show - + Näytä column - + @@ -1531,7 +1538,7 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Peru - + Quick Message Pikaviesti @@ -1540,34 +1547,34 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. ChatPage - + General Yleiset - + Distant Chat - + Everyone - + Contacts - + Kontaktit Nobody - + Accept encrypted distant chat from - + @@ -1597,7 +1604,7 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Minimum font size - + @@ -1619,6 +1626,11 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Send message with Ctrl+Return Lähetä viesti painamalla Ctrl ja Enter + + + Send as plain text by default + + Chat Lobby @@ -1724,7 +1736,7 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Lähtevä - + Incoming message in history Saapuva viesti historiassa @@ -1761,12 +1773,12 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. UserName - + /me is sending a message with /me - + @@ -1841,48 +1853,48 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Maximum count for coloring matching text - + Threshold for automatic search - + Default identity for chat lobbies: - + Show Bar by default - + - + Private chat invite from - + Name : - + PGP id : - + Valid until : - + ChatStyle - + Standard style for group chat Vakiotyyli ryhmäkeskustelulle @@ -1936,12 +1948,12 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Sulje - + Send Lähetä - + Bold Lihavointi @@ -1956,12 +1968,12 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Kursivointi - + Attach a Picture Liitä kuva - + Strike Yliviivaus @@ -2012,42 +2024,70 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Palauta oletuskirjasin - + Quote - + Lainaa Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... kirjoittaa... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? Haluatko todella tuhota historian pysyvästi? - + Add Extra File Lisää ylimääräinen tiedosto @@ -2092,7 +2132,7 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. on kiireinen, eikä välttämättä vastaa - + Find Case Sensitively Huomioi kirjainkoko @@ -2114,7 +2154,7 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Älä lopeta värittämistä, kun X kohdetta löydetty (vaatii konetehoa) - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> <b>Hae edellinen </b><br/><i>Ctrl+Shift+G</i> @@ -2129,24 +2169,24 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. <b>Hae </b><br/><i>Ctrl+F</i> - + (Status) - + - + Set text font & color - + Attach a File - + - + WARNING: Could take a long time on big history. - + @@ -2155,59 +2195,39 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. - + <b>Mark this selected text</b><br><i>Ctrl+M</i> - + - - %1This message consists of %2 characters. - - - - + items found. - + No items found. - + <b>Return to marked text</b><br><i>Ctrl+M</i> - + - - Display Search Box - - - - - Search Box - - - - + Type a message here - + - + Don't stop to color after - + items found (need more CPU) - - - - - Warning: - + @@ -2220,13 +2240,13 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Empty Circle - + CirclesDialog - + Showing details: Näytetään tietoja: @@ -2248,7 +2268,7 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. - + Personal Circles Henkilökohtaiset piirit @@ -2274,7 +2294,7 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. - + Friends Ystävät @@ -2334,7 +2354,7 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Ystävien ystävät - + External Circles (Admin) Ulkoiset piirit (Ylläpito) @@ -2358,14 +2378,14 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. ConfCertDialog - + Details Tiedot Node info - + @@ -2374,7 +2394,7 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. - + Local Address Paikallinen osoite @@ -2401,36 +2421,39 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Osoiteluettelo - + + Use this certificate to make friends: + + + + Include signatures Sisällytä allekirjoitukset - - + + RetroShare RetroShare - - + + Error : cannot get peer details. Virhe: vertaisen yksityiskohtia ei saatu. - Use as direct source, when available - Käytä suorana lähteenä, kun saatavilla + Käytä suorana lähteenä, kun saatavilla - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - <html><head/><body><p align="justify">Retroshare käy ajoittain läpi ystäväluettelosi siirtojasi vastaavien selattavien tiedostojen varalta, jotta voitaisiin muodostaa suora siirtoyhteys. Tällaisessa tapauksessa ystäväsi tietää, että lataat tiedostoa.</p><p align="justify">Estääksesi toiminnan tämän ystävän tapauksessa, poista rasti tästä ruudusta. Voit silti muodostaa suoran siirtoyhteyden halutessasi, esim. lataamalla suoraan ystäväsi tiedostoluettelosta. </p></body></html> + <html><head/><body><p align="justify">Retroshare käy ajoittain läpi ystäväluettelosi siirtojasi vastaavien selattavien tiedostojen varalta, jotta voitaisiin muodostaa suora siirtoyhteys. Tällaisessa tapauksessa ystäväsi tietää, että lataat tiedostoa.</p><p align="justify">Estääksesi toiminnan tämän ystävän tapauksessa, poista rasti tästä ruudusta. Voit silti muodostaa suoran siirtoyhteyden halutessasi, esim. lataamalla suoraan ystäväsi tiedostoluettelosta. </p></body></html> - + Encryption Salaus @@ -2445,69 +2468,58 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Vertaisten osoitteet - Options - Asetukset + Asetukset - + Retroshare node details - + - + Node name : - + Status : - + Last Contact : - + Retroshare version : - + Node ID : - + PGP key : - + Retroshare Certificate - + - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + @@ -2518,57 +2530,47 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. <p>This certificate contains: - + <li>a <b>node ID</b> and <b>name</b> - + an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + <p>You can use this certificate to make new friends. Send it by email, or give it hand to hand.</p> - + - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + with - + external signatures</li> - + @@ -2627,12 +2629,12 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + @@ -2717,42 +2719,42 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + GMail - + Yahoo - + Outlook - + AOL - + Yandex - + Email - + Sähköposti @@ -2814,13 +2816,13 @@ Tuplaklikkaa auloja siirtyäksesi keskustelemaan. Node: - + Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + @@ -2837,33 +2839,33 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + @@ -3158,12 +3160,12 @@ resources. IP-Addr: - + IP-Address - + @@ -3178,7 +3180,7 @@ resources. The text below is your Retroshare certificate. You have to provide it to your friend - + @@ -3234,59 +3236,59 @@ vaikkette ystävystyisikään. Invalid node id. - + Auto-download recommended files - + Can be used as direct source - + Require whitelist clearance to connect - + Add IP to whitelist - + No IP in this certificate! - + <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + Added with certificate from %1 - + Paste Cert of your friend from Clipboard - + Certificate Load Failed:can't read from file %1 - + Certificate Load Failed:something is wrong with %1 - + @@ -3725,11 +3727,11 @@ vaikkette ystävystyisikään. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -3782,74 +3784,86 @@ p, li { white-space: pre-wrap; } They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details Piirin tiedot - - + Name Nimi - Creator - Luoja + Luoja - Distribution - Jakelu + Jakelu - + Public Julkinen - Self-Restricted - Itserajoitettu + Itserajoitettu - Restricted to: - Rajoitettu näihin: + Rajoitettu näihin: - Circle Membership - Piirin jäsenyys + Piirin jäsenyys - + IDs Tunnisteet - Known Identities - Tiedetyt henkilöllisyydet + Tiedetyt henkilöllisyydet - + Filter Suodata - + Nickname Nimimerkki - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID Tunniste @@ -3859,55 +3873,104 @@ p, li { white-space: pre-wrap; } Tyyppi - - - - + + Name: + Nimi: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + Yksityinen + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare RetroShare - + Please set a name for your Circle Anna piirillesi nimi - Personal Circle Details - Henkilökohtaisen piirin tiedot + Henkilökohtaisen piirin tiedot - External Circle Details - Ulkoisen piirin tiedot + Ulkoisen piirin tiedot - Cannot Edit Existing Circles Yet - Et voi vielä muokata ulkoisia piirejä + Et voi vielä muokata ulkoisia piirejä - + No Restriction Circle Selected Rajoituspiiriä ei valittuna - + No Circle Limitations Selected Piirien rajoituksia ei valittuna - Create New Personal Circle - Luo uusi henkilökohtainen piiri + Luo uusi henkilökohtainen piiri - Create New External Circle - Luo uusi ulkoinen piiri + Luo uusi ulkoinen piiri - + Add Lisää @@ -3917,13 +3980,13 @@ p, li { white-space: pre-wrap; } Poista - + Search Haku - + All Kaikki @@ -3938,49 +4001,98 @@ p, li { white-space: pre-wrap; } Tunnettujen solmujen allekirjoittama - + Edit Circle Muokkaa piiriä - - + PGP Identity PGP-henkilöllisyys - - - + + + Anon Id Nimetön tunniste + + + Circle name + + + + + Update + + + Close + Sulje + + + + + Create New Circle + + + + + Create + Luo + + + PGP Linked Id PGP:n linkitetty tunniste + + + Add Member + + + + + Remove Member + + CreateGroup - + Create a Group Luo ryhmä - - Group Name - Ryhmän nimi + + Group Name: + Ryhmän nimi: - + + Group ID: + + + + Group Name + Ryhmän nimi + + + Enter a name for your group Anna ryhmälle nimi - + + To be defined + + + + Friends Ystävät @@ -4014,9 +4126,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -4145,7 +4257,7 @@ p, li { white-space: pre-wrap; } CreateGxsForumMsg - + Post Forum Message Lähetä viesti foorumiin @@ -4190,12 +4302,12 @@ p, li { white-space: pre-wrap; } Aloita uusi viestiketju - + No Forum Ei foorumia - + In Reply to Vastauksena @@ -4221,9 +4333,19 @@ p, li { white-space: pre-wrap; } Add Extra File Lisää ylimääräinen tiedosto + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data Luo massatietoja @@ -4233,30 +4355,30 @@ p, li { white-space: pre-wrap; } Haluatko todella luoda %1 viestiä? - + Send Lähetä - + Forum Message - + Forum Message has not been Sent. Do you want to reject this message? - + Post as - + Congrats, you found a bug! - + @@ -4285,7 +4407,7 @@ Do you want to reject this message? Visibility: - + @@ -4300,17 +4422,17 @@ Do you want to reject this message? <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + Security: - + @@ -4325,12 +4447,12 @@ Do you want to reject this message? Put a sensible lobby name here - + Set a descriptive topic here - + @@ -4340,7 +4462,7 @@ Do you want to reject this message? Identity to use: - + @@ -4443,42 +4565,42 @@ Do you want to reject this message? Node information - + PGP Id : - + Friend nodes: - + Copy certificate to clipboard - + Save certificate to file - + Node - + Create new node... - + show statistics window - + @@ -4486,7 +4608,7 @@ Do you want to reject this message? users - + @@ -4499,7 +4621,7 @@ Do you want to reject this message? <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + @@ -4525,7 +4647,7 @@ Do you want to reject this message? No peer found in DHT - + @@ -4770,17 +4892,17 @@ Do you want to reject this message? IP - + IP Search IP - + Copy %1 to clipboard - + @@ -5036,7 +5158,7 @@ Do you want to reject this message? Relays - + @@ -5059,108 +5181,108 @@ Do you want to reject this message? Net Status: - + Network Mode: - + Nat Type: - + Nat Hole: - + Connect Mode: - + Peer Address: - + Unreach: - + Online: - + Offline: - + DHT Peers: - + Disconnected: - + Direct: - + Proxy: - + Relay: - + Filter: - + Suodin: Search Network - + Hae verkosta Peers - + Vertaiset Relay - + Välitys DHT Graph - + Proxy VIA - + Relay VIA - + @@ -5199,7 +5321,7 @@ Do you want to reject this message? Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. Muista tiedostojen tiivisteet (hash), vaikka ne eivät @@ -5634,12 +5756,12 @@ tiedostoille uudelleen, kun kytket sen kiiinni. Tabs - + Open each forum in a new tab - + @@ -5657,28 +5779,28 @@ tiedostoille uudelleen, kun kytket sen kiiinni. export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + Show State - + @@ -5687,7 +5809,7 @@ tiedostoille uudelleen, kun kytket sen kiiinni. Näytä ryhmät - + Group Ryhmä @@ -5728,17 +5850,17 @@ tiedostoille uudelleen, kun kytket sen kiiinni. Lisää ryhmään - + Search - + Haku Sort by state - + - + Move to group Siirrä ryhmään @@ -5773,90 +5895,90 @@ tiedostoille uudelleen, kun kytket sen kiiinni. Saatavilla - + Do you want to remove this Friend? Haluatko poistaa tämän ystävän? - + Done! - + Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + Error - + Virhe Failed to get a file! - + File is not writeable! - + File is not readable! - + @@ -5864,7 +5986,7 @@ at least one peer was not added to a group IP - + Attempt to connect Yritä muodostaa yhteys @@ -5886,27 +6008,27 @@ at least one peer was not added to a group Node - + Remove Friend Node - + - + Do you want to remove this node? - + Friend nodes - + - + Send message to whole group - + @@ -5917,13 +6039,13 @@ at least one peer was not added to a group Deny - + Send message - + @@ -5954,7 +6076,7 @@ at least one peer was not added to a group Sort by state - + @@ -5967,14 +6089,14 @@ at least one peer was not added to a group Hae ystäviä - + Mark all - + Merkitse kaikki Mark none - + @@ -6076,7 +6198,7 @@ at least one peer was not added to a group <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + @@ -6092,12 +6214,12 @@ at least one peer was not added to a group Network graph - + Set your status message here. - + @@ -6162,7 +6284,12 @@ pysyäksesi voit käyttää tekaistua osoitetta. Salasana (tarkistus) - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> <html><head/><body><p align="justify">Ennen kuin siirryt eteenpäin, liikuttele hiirtäsi ympäriinsä, jolloin autat Retrosharea keräämään satunnaisuutta. Edistymistä ilmaiseva palkki tulisi saada vähintään 20%, mutta 100% on suositeltava lukema.</p></body></html> @@ -6185,227 +6312,222 @@ pysyäksesi voit käyttää tekaistua osoitetta. This password is for PGP - + Node - + Create new node - + Generate new node - + Create a new node - + You can use it now to create a new node. - + Invalid hidden node - + Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile - + Import new profile - + Export selected profile - + Advanced options - + Create a hidden node - + Use profile - + hidden address - + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + Create new profile - + Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + Export profile - + RetroShare profile files (*.asc) - + Profile saved - + @@ -6414,77 +6536,77 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + Import profile - + Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6536,8 +6658,12 @@ Fill in your PGP password when asked, to sign your new key. + Register retroshare:// as URL protocol + + + Register retroshare:// as URL protocol (Restart required) - Rekisteröi retroshare:// URL-protokollaksi (vaatii uudelleenkäynnistyksen) + Rekisteröi retroshare:// URL-protokollaksi (vaatii uudelleenkäynnistyksen) @@ -6545,7 +6671,27 @@ Fill in your PGP password when asked, to sign your new key. Sinun tulee olla ylläpitäjä muuttaaksesi tätä asetusta. - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle Jouten @@ -6565,7 +6711,17 @@ Fill in your PGP password when asked, to sign your new key. Käynnistä ohjattu aloitus - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error Virhe @@ -6586,7 +6742,7 @@ Fill in your PGP password when asked, to sign your new key. Yleiset - + Minimize to Tray Icon Pienennä ilmaisinalueelle @@ -6610,7 +6766,7 @@ Fill in your PGP password when asked, to sign your new key. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> @@ -6643,18 +6799,18 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6666,31 +6822,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6703,7 +6859,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + @@ -6803,7 +6959,7 @@ p, li { white-space: pre-wrap; } It has many features, including built-in chat, messaging, - + @@ -6816,62 +6972,62 @@ p, li { white-space: pre-wrap; } GroupBox - + ID - + Tunniste Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + Tiedot @@ -6881,12 +7037,12 @@ p, li { white-space: pre-wrap; } Pending packets - + Unknown - + Tuntematon @@ -6904,12 +7060,12 @@ p, li { white-space: pre-wrap; } [Unknown identity] - + : Service ID = - + @@ -6920,6 +7076,14 @@ p, li { white-space: pre-wrap; } Näytä ryhmäkeskustelu + + GroupChooser + + + [Unknown] + + + GroupDefs @@ -7004,27 +7168,27 @@ p, li { white-space: pre-wrap; } All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -7037,7 +7201,7 @@ p, li { white-space: pre-wrap; } Hide tabbar with one open tab - + @@ -7053,39 +7217,39 @@ p, li { white-space: pre-wrap; } Kontaktit: - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer Valitse ainakin yksi vertainen - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7128,7 +7292,17 @@ p, li { white-space: pre-wrap; } Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + @@ -7136,14 +7310,9 @@ p, li { white-space: pre-wrap; } Näytä - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7270,7 +7439,7 @@ p, li { white-space: pre-wrap; } <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + @@ -7290,7 +7459,7 @@ p, li { white-space: pre-wrap; } Select channel download directory - + @@ -7300,18 +7469,18 @@ p, li { white-space: pre-wrap; } Set download directory - + [Default directory] - + Specify... - + Määritä... @@ -7334,7 +7503,7 @@ p, li { white-space: pre-wrap; } Open folder - + @@ -7354,17 +7523,17 @@ p, li { white-space: pre-wrap; } Checking - + Are you sure that you want to cancel and delete the file? - + Can't open folder - + @@ -7392,7 +7561,7 @@ p, li { white-space: pre-wrap; } Published - + @@ -7486,6 +7655,16 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Vaihda viestin tila luetuksi tai päinvastoin @@ -7496,7 +7675,7 @@ p, li { white-space: pre-wrap; } - + Play Toista @@ -7533,12 +7712,12 @@ p, li { white-space: pre-wrap; } Poista kohde - + Channel Feed Kanavan syöte - + Files Tiedostot @@ -7578,12 +7757,12 @@ p, li { white-space: pre-wrap; } En pidä tästä - + Loading Ladataan - + Open Avaa @@ -7601,7 +7780,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel Lähetä viesti kanavalle @@ -7616,7 +7795,7 @@ p, li { white-space: pre-wrap; } Hae kanavia - + Title Otsikko @@ -7651,7 +7830,32 @@ p, li { white-space: pre-wrap; } Ei kanavaa valittuna - + + Public + Julkinen + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download Ota automaattinen lataus pois käytöstä @@ -7663,15 +7867,31 @@ p, li { white-space: pre-wrap; } Show feeds - + Show files - + - + + Administrator: + + + + + + unknown + tuntematon + + + + Distribution: + + + + Feeds Syötteet @@ -7681,19 +7901,19 @@ p, li { white-space: pre-wrap; } Tiedostot - + Subscribers - + - + Description: Kuvaus: - + Posts (at neighbor nodes): - + @@ -7815,7 +8035,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -7950,7 +8170,7 @@ kuin voit kommentoida In Reply to: - + @@ -7960,7 +8180,7 @@ kuin voit kommentoida Forum Feed - + @@ -7976,7 +8196,7 @@ kuin voit kommentoida Lomake - + Start new Thread for Selected Forum Aloita uusi viestiketju valitussa foorumissa @@ -8002,7 +8222,7 @@ kuin voit kommentoida - + Title Otsikko @@ -8015,18 +8235,18 @@ kuin voit kommentoida - + Author Kirjoittaja Save image - + - + Loading Ladataan @@ -8093,12 +8313,12 @@ kuin voit kommentoida Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + @@ -8151,33 +8371,73 @@ kuin voit kommentoida This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + Julkinen + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + Jakelu + + + Anti-spam - + [ ... Redacted message ... ] - + @@ -8202,22 +8462,22 @@ kuin voit kommentoida <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8273,39 +8533,39 @@ kuin voit kommentoida %1, %2 kirjoitti: - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description Kuvaus By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8321,7 +8581,7 @@ kuin voit kommentoida <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + @@ -8376,13 +8636,13 @@ kuin voit kommentoida GxsGroupDialog - - + + Name Nimi - + Add Icon Lisää kuvake @@ -8397,7 +8657,7 @@ kuin voit kommentoida Jaa julkaisuavain - + check peers you would like to share private publish key with rastita vertaiset, joiden kanssa haluat jakaa yksityisen julkaisuavaimesi @@ -8407,36 +8667,40 @@ kuin voit kommentoida Jaa avain - - + + Description Kuvaus - + Message Distribution Viestin leviäminen - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public Julkinen - - Restricted to Group - Rajattu ryhmään + Rajattu ryhmään - - + Only For Your Friends Vain ystävillesi - + Publish Signatures Julkaisuallekirjoitukset @@ -8482,12 +8746,11 @@ kuin voit kommentoida - Comments Kommentit - + Allow Comments Salli kommentit @@ -8499,133 +8762,203 @@ kuin voit kommentoida Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + Kommentit: - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: Kontaktit: - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name Ole hyvä ja lisää nimi - + + PGP signature from known ID required + + + + Load Group Logo Lataa ryhmän logo - + Submit Group Changes Vahvista ryhmän muutokset - + Failed to Prepare Group MetaData - please Review Ryhmän metatietojen luonti epäonnistui - tarkista tiedot - + Will be used to send feedback - + Owner: - + - + Set a descriptive description here - + - + Info Tietoja - - Comments allowed - - - - - Comments not allowed - - - - + ID Tunniste - + Last Post Viimeisin viesti + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity Suosio - - - Posts - - - Type - Tyyppi + Posts + - + Type + Tyyppi + + + Author Kirjoittaja GxsIdLabel - + @@ -8676,7 +9009,12 @@ kuin voit kommentoida Muokkaa tietoja - + + Share publish permissions + + + + Copy RetroShare Link Kopioi RetroShare-linkki @@ -8691,25 +9029,20 @@ kuin voit kommentoida Merkitse kaikki lukemattomiksi - + AUTHD VAHVST - - - Share admin permissions - - GxsIdChooser - + No Signature Ei allekirjoitusta - + Create new Identity Luo uusi henkilöllisyys @@ -8717,7 +9050,7 @@ kuin voit kommentoida GxsIdDetails - + Loading Ladataan @@ -8736,43 +9069,43 @@ kuin voit kommentoida [Banned] - + Authentication - + unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8793,42 +9126,42 @@ kuin voit kommentoida Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + Tuntematon vertainen @@ -9015,7 +9348,7 @@ kuin voit kommentoida Error Loading Help Contents: - + @@ -9063,7 +9396,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9094,7 +9427,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9104,16 +9437,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + Libraries - + @@ -9146,16 +9479,16 @@ p, li { white-space: pre-wrap; } Error opening help file: - + IdDetailsDialog - + Person Details - + @@ -9165,7 +9498,7 @@ p, li { white-space: pre-wrap; } Owner node ID : - + @@ -9175,28 +9508,28 @@ p, li { white-space: pre-wrap; } Owner node name : - + Identity name : - + Identity ID : - + Last used: - + Your Avatar Click here to change your avatar - + @@ -9206,30 +9539,30 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9239,34 +9572,34 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + @@ -9281,69 +9614,70 @@ p, li { white-space: pre-wrap; } Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + OK Banned - + IdDialog - + + New ID Uusi tunniste - - + + All Kaikki @@ -9359,47 +9693,83 @@ p, li { white-space: pre-wrap; } Haku - Unknown real name - Tuntematon oikea nimi + Tuntematon oikea nimi - + Anonymous Id Nimetön tunniste - + Create new Identity Luo uusi henkilöllisyys - - Persons - + + Create new circle + - + + Persons + + + + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + Piirit + + + + Circle name + + + + + Membership + Jäsenyys + + + + Public Circles + Julkiset piirit + + + + Personal Circles + Henkilökohtaiset piirit + + + Edit identity - + Muokkaa henkilöllisyyttä Delete identity - + @@ -9412,44 +9782,44 @@ p, li { white-space: pre-wrap; } Käynnistää etäisen keskustelun vertaisen kanssa - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID - + - + Send message - + - + Identity info - + Identity ID : - + Owner node name : - + @@ -9459,174 +9829,387 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous Nimetön - + ID - + Tunniste Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + Julkinen + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + Tila: + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + tuntematon + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + Muokkaa piiriä + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + OK - + OK Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People Ihmiset @@ -9634,102 +10217,92 @@ p, li { white-space: pre-wrap; } Your Avatar Click here to change your avatar - + - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9841,7 +10414,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9852,32 +10425,32 @@ p, li { white-space: pre-wrap; } Your Avatar Click here to change your avatar - + Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9895,7 +10468,7 @@ p, li { white-space: pre-wrap; } GXSId - + @@ -9905,27 +10478,27 @@ p, li { white-space: pre-wrap; } - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9938,7 +10511,7 @@ p, li { white-space: pre-wrap; } - + Copy Kopioi @@ -9974,17 +10547,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -10039,7 +10612,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Add Friend Lisää ystävä @@ -10055,7 +10628,7 @@ p, li { white-space: pre-wrap; } - + Options Asetukset @@ -10089,12 +10662,12 @@ p, li { white-space: pre-wrap; } Ohjattu nopea käynnistys - + RetroShare %1 a secure decentralized communication platform RetroShare %1 turvallinen hajautettu kommunikaatioalusta - + Unfinished Kesken @@ -10134,7 +10707,7 @@ p, li { white-space: pre-wrap; } Open Messenger - + @@ -10212,7 +10785,7 @@ p, li { white-space: pre-wrap; } Haluatko todella poistua RetroSharesta? - + Internal Error Sisäinen virhe @@ -10257,7 +10830,7 @@ p, li { white-space: pre-wrap; } Palveluiden käyttöoikeudet - + Add Lisää @@ -10269,29 +10842,29 @@ p, li { white-space: pre-wrap; } Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose Kirjoita viesti @@ -10393,29 +10966,29 @@ p, li { white-space: pre-wrap; } - + Tags Merkkaukset Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + @@ -10515,17 +11088,17 @@ p, li { white-space: pre-wrap; } All addresses (mixed) - + All people - + My contacts - + @@ -10553,7 +11126,7 @@ p, li { white-space: pre-wrap; } Hei %1,<br><br>%2 haluaa olla ystäväsi RetroSharessa.<br><br>Vastaa nyt:<br>%3<br><br>Kiittäen,<br>RetroShare-tiimi. - + Save Message Tallenna viesti @@ -10775,7 +11348,7 @@ Haluatko tallentaa viestin luonnoslaatikkoon? Details - + Tiedot @@ -10836,74 +11409,74 @@ Haluatko tallentaa viestin? Lähettäjä: - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10911,22 +11484,22 @@ Haluatko tallentaa viestin? Everyone - + Contacts - + Kontaktit Nobody - + Accept encrypted distant messages from - + @@ -11136,12 +11709,12 @@ Haluatko tallentaa viestin? Hide the attachment pane - + Show the attachment pane - + @@ -11565,7 +12138,7 @@ Haluatko tallentaa viestin? <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + @@ -11662,7 +12235,7 @@ Haluatko tallentaa viestin? This message goes to a distant person. - + @@ -11697,7 +12270,7 @@ Haluatko tallentaa viestin? This message comes from a distant person. - + @@ -11708,7 +12281,7 @@ Haluatko tallentaa viestin? RetroSharen pikaviestin - + Add a Friend Lisää ystävä @@ -11723,17 +12296,17 @@ Haluatko tallentaa viestin? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + @@ -11991,7 +12564,7 @@ Haluatko tallentaa viestin? - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. @@ -12108,74 +12681,74 @@ Paina hiiren oikeaa nappia ja valitse "ystävysty" saadaksesi yhteyden Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12267,17 +12840,17 @@ Reported error: Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12354,7 +12927,7 @@ Reported error: Ip security - + @@ -12424,7 +12997,7 @@ Reported error: <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + @@ -12464,7 +13037,7 @@ Reported error: Disable All Toaster temporarily - + @@ -12474,7 +13047,7 @@ Reported error: Systray - + @@ -12484,23 +13057,23 @@ Reported error: Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase PGP-avaimen tunnuslause @@ -12520,12 +13093,12 @@ Reported error: RetroShare on havainnut rekisteröimättömän lisäosan. Tämä voi tapahtua kahdesta syystä:<UL><LI>RetroSharen käynnistystiedosto on muuttunut.</LI><LI>Lisäosa on muuttunut</LI></UL>Paina Kyllä hyväksyäksesi lisäosan tai Ei estääksesi sen. Voit muuttaa asetuksen myöhemmin menemällä Asetukset -> Lisäosat, ja käynnistämällä RS:n uudelleen. - + Please check your system clock. Tarkista järjestelmän kello. - + Examining shared files... Tarkastellaan jaettuja tiedostoja... @@ -12561,14 +13134,14 @@ Reported error: Salattu viesti - + Please enter your PGP password for key Anna PGP-avaimesi salasana - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12603,7 +13176,7 @@ Reported error: - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers @@ -12623,37 +13196,37 @@ Reported error: PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + @@ -12663,7 +13236,7 @@ Reported error: No trust - + @@ -12683,31 +13256,31 @@ Reported error: Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12717,73 +13290,134 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures Sisällytä allekirjoitukset + + + Options + Asetukset + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + Käytä suorana lähteenä, kun saatavilla + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details - + - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. Virhe haettaessa vertaisen tietoja. - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) RetroShare ei tue antamaasi avainalgoritmia (Tällä hetkellä vain RSA-avaimet käyvät) - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + @@ -12801,28 +13435,28 @@ p, li { white-space: pre-wrap; } Luottamuksesi tähän vertaiseen on nolla. - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure Virhe allekirjoitettaessa @@ -12832,19 +13466,19 @@ p, li { white-space: pre-wrap; } Salasana saattaa olla väärin - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12993,26 +13627,80 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People Ihmiset - - - External - - Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + Ihmiset @@ -13103,7 +13791,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13116,7 +13804,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13129,7 +13817,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13277,7 +13965,7 @@ yrität muokata sitä! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13371,12 +14059,12 @@ p, li { white-space: pre-wrap; } Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13417,12 +14105,12 @@ p, li { white-space: pre-wrap; } Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + @@ -13436,7 +14124,7 @@ p, li { white-space: pre-wrap; } [loading problem] - + @@ -13482,7 +14170,7 @@ vahingoittamistarkoituksessa tehdyiltä lisäosilta. <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + @@ -13559,7 +14247,7 @@ vahingoittamistarkoituksessa tehdyiltä lisäosilta. Chat remotely closed. Please close this window. - + @@ -13579,12 +14267,12 @@ vahingoittamistarkoituksessa tehdyiltä lisäosilta. Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13642,7 +14330,7 @@ vahingoittamistarkoituksessa tehdyiltä lisäosilta. Link - + @@ -13660,7 +14348,7 @@ vahingoittamistarkoituksessa tehdyiltä lisäosilta. <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + @@ -13731,7 +14419,7 @@ vahingoittamistarkoituksessa tehdyiltä lisäosilta. Subscribe to Posted - + @@ -13747,7 +14435,7 @@ vahingoittamistarkoituksessa tehdyiltä lisäosilta. Posted Description - + @@ -13757,7 +14445,7 @@ vahingoittamistarkoituksessa tehdyiltä lisäosilta. New Posted - + @@ -13768,7 +14456,7 @@ vahingoittamistarkoituksessa tehdyiltä lisäosilta. PostedItem - + 0 0 @@ -13779,7 +14467,7 @@ vahingoittamistarkoituksessa tehdyiltä lisäosilta. - + Comments Kommentit @@ -13814,7 +14502,17 @@ vahingoittamistarkoituksessa tehdyiltä lisäosilta. Uusi - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Vaihda viestin tila luetuksi tai päinvastoin @@ -13824,7 +14522,7 @@ vahingoittamistarkoituksessa tehdyiltä lisäosilta. Poista kohde - + Loading Ladataan @@ -13909,7 +14607,7 @@ vahingoittamistarkoituksessa tehdyiltä lisäosilta. 1-10 - + 1-10 @@ -13917,7 +14615,7 @@ vahingoittamistarkoituksessa tehdyiltä lisäosilta. Tabs - + @@ -13927,7 +14625,7 @@ vahingoittamistarkoituksessa tehdyiltä lisäosilta. Open each topic in a new tab - + @@ -14079,28 +14777,28 @@ ja käyttää "Tuo"-painiketta ladataksesi sen <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + You can use it now to create a new node. - + @@ -14288,9 +14986,9 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation Vahvistus @@ -14300,7 +14998,7 @@ p, li { white-space: pre-wrap; } Haluatko, että järjestelmäsi käsittelee linkin? - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. @@ -14309,7 +15007,7 @@ ja avataksesi aputoiminnon ystävän lisäämiseksi - + Add file Lisää tiedosto @@ -14329,12 +15027,17 @@ ja avataksesi aputoiminnon ystävän lisäämiseksi Haluatko käsitellä %1 kpl linkkejä? - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. %1 RetroShare-linkistä käsitelty, %2 jäljellä. @@ -14443,6 +15146,21 @@ ja avataksesi aputoiminnon ystävän lisäämiseksi Channel messages not found Kanavaviestejä ei löydetty + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + + Recipient not accepted @@ -14486,7 +15204,7 @@ Merkit <b>",|,/,\,&lt;,&gt;,*,?</b> korvataan merkillä Tulos - + Unable to make path Polun luominen epäonnistui @@ -14501,7 +15219,7 @@ Merkit <b>",|,/,\,&lt;,&gt;,*,?</b> korvataan merkillä Kokoelmatiedoston käsittely epäonnistui - + Deny friend Torju ystävä @@ -14521,7 +15239,7 @@ Merkit <b>",|,/,\,&lt;,&gt;,*,?</b> korvataan merkillä Tiedostopyyntö peruttu - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. Tämä RetroSharen versio käyttää OpenPGP-SDK:ta. Tämän takia se ei käytä järjestelmäjaettua PGP-avainketjua, vaan sillä on oma avainketjunsa jaettuna kaikkien käynnissä olevien RetroSharejen kanssa.<br><br>Sinulla ei näytä olevan tällaista avainketjua, vaikka olemassaolevissa RetroShare-tileissä mainitaan PGP-avaimet. Tämä johtuu todennäköisesti siitä, että siirryit juuri ohjelman uudempaan versioon. @@ -14532,12 +15250,12 @@ Merkit <b>",|,/,\,&lt;,&gt;,*,?</b> korvataan merkillä - + RetroShare RetroShare - + Initialization failed. Wrong or missing installation of PGP. Käynnistys epäonnistui. Väärä tai puuttuva PGP:n asennus. @@ -14547,12 +15265,12 @@ Merkit <b>",|,/,\,&lt;,&gt;,*,?</b> korvataan merkillä Odottamaton virhe. Ole hyvä ja raportoi 'RsInit::InitRetroShare unexpected return code %1'. - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. Odottamaton virhe. Ole hyvä ja raportoi 'RsInit::InitRetroShare unexpected return code %1'. - + Multiple instances Useita instansseja @@ -14576,9 +15294,8 @@ Lukitustiedosto: - Start with a RetroShare link is only supported for Windows. - Käynnistys RetroShare-linkistä on mahdollinen ainoastaan Windowsia käytettäessä. + Käynnistys RetroShare-linkistä on mahdollinen ainoastaan Windowsia käytettäessä. @@ -14607,7 +15324,7 @@ Virhe: %2 - + Click to send a private message to %1 (%2). Lähetä yksityinen viesti henkilölle %1 (%2) napsauttamalla tätä. @@ -14617,7 +15334,7 @@ Virhe: %1 (%2, ylimääräinen - lähde mukana) - + Click this link to send a private message to %1 (%2) Napsauttamalla tätä linkkiä voit lähettää yksityisen viestin henkilölle %1 (%2) @@ -14634,103 +15351,103 @@ Virhe: TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + @@ -14741,49 +15458,49 @@ Virhe: Subject: - + Aihe: Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error - + Virhe unable to parse XML file! - + @@ -14798,12 +15515,12 @@ Security: no anonymous IDs <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14926,10 +15643,10 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -14974,31 +15691,31 @@ p, li { white-space: pre-wrap; } RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + Mihin haluat laittaa sivun painikkeet? ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -15013,8 +15730,8 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> @@ -15093,12 +15810,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + Haluatko todella lopettaa tämän hakemiston jakamisen? @@ -15142,60 +15859,60 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15213,7 +15930,7 @@ p, li { white-space: pre-wrap; } <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15303,7 +16020,7 @@ p, li { white-space: pre-wrap; } <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15337,22 +16054,22 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + @@ -15365,33 +16082,33 @@ p, li { white-space: pre-wrap; } Add IP to whitelist - + Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15423,12 +16140,12 @@ p, li { white-space: pre-wrap; } Lataa! - + File Tiedosto - + Size Koko @@ -15445,7 +16162,7 @@ p, li { white-space: pre-wrap; } Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. Joissakin tiedostonimissä tai hakemistojen nimissä on kiellettyjä merkkejä. Merkit <b>",|,/,\,&lt;,&gt;,*,?</b> korvataan merkillä '_'. @@ -15464,12 +16181,12 @@ Merkit <b>",|,/,\,&lt;,&gt;,*,?</b> korvataan merkillä <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + @@ -15479,7 +16196,7 @@ Merkit <b>",|,/,\,&lt;,&gt;,*,?</b> korvataan merkillä <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + @@ -15492,12 +16209,17 @@ Merkit <b>",|,/,\,&lt;,&gt;,*,?</b> korvataan merkillä Tallenna - + Collection Editor Kokoelman muokkaus - + + File Path + + + + File Count Tiedostojen määrä @@ -15507,14 +16229,14 @@ Merkit <b>",|,/,\,&lt;,&gt;,*,?</b> korvataan merkillä Tämä on juurihakemisto. - - + + Real Size: Waiting child... Todellinen koko: Odotetaan alihakemistoja... - - + + Real File Count: Waiting child... Todellinen tiedostojen määrä: Odotetaan alihakemistoja... @@ -15578,17 +16300,17 @@ Merkit <b>",|,/,\,&lt;,&gt;,*,?</b> korvataan merkillä <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + File already exists. - + <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15661,13 +16383,13 @@ Jos se on mielestäsi kunnollinen, poista mainittu rivi tiedostosta ja avaa se u File already exists. - + RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? Kuva on liian suuri siirron kannalta. @@ -15679,13 +16401,13 @@ Pienennetäänkö kuva kokoon %1x%2 pikseliä? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. Palauttaa KAIKKI tallennetut RetroSharen asetukset. @@ -15725,7 +16447,7 @@ Pienennetäänkö kuva kokoon %1x%2 pikseliä? RetroSharen käyttötiedot - + Unable to open log file '%1': %2 Lokitiedoston '%1': %2 avaaminen epäonnistui @@ -15740,24 +16462,33 @@ Pienennetäänkö kuva kokoon %1x%2 pikseliä? Datahakemistoa ei voitu luoda: %1 - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -16073,7 +16804,7 @@ Pienennetäänkö kuva kokoon %1x%2 pikseliä? IP address: - + @@ -16088,7 +16819,7 @@ Pienennetäänkö kuva kokoon %1x%2 pikseliä? Peer Name: - + @@ -16105,33 +16836,33 @@ Pienennetäänkö kuva kokoon %1x%2 pikseliä? but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -16279,12 +17010,12 @@ Pienennetäänkö kuva kokoon %1x%2 pikseliä? Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16297,12 +17028,12 @@ Pienennetäänkö kuva kokoon %1x%2 pikseliä? Network Mode - + Verkon toimintatapa Nat - + @@ -16390,7 +17121,7 @@ Pienennetäänkö kuva kokoon %1x%2 pikseliä? If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. Jos poistat tästä rastin, RetroShare voi määritellä IP-osoitteesi ainoastaan, kun olet yhteydessä johonkuhun. Tämän @@ -16436,65 +17167,65 @@ vähän ystäviä. Tämä auttaa myös, jos olet palomuurin tai VPN:n takana. Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + @@ -16504,27 +17235,27 @@ Also check your ports! Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16539,18 +17270,18 @@ Also check your ports! IP Filters - + IP blacklist - + IP range - + @@ -16564,13 +17295,13 @@ Also check your ports! Origin - + Reason - + @@ -16582,158 +17313,158 @@ Also check your ports! IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + @@ -16746,78 +17477,78 @@ If you have issues connecting over Tor check the Tor logs too. Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16840,12 +17571,12 @@ If you have issues connecting over Tor check the Tor logs too. Auto-download recommended files - + Require whitelist - + @@ -16868,12 +17599,12 @@ If you have issues connecting over Tor check the Tor logs too. hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16930,7 +17661,7 @@ If you have issues connecting over Tor check the Tor logs too. Share flags and groups: - + @@ -16954,7 +17685,7 @@ If you have issues connecting over Tor check the Tor logs too. You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -17202,48 +17933,48 @@ Select the Friends with which you want to Share your Channel. Friend - + Ystävä Go Online - + Chatmessage - + New Msg - + Message - + Viesti Message arrived - + Download - + Lataa Download complete - + Lobby - + @@ -17286,7 +18017,7 @@ Select the Friends with which you want to Share your Channel. Default - + Oletus @@ -17294,18 +18025,18 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile Avaa profiili @@ -17378,9 +18109,9 @@ Ei vaikuta nykyisiin identiteetteihin/sijainteihin. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17389,7 +18120,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17398,7 +18129,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17407,7 +18138,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17481,12 +18212,12 @@ This choice can be reverted in settings. Turtle Router - + Global Router - + @@ -17593,7 +18324,7 @@ This choice can be reverted in settings. Connected: I2P - + @@ -17608,57 +18339,57 @@ This choice can be reverted in settings. TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17678,7 +18409,7 @@ This choice can be reverted in settings. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17691,7 +18422,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17855,17 +18586,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed Tilattu - + Unsubscribe Lopeta tilaus - + Subscribe Aloita tilaus @@ -17924,12 +18655,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17984,11 +18715,11 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -18008,27 +18739,27 @@ p, li { white-space: pre-wrap; } <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -18063,7 +18794,7 @@ p, li { white-space: pre-wrap; } TransfersDialog - + Downloads Lataukset @@ -18074,7 +18805,7 @@ p, li { white-space: pre-wrap; } Lähetykset - + Name i.e: file name @@ -18315,7 +19046,7 @@ p, li { white-space: pre-wrap; } <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + @@ -18344,39 +19075,39 @@ p, li { white-space: pre-wrap; } - + Failed Epäonnistunut - - + + Okay OK - - + + Waiting Odotetaan - + Downloading Ladataan - + Complete Valmis - + Queued Jonossa @@ -18396,7 +19127,7 @@ p, li { white-space: pre-wrap; } Tuntematon - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18487,7 +19218,7 @@ Kärsivällisyyttä! Kirjoita uusi ja validi tiedostonimi - + Last Time Seen i.e: Last Time Receiced Data Viimeksi nähty @@ -18619,7 +19350,7 @@ Kärsivällisyyttä! Näytä Polku-sarake - + Could not delete preview file Esikatselutiedostoa ei voitu poistaa @@ -18629,7 +19360,7 @@ Kärsivällisyyttä! Yritä uudelleen? - + Create Collection... Luo kokoelma... @@ -18649,24 +19380,24 @@ Kärsivällisyyttä! Kokoelma - + File sharing Tiedostojen jakaminen - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: - + @@ -18823,12 +19554,12 @@ Kärsivällisyyttä! Anonymous tunnels - + Authenticated tunnels - + @@ -18838,7 +19569,7 @@ Kärsivällisyyttä! Turtle Router - + @@ -18886,7 +19617,7 @@ Kärsivällisyyttä! Forwarded data - + @@ -19015,57 +19746,57 @@ Kärsivällisyyttä! Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -19691,7 +20422,7 @@ Kärsivällisyyttä! Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_fr.ts b/retroshare-gui/src/lang/retroshare_fr.ts index 08682b05d..e4f4b5e12 100644 --- a/retroshare-gui/src/lang/retroshare_fr.ts +++ b/retroshare-gui/src/lang/retroshare_fr.ts @@ -1,4 +1,6 @@ - + + + AWidget @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file Impossible de déterminer la commande système par défaut pour ce fichier @@ -305,7 +307,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -427,7 +429,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -475,7 +477,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -488,7 +490,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -558,7 +560,7 @@ p, li { white-space: pre-wrap; } On List Ite&m - + @@ -658,7 +660,7 @@ p, li { white-space: pre-wrap; } Disable SysTray ToolTip - + @@ -775,7 +777,7 @@ Mais rappelez-vous : Toutes les données *SERONT* perdus quand nous mettrons à BWGraphSource - + KB/s KO/s @@ -1005,7 +1007,7 @@ Mais rappelez-vous : Toutes les données *SERONT* perdus quand nous mettrons à Log scale - + @@ -1053,6 +1055,11 @@ Mais rappelez-vous : Toutes les données *SERONT* perdus quand nous mettrons à Mute participant Mute le participant + + + Ban this person (Sets negative opinion) + + Send Message @@ -1061,15 +1068,15 @@ Mais rappelez-vous : Toutes les données *SERONT* perdus quand nous mettrons à Sort by Name - + Trier par nom Sort by Activity - + - + Invite friends to this lobby Inviter des amis à ce salon @@ -1089,7 +1096,7 @@ Mais rappelez-vous : Toutes les données *SERONT* perdus quand nous mettrons à Selectionner les amis à inviter : - + Welcome to lobby %1 Bienvenue dans le salon %1 @@ -1105,7 +1112,7 @@ Mais rappelez-vous : Toutes les données *SERONT* perdus quand nous mettrons à Salons de tchat - + Lobby management @@ -1152,12 +1159,12 @@ Mais rappelez-vous : Toutes les données *SERONT* perdus quand nous mettrons à secondes - + Start private chat Démarrer un tchat privé - + Decryption failed. Le déchiffrement a échoué. @@ -1242,12 +1249,12 @@ Mais rappelez-vous : Toutes les données *SERONT* perdus quand nous mettrons à ChatLobbyWidget - + Chat lobbies Salons de tchat - + Name Nom @@ -1285,7 +1292,7 @@ Mais rappelez-vous : Toutes les données *SERONT* perdus quand nous mettrons à [Sans sujet déterminé] - + Selected lobby info Info du salon sélectionné @@ -1302,7 +1309,7 @@ Mais rappelez-vous : Toutes les données *SERONT* perdus quand nous mettrons à Anonymous IDs accepted - + @@ -1325,7 +1332,7 @@ Mais rappelez-vous : Toutes les données *SERONT* perdus quand nous mettrons à %1 vous invite dans le salon de tchat %2 - + Search Chat lobbies Rechercher des salons de tchat @@ -1365,7 +1372,7 @@ Mais rappelez-vous : Toutes les données *SERONT* perdus quand nous mettrons à Non - + Lobby Name: Nom du salon : @@ -1532,7 +1539,7 @@ Double cliquer sur le salon pour y accéder et discuter. Annuler - + Quick Message Message instantané @@ -1541,34 +1548,34 @@ Double cliquer sur le salon pour y accéder et discuter. ChatPage - + General Général - + Distant Chat - + Everyone - + Contacts - + Contacts Nobody - + Accept encrypted distant chat from - + @@ -1620,6 +1627,11 @@ Double cliquer sur le salon pour y accéder et discuter. Send message with Ctrl+Return Envoyer les messages avec Ctrl+Entrée + + + Send as plain text by default + + Chat Lobby @@ -1725,7 +1737,7 @@ Double cliquer sur le salon pour y accéder et discuter. Sortant - + Incoming message in history Message entrant de l'historique @@ -1762,12 +1774,12 @@ Double cliquer sur le salon pour y accéder et discuter. UserName - + /me is sending a message with /me - + @@ -1860,7 +1872,7 @@ Double cliquer sur le salon pour y accéder et discuter. Afficher la barre par défaut - + Private chat invite from Invitation de tchat privé reçue de @@ -1883,7 +1895,7 @@ Double cliquer sur le salon pour y accéder et discuter. ChatStyle - + Standard style for group chat Le style standard pour le tchat en groupe @@ -1937,12 +1949,12 @@ Double cliquer sur le salon pour y accéder et discuter. Fermer - + Send Envoyer - + Bold Gras @@ -1957,12 +1969,12 @@ Double cliquer sur le salon pour y accéder et discuter. Italique - + Attach a Picture Joindre une image - + Strike Découverte @@ -2013,42 +2025,70 @@ Double cliquer sur le salon pour y accéder et discuter. Réinitialiser à la valeur par défaut - + Quote - + Citer Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... écrit... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? Etes-vous vraiment sûr de vouloir supprimer définitivement l'historique ? - + Add Extra File Ajouter un fichier supplémentaire @@ -2093,7 +2133,7 @@ Double cliquer sur le salon pour y accéder et discuter. est occupé et peut ne pas répondre - + Find Case Sensitively Trouver en tenant compte de la casse @@ -2115,7 +2155,7 @@ Double cliquer sur le salon pour y accéder et discuter. Ne pas cesser de colorer après X articles trouvés (nécessite davantage de CPU) - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> <b>Trouver le précédent </b><br/><i>Ctrl+Shift+G</i> @@ -2130,12 +2170,12 @@ Double cliquer sur le salon pour y accéder et discuter. <b>Trouver </b><br/><i>Ctrl+F</i> - + (Status) (Statut) - + Set text font & color Régler police de caractères du texte et couleur @@ -2145,7 +2185,7 @@ Double cliquer sur le salon pour y accéder et discuter. Joindre un fichier - + WARNING: Could take a long time on big history. AVERTISSEMENT : cela pourrait prendre longtemps si c'est un historique de grande taille. @@ -2156,17 +2196,16 @@ Double cliquer sur le salon pour y accéder et discuter. - + <b>Mark this selected text</b><br><i>Ctrl+M</i> <b>Marquer ce texte comme sélectionné</b><br><i>Ctrl+M</i> - %1This message consists of %2 characters. - %1Ce message consiste de %2 caractères. + %1Ce message consiste de %2 caractères. - + items found. articles trouvés. @@ -2181,22 +2220,20 @@ Double cliquer sur le salon pour y accéder et discuter. <b>Retour au texte marqué</b><br><i>Ctrl+M</i> - Display Search Box - Afficher la boîte de recherche + Afficher la boîte de recherche - Search Box - Boîte de recherche + Boîte de recherche - + Type a message here Saisissez votre message ici - + Don't stop to color after Ne pas cesser de colorer après @@ -2206,9 +2243,8 @@ Double cliquer sur le salon pour y accéder et discuter. éléments trouvés (besoin de plus de CPU) - Warning: - Avertissement : + Avertissement : @@ -2227,7 +2263,7 @@ Double cliquer sur le salon pour y accéder et discuter. CirclesDialog - + Showing details: Afficher les détails : @@ -2249,7 +2285,7 @@ Double cliquer sur le salon pour y accéder et discuter. - + Personal Circles Cercles personnels @@ -2275,7 +2311,7 @@ Double cliquer sur le salon pour y accéder et discuter. - + Friends Amis @@ -2335,7 +2371,7 @@ Double cliquer sur le salon pour y accéder et discuter. Amis des Amis - + External Circles (Admin) Cercles extérieurs (Admin) @@ -2359,7 +2395,7 @@ Double cliquer sur le salon pour y accéder et discuter. ConfCertDialog - + Details Détails @@ -2375,7 +2411,7 @@ Double cliquer sur le salon pour y accéder et discuter. - + Local Address Adresse locale : @@ -2402,36 +2438,39 @@ Double cliquer sur le salon pour y accéder et discuter. Liste d'adresses IP connues: - + + Use this certificate to make friends: + + + + Include signatures Inclure les signatures - - + + RetroShare Retroshare - - + + Error : cannot get peer details. Erreur : impossible d'obtenir les détails de ce contact. - Use as direct source, when available - Utiliser en source directe, quand disponible + Utiliser en source directe, quand disponible - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - <html><head/><body><p align="justify">Retroshare vérifie régulièrement vos listes d'amis pour les fichiers correspondant à vos transferts, afin d'établir un transfert direct. Dans ce cas, votre ami sait que vous téléchargez le fichier. </p><p align="justify">Pour éviter ce comportement pour ce seul ami, décochez cette case. Vous pouvez toujours effectuer un transfert direct si vous le demander expressément, par exemple en téléchargement à partir de la liste des fichiers de votre ami. </p></body></html> + <html><head/><body><p align="justify">Retroshare vérifie régulièrement vos listes d'amis pour les fichiers correspondant à vos transferts, afin d'établir un transfert direct. Dans ce cas, votre ami sait que vous téléchargez le fichier. </p><p align="justify">Pour éviter ce comportement pour ce seul ami, décochez cette case. Vous pouvez toujours effectuer un transfert direct si vous le demander expressément, par exemple en téléchargement à partir de la liste des fichiers de votre ami. </p></body></html> - + Encryption Chiffrement @@ -2446,17 +2485,16 @@ Double cliquer sur le salon pour y accéder et discuter. Adresses des contacts - Options - Options + Options - + Retroshare node details Détails de noeud Retroshare - + Node name : Nom de noeud : @@ -2491,22 +2529,16 @@ Double cliquer sur le salon pour y accéder et discuter. Certificat Retroshare - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - Auto-download recommended files from this node - Télécharger automatiquement les fichiers recommandés par ce noeud + Télécharger automatiquement les fichiers recommandés par ce noeud - + Friend node details Détails noeud ami - + Hidden Address Adresse cachée @@ -2542,17 +2574,15 @@ Double cliquer sur le salon pour y accéder et discuter. <p>Vous pouvez utiliser ce certificat pour vous faire de nouveaux amis. Envoyez-le par courrier électronique, ou donnez-le de main à la main.</p> - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - <html><head/><body><p>Les pairs qui ont cette option ne peuvent pas se connecter si leur adresse de connexion n'est pas dans la liste blanche. Ceci vous protège du trafic transportant des attaques. Quand utilisée, les pairs rejetés seront rapportés en tant que &quot;articles de flux sécurité (security feed items)&quot; dans la section "Fil d'actualités". De là, vous pouvez passer leur IP en liste blanche/liste noire.</p></body></html> + <html><head/><body><p>Les pairs qui ont cette option ne peuvent pas se connecter si leur adresse de connexion n'est pas dans la liste blanche. Ceci vous protège du trafic transportant des attaques. Quand utilisée, les pairs rejetés seront rapportés en tant que &quot;articles de flux sécurité (security feed items)&quot; dans la section "Fil d'actualités". De là, vous pouvez passer leur IP en liste blanche/liste noire.</p></body></html> - Require white list clearance - Requiert l'autorisation en liste blanche + Requiert l'autorisation en liste blanche - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> <html><head/><body><p>Ceci est l'ID du certificat <span style=" font-weight:600;">OpenSSL</span> du noeud, qui est signé par la clé <span style=" font-weight:600;">PGP</span> ci-dessus. </p></body></html> @@ -2628,12 +2658,12 @@ Double cliquer sur le salon pour y accéder et discuter. Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + @@ -2753,7 +2783,7 @@ Double cliquer sur le salon pour y accéder et discuter. Email - + Courrier électronique @@ -3180,7 +3210,7 @@ resources. The text below is your Retroshare certificate. You have to provide it to your friend - + @@ -3727,11 +3757,11 @@ contact même si vous n'êtes pas amis. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -3790,68 +3820,80 @@ p, li { white-space: pre-wrap; } CreateCircleDialog - + + + + Circle Details Détails du cercle - - + Name Nom - Creator - Créateur + Créateur - Distribution - Distribution + Distribution - + Public Public - Self-Restricted - Self-Restricted + Self-Restricted - Restricted to: - Limité à : + Limité à : - Circle Membership - Membre du cercle + Membre du cercle - + IDs IDs - Known Identities - Identités connues + Identités connues - + Filter Filtre - + Nickname Surnom - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ID @@ -3861,55 +3903,104 @@ p, li { white-space: pre-wrap; } Type - - - - + + Name: + + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + Privé + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare Retroshare - + Please set a name for your Circle S'il vous plaît donnez un nom à votre cercle - Personal Circle Details - Détails du cercle personnel + Détails du cercle personnel - External Circle Details - Détails du cercle extérieur + Détails du cercle extérieur - Cannot Edit Existing Circles Yet - Impossible de modifier un cercle existant pour l'instant + Impossible de modifier un cercle existant pour l'instant - + No Restriction Circle Selected Aucune restriction de cercle sélectionnée - + No Circle Limitations Selected Aucune limitation de cercle sélectionnée - Create New Personal Circle - Créer un nouveau cercle personnel + Créer un nouveau cercle personnel - Create New External Circle - Créer un nouveau cercle externe + Créer un nouveau cercle externe - + Add Ajouter @@ -3919,13 +4010,13 @@ p, li { white-space: pre-wrap; } Enlever - + Search Rechercher - + All Tout @@ -3940,49 +4031,98 @@ p, li { white-space: pre-wrap; } Signé par des noeuds connus - + Edit Circle Modifier le cercle - - + PGP Identity Identité PGP - - - + + + Anon Id ID anon + + + Circle name + + + + + Update + + + Close + Fermer + + + + + Create New Circle + + + + + Create + Créer + + + PGP Linked Id ID PGP liée + + + Add Member + + + + + Remove Member + + CreateGroup - + Create a Group Créer un groupe - - Group Name - Nom du groupe + + Group Name: + Nom du groupe : - + + Group ID: + + + + Group Name + Nom du groupe + + + Enter a name for your group Entrez un nom pour le groupe que vous souhaitez créer - + + To be defined + + + + Friends Amis @@ -4016,9 +4156,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -4147,7 +4287,7 @@ p, li { white-space: pre-wrap; } CreateGxsForumMsg - + Post Forum Message Poster un message sur le forum @@ -4192,12 +4332,12 @@ p, li { white-space: pre-wrap; } Lancer un nouveau fil - + No Forum Aucun forum - + In Reply to En réponse à @@ -4223,9 +4363,19 @@ p, li { white-space: pre-wrap; } Add Extra File Ajouter un fichier supplémentaire + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data Générer des données en masse @@ -4235,12 +4385,12 @@ p, li { white-space: pre-wrap; } Voulez-vous vraiment générer %1 messages ? - + Send Envoyer - + Forum Message Message de forum @@ -4303,7 +4453,7 @@ Voulez-vous rejeter ce message ? <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + @@ -4502,7 +4652,7 @@ Voulez-vous rejeter ce message ? <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + @@ -4528,7 +4678,7 @@ Voulez-vous rejeter ce message ? No peer found in DHT - + @@ -4783,7 +4933,7 @@ Voulez-vous rejeter ce message ? Copy %1 to clipboard - + @@ -5039,7 +5189,7 @@ Voulez-vous rejeter ce message ? Relays - + @@ -5202,7 +5352,7 @@ Voulez-vous rejeter ce message ? Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. Sauvegarde le hachage des fichiers, même s'ils ne sont pas partagés. @@ -5690,7 +5840,7 @@ des fichiers quand vous le rebrancher. Afficher les groupes - + Group Groupe @@ -5731,7 +5881,7 @@ des fichiers quand vous le rebrancher. Ajouter à un groupe - + Search Rechercher @@ -5741,7 +5891,7 @@ des fichiers quand vous le rebrancher. Trier par état - + Move to group Déplacer dans le groupe @@ -5776,12 +5926,12 @@ des fichiers quand vous le rebrancher. Disponible - + Do you want to remove this Friend? Désirez-vous supprimer cet ami ? - + Done! Terminé ! @@ -5830,8 +5980,12 @@ au moins un contact n'a pas été ajouté au groupe + Select file for importing your friendlist from + + + Select file for importing yoour friendlist from - Sélectionnez le fichier d'importation de votre liste d'amis + Sélectionnez le fichier d'importation de votre liste d'amis @@ -5859,13 +6013,13 @@ au moins un contact n'a pas été ajouté au groupe File is not writeable! - + File is not readable! - + @@ -5873,7 +6027,7 @@ au moins un contact n'a pas été ajouté au groupe IP - + Attempt to connect Tentative de connexion @@ -5903,7 +6057,7 @@ au moins un contact n'a pas été ajouté au groupe Enlever noeud d'ami - + Do you want to remove this node? Voulez-vous retirer ce noeud ? @@ -5913,7 +6067,7 @@ au moins un contact n'a pas été ajouté au groupe Noeuds amis - + Send message to whole group Envoyer le message au groupe entier @@ -5976,7 +6130,7 @@ au moins un contact n'a pas été ajouté au groupe Rechercher des amis - + Mark all Tout marquer @@ -6171,7 +6325,12 @@ mais pour rester anonyme, vous pouvez utiliser un faux courrier électronique.Mot de passe (contrôle) - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> <html><head/><body><p align="justify">Avant de continuer, déplacez votre souris pour aider Retroshare à recueillir autant de données aléatoires que possible. Remplir la barre de progression jusqu'à 20&#37; est nécessaire, 100&#37; est conseillé.</p></body></html> @@ -6235,7 +6394,7 @@ mais pour rester anonyme, vous pouvez utiliser un faux courrier électronique.Le champ noeud est exigé avec un minimum de 3 caractères - + Failed to generate your new certificate, maybe PGP password is wrong! Échec lors de la génération de votre nouveau certificat, peut-être que votre mot de passe PGP est faux ! @@ -6269,7 +6428,7 @@ Autrement vous pouvez utiliser un profil existant. Il vous suffit de décocher & - + Create a new profile Créer un nouveau profil @@ -6320,12 +6479,7 @@ Autrement vous pouvez utiliser un profil existant. Il vous suffit de décocher & <html><head/><body><p>Ceci est votre port de connexion.</p><p>N'importe quelle valeur entre 1024 et 65535 </p><p> devrait être OK. Il vous sera possible de la changer plus tard.</p></body></html> - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length Longueur de la clé PGP @@ -6481,12 +6635,12 @@ et l'utiliser au moyen du bouton d'importation afin de le charger - + Profile generation failure Échec lors de la génération du profil - + Missing PGP certificate Certificat PGP manquant @@ -6554,8 +6708,12 @@ Remplissez votre mot de passe PGP une fois demandé, afin de signer votre nouvel + Register retroshare:// as URL protocol + + + Register retroshare:// as URL protocol (Restart required) - Enregistrer retroshare :// en tant que protocole (redémarrage requis) + Enregistrer retroshare :// en tant que protocole (redémarrage requis) @@ -6563,7 +6721,27 @@ Remplissez votre mot de passe PGP une fois demandé, afin de signer votre nouvel Vous avez besoin des droits administrateur pour modifier cette option. - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle Inactivité @@ -6583,7 +6761,17 @@ Remplissez votre mot de passe PGP une fois demandé, afin de signer votre nouvel Lancer l'assistant de configuration rapide - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error Erreur @@ -6604,7 +6792,7 @@ Remplissez votre mot de passe PGP une fois demandé, afin de signer votre nouvel Général - + Minimize to Tray Icon Réduire dans la zone de notification @@ -6628,7 +6816,7 @@ Remplissez votre mot de passe PGP une fois demandé, afin de signer votre nouvel <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> @@ -6661,18 +6849,18 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6684,31 +6872,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6721,7 +6909,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + @@ -6834,7 +7022,7 @@ p, li { white-space: pre-wrap; } GroupBox - + @@ -6844,7 +7032,7 @@ p, li { white-space: pre-wrap; } Identity Name - + @@ -6863,33 +7051,45 @@ p, li { white-space: pre-wrap; } - Data size - Taille données + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data size + Taille données + + + Data hash Hash données - Received - Reçu + Reçu - Send - Envoyé + Envoyé - + Branching factor - + Details - + Détails @@ -6922,7 +7122,7 @@ p, li { white-space: pre-wrap; } [Unknown identity] - + @@ -6938,6 +7138,14 @@ p, li { white-space: pre-wrap; } Afficher le Tchat public + + GroupChooser + + + [Unknown] + [Inconnu] + + GroupDefs @@ -7072,17 +7280,26 @@ p, li { white-space: pre-wrap; } Contacts : - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer Veuillez sélectionner au moins un contact - Share channel admin permissions - Partager les permissions d'administration de la chaîne + Partager les permissions d'administration de la chaîne - + Share forum admin permissions Partager les permissions d'administration de forum @@ -7102,9 +7319,8 @@ p, li { white-space: pre-wrap; } Vous pouvez permettre à vos amis d'éditer le sujet. Choisissez-les dans la liste ci-dessous. Note : il n'est pas possible de révoquer des permissions d'administration Postées (Posted admin permissions). - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - Vous pouvez permettre à vos amis de publier dans votre chaîne et d'en modifier la description. Ou vous pouvez envoyer les permissions d'administration à un autre instance Retroshare. Choisissez les amis auxquels vous voulez permettre de publier dans cette chaîne. Notez : il n'est pas possible de révoquer des permissions d'administration de chaîne. + Vous pouvez permettre à vos amis de publier dans votre chaîne et d'en modifier la description. Ou vous pouvez envoyer les permissions d'administration à un autre instance Retroshare. Choisissez les amis auxquels vous voulez permettre de publier dans cette chaîne. Notez : il n'est pas possible de révoquer des permissions d'administration de chaîne. @@ -7147,7 +7363,17 @@ p, li { white-space: pre-wrap; } Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + @@ -7155,12 +7381,11 @@ p, li { white-space: pre-wrap; } Affichage - You have admin rights - Vous avez les droits d'administration + Vous avez les droits d'administration - + Subscribe to download and read messages S'abonner pour télécharger et lire les messages @@ -7505,6 +7730,16 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Changer l'état de lecture du message @@ -7515,7 +7750,7 @@ p, li { white-space: pre-wrap; } - + Play Lecture @@ -7552,12 +7787,12 @@ p, li { white-space: pre-wrap; } Supprimer - + Channel Feed Fil d'actualités des chaînes - + Files Fichiers @@ -7597,12 +7832,12 @@ p, li { white-space: pre-wrap; } Je n'aime pas ça - + Loading Chargement - + Open Ouvrir @@ -7620,7 +7855,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel Poster dans la chaîne @@ -7635,7 +7870,7 @@ p, li { white-space: pre-wrap; } Chercher chaînes - + Title Titre @@ -7670,7 +7905,32 @@ p, li { white-space: pre-wrap; } Aucune chaîne sélectionnée - + + Public + Public + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download Désactiver le téléchargement automatique @@ -7690,7 +7950,23 @@ p, li { white-space: pre-wrap; } Afficher les fichiers - + + Administrator: + + + + + + unknown + inconnu + + + + Distribution: + + + + Feeds Flux @@ -7700,17 +7976,17 @@ p, li { white-space: pre-wrap; } Fichiers - + Subscribers Abonnés - + Description: Description : - + Posts (at neighbor nodes): Posts (chez vos noeuds voisins) : @@ -7834,7 +8110,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -7995,7 +8271,7 @@ avant de pouvoir commenter Formulaire - + Start new Thread for Selected Forum Lancer un nouveau fil dans le forum sélectionné @@ -8021,7 +8297,7 @@ avant de pouvoir commenter - + Title Titre @@ -8034,18 +8310,18 @@ avant de pouvoir commenter - + Author Auteur Save image - + - + Loading Chargement @@ -8117,7 +8393,7 @@ avant de pouvoir commenter This will block/hide messages from this person, and notify neighbor nodes. - + @@ -8170,7 +8446,7 @@ avant de pouvoir commenter This message was obtained from %1 - + @@ -8179,19 +8455,59 @@ avant de pouvoir commenter + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + Public + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + Distribution + + + Anti-spam - + @@ -8226,17 +8542,17 @@ avant de pouvoir commenter <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8292,7 +8608,7 @@ avant de pouvoir commenter Le %1, %2 a écrit : - + Forum name Nom de forum @@ -8307,7 +8623,7 @@ avant de pouvoir commenter Posts (chez les noeuds voisins) - + Description Description @@ -8317,7 +8633,7 @@ avant de pouvoir commenter Par - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> <p>L'abonnement au forum rassemblera les messages disponibles à partir de vos amis qui y sont abonnés et rendra le forum visible à tous vos autres amis.</p> <p>Ensuite vous pourrez vous désabonner via le menu de contexte de la liste des forums à gauche.</p> @@ -8395,13 +8711,13 @@ avant de pouvoir commenter GxsGroupDialog - - + + Name Nom - + Add Icon Ajouter une icône @@ -8416,7 +8732,7 @@ avant de pouvoir commenter Partager la clé de publication - + check peers you would like to share private publish key with Visualiser les personnes avec qui vous partagez votre clé de publication privée @@ -8426,36 +8742,40 @@ avant de pouvoir commenter Clé partagée avec - - + + Description Description - + Message Distribution Distribution de message - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public Public - - Restricted to Group - Limité au groupe + Limité au groupe - - + Only For Your Friends Seulement pour vos amis - + Publish Signatures Signatures publiées @@ -8501,12 +8821,11 @@ avant de pouvoir commenter - Comments Commentaires - + Allow Comments Autoriser les commentaires @@ -8518,71 +8837,107 @@ avant de pouvoir commenter Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + Commentaires : - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + Etiquette - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: Contacts : - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name Veuillez ajoutez un nom - + + PGP signature from known ID required + + + + Load Group Logo Charger le logo du groupe - + Submit Group Changes Soumettre des changements de groupe - + Failed to Prepare Group MetaData - please Review Echec à préparer les méta-données de groupe - veuillez examiner - + Will be used to send feedback Sera utilisé pour envoyer du retour d'information @@ -8592,52 +8947,94 @@ avant de pouvoir commenter Propriétaire : - + Set a descriptive description here Mettez ici une description descriptive - + Info Info - Comments allowed - Commentaires autorisés + Commentaires autorisés - Comments not allowed - Commentaires non autorisés + Commentaires non autorisés - + ID ID - + Last Post Dernier article + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity Popularité - + Posts Posts - Type - Type + Type - + Author Auteur @@ -8695,7 +9092,12 @@ avant de pouvoir commenter Modifier détails - + + Share publish permissions + + + + Copy RetroShare Link Copier le lien Retroshare @@ -8710,25 +9112,24 @@ avant de pouvoir commenter Tout marquer comme non lu - + AUTHD Authentification - Share admin permissions - Partager des permissions d'administration + Partager des permissions d'administration GxsIdChooser - + No Signature Sans signature - + Create new Identity Créer une nouvelle identité @@ -8736,7 +9137,7 @@ avant de pouvoir commenter GxsIdDetails - + Loading Chargement @@ -8812,42 +9213,42 @@ avant de pouvoir commenter Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + Contact inconnu @@ -9082,7 +9483,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9113,7 +9514,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9123,7 +9524,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> @@ -9188,7 +9589,7 @@ p, li { white-space: pre-wrap; } IdDetailsDialog - + Person Details Détails de la personne @@ -9241,7 +9642,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + @@ -9258,13 +9659,13 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9274,9 +9675,9 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + @@ -9296,7 +9697,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + @@ -9372,13 +9773,14 @@ p, li { white-space: pre-wrap; } IdDialog - + + New ID Nouvelle ID - - + + All Tout @@ -9394,39 +9796,75 @@ p, li { white-space: pre-wrap; } Rechercher - Unknown real name - Vrai nom inconnu + Vrai nom inconnu - + Anonymous Id ID anonyme - + Create new Identity Créer une nouvelle identité - - Persons - + + Create new circle + - + + Persons + + + + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + Cercles + + + + Circle name + + + + + Membership + Adhésion + + + + Public Circles + Cercles publics + + + + Personal Circles + Cercles personnels + + + Edit identity Modifier l'identité @@ -9447,7 +9885,7 @@ p, li { white-space: pre-wrap; } Lancer un tchat distant avec ce pair - + Owner node ID : ID du noeud propriétaire : @@ -9457,22 +9895,22 @@ p, li { white-space: pre-wrap; } Nom de l'identité : - + () - + - + Identity ID ID de l'identité - + Send message Envoyer message - + Identity info Info d'identité @@ -9494,12 +9932,12 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + @@ -9529,7 +9967,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + @@ -9537,48 +9975,273 @@ p, li { white-space: pre-wrap; } Générale : - - Contacts - - - - Owned by you - Possédée(s) par vous + Possédée(s) par vous - + Anonymous Anonymes - + ID - + ID Search ID - + - + This identity is owned by you Cette identité est possédée par vous-même - Unknown PGP key - Clé PGP inconnue + Clé PGP inconnue - - Unknown key ID - ID de clé inconnu + ID de clé inconnu - + + My own identities + + + + + My contacts + + + + + Owned by myself + + + + + Linked to my node + + + + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + Public + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + Statut : + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + inconnu + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + Modifier le cercle + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node Identité possédée par vous, liée à votre noeud Retroshare @@ -9603,29 +10266,29 @@ p, li { white-space: pre-wrap; } Banni - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + @@ -9640,28 +10303,28 @@ p, li { white-space: pre-wrap; } Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + Remerciements, <br> - - - - + + + + People Pers. @@ -9672,12 +10335,11 @@ p, li { white-space: pre-wrap; } Votre avatar - Linked to your node - Liée(s) à votre noeud + Liée(s) à votre noeud - + Linked to neighbor nodes Liée(s) aux noeuds voisins @@ -9687,12 +10349,11 @@ p, li { white-space: pre-wrap; } Liée(s) aux noeuds distants - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identités</h1> <p>Dans cet onglet vous pouvez créer/éditer des identités pseudo-anonymes. </p> <p>Les identités sont utilisées pour identifier vos données de façon sécurisée : signer vos messages dans les forums et chaînes, et recevoir du compte rendu en utilisant le système embarqué de messagerie de Retroshare, poster des commentaires à la suite de messages postés dans des chaînes, etc.</p> <p> En option, les identités peuvent être signées par le certificat de votre noeud Retroshare. Il est plus facile de faire confiance à des identités signées, mais il est aussi plus facile de faire le rapprochement avec l'adresse IP de votre noeud. </p> <p> Les identités anonymes vous permettent d'interagir anonymement avec d'autres utilisateurs. Elles ne peuvent pas êtres usurpées, mais personne ne peut non plus prouver qui est celui qui possède une identité précise. </p> + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identités</h1> <p>Dans cet onglet vous pouvez créer/éditer des identités pseudo-anonymes. </p> <p>Les identités sont utilisées pour identifier vos données de façon sécurisée : signer vos messages dans les forums et chaînes, et recevoir du compte rendu en utilisant le système embarqué de messagerie de Retroshare, poster des commentaires à la suite de messages postés dans des chaînes, etc.</p> <p> En option, les identités peuvent être signées par le certificat de votre noeud Retroshare. Il est plus facile de faire confiance à des identités signées, mais il est aussi plus facile de faire le rapprochement avec l'adresse IP de votre noeud. </p> <p> Les identités anonymes vous permettent d'interagir anonymement avec d'autres utilisateurs. Elles ne peuvent pas êtres usurpées, mais personne ne peut non plus prouver qui est celui qui possède une identité précise. </p> - + Linked to a friend Retroshare node Liée(s) à un noeud Retroshare ami @@ -9707,7 +10368,7 @@ p, li { white-space: pre-wrap; } Liée(s) à un noeud Retroshare inconnu - + Chat with this person Tchater avec cette personne @@ -9727,7 +10388,7 @@ p, li { white-space: pre-wrap; } Dernièrement utilisée : - + +50 Known PGP +50 PGP connue @@ -9742,17 +10403,17 @@ p, li { white-space: pre-wrap; } +5 ID anonyme - + Do you really want to delete this identity? Voulez-vous vraiment supprimer cette identité ? - + Owned by Possédé par - + Node name: Nom de noeud : @@ -9762,7 +10423,7 @@ p, li { white-space: pre-wrap; } ID de noeud : - + Really delete? Vraiment supprimer ? @@ -9876,7 +10537,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9940,25 +10601,25 @@ p, li { white-space: pre-wrap; } - + GXS name: Nom GXS : - - + + PGP name: Nom PGP : - + GXS id: Id GXS : - + PGP id: Id PGP : @@ -9973,7 +10634,7 @@ p, li { white-space: pre-wrap; } - + Copy Copier @@ -10009,17 +10670,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -10074,7 +10735,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Add Friend Ajouter un ami @@ -10090,7 +10751,7 @@ p, li { white-space: pre-wrap; } - + Options Options @@ -10124,12 +10785,12 @@ p, li { white-space: pre-wrap; } Assistant de configuration rapide - + RetroShare %1 a secure decentralized communication platform Retroshare %1 - Logiciel de communication sécurisé et décentralisé - + Unfinished Inachevé @@ -10247,7 +10908,7 @@ Veuillez libérer de l'espace disque et cliquer sur Ok. Etes-vous sûr de vouloir quitter Retroshare ? - + Internal Error Erreur interne @@ -10292,7 +10953,7 @@ Veuillez libérer de l'espace disque et cliquer sur Ok. Matrice des autorisations de services - + Add Ajouter @@ -10326,7 +10987,7 @@ Veuillez libérer de l'espace disque et cliquer sur Ok. MessageComposer - + Compose Écrire @@ -10428,19 +11089,19 @@ Veuillez libérer de l'espace disque et cliquer sur Ok. - + Tags Mots clés Address list: - + Recommend this friend - + @@ -10550,17 +11211,17 @@ Veuillez libérer de l'espace disque et cliquer sur Ok. All addresses (mixed) - + All people - + My contacts - + @@ -10588,7 +11249,7 @@ Veuillez libérer de l'espace disque et cliquer sur Ok. Bonjour %1,<br><br>%2 veut devenir ton ami(e) sur Retroshare.<br><br>Répondre maintenant :<br>%3<br><br>Merci,<br>L'équipe de Retroshare - + Save Message Enregistrer le message @@ -10871,7 +11532,7 @@ Voulez-vous enregistrer votre message ? De : - + Friend Nodes Noeuds amis @@ -10921,7 +11582,7 @@ Voulez-vous enregistrer votre message ? Remerciements, <br> - + Distant identity: Identité distante : @@ -10946,22 +11607,22 @@ Voulez-vous enregistrer votre message ? Everyone - + Contacts - + Contacts Nobody - + Accept encrypted distant messages from - + @@ -11697,7 +12358,7 @@ Voulez-vous enregistrer votre message ? This message goes to a distant person. - + @@ -11743,7 +12404,7 @@ Voulez-vous enregistrer votre message ? Retroshare Messenger - + Add a Friend Ajouter un ami @@ -11758,17 +12419,17 @@ Voulez-vous enregistrer votre message ? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + @@ -12026,7 +12687,7 @@ Voulez-vous enregistrer votre message ? - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. @@ -12538,7 +13199,7 @@ Erreur remontée : NotifyQt - + PGP key passphrase Mot de passe de la clé PGP @@ -12558,12 +13219,12 @@ Erreur remontée : Retroshare a détecté une extension non enregistrée. Cela se produit dans deux cas: <UL> <LI>Votre exécutable Retroshare a changé.</LI><LI>L'extension a changé</LI> </UL>Cliquez sur Oui pour autoriser cette extension, ou Non pour la refuser. Vous pouvez changer d'avis plus tard dans Options -> Extensions, puis redémarrez. - + Please check your system clock. S'il vous plaît vérifier votre horloge système. - + Examining shared files... Analyse des fichiers partagés... @@ -12599,12 +13260,12 @@ Erreur remontée : Message chiffré - + Please enter your PGP password for key Veuillez entrer votre mot de passe PGP pour la clé - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). Afin que les salons de tchat fonctionnent correctement, l'heure de votre ordinateur doit être correcte. Veuillez vérifier que c'est le cas (un possible décalage de plusieurs minutes a été détecté avec vos amis). @@ -12641,7 +13302,7 @@ Erreur remontée : - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers @@ -12676,7 +13337,7 @@ Trafic faible : 10% du trafic standard et TODO : tous les transferts de fichiers <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + @@ -12686,7 +13347,7 @@ Trafic faible : 10% du trafic standard et TODO : tous les transferts de fichiers <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + @@ -12726,16 +13387,16 @@ Trafic faible : 10% du trafic standard et TODO : tous les transferts de fichiers <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12745,7 +13406,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12755,7 +13416,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + @@ -12765,7 +13426,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + @@ -12778,15 +13439,76 @@ p, li { white-space: pre-wrap; } Format ASCII - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures Inclure les signatures + + + Options + Options + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + Utiliser en source directe, quand disponible + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + Télécharger automatiquement les fichiers recommandés par ce noeud + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + Requiert l'autorisation en liste blanche + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details @@ -12794,27 +13516,27 @@ p, li { white-space: pre-wrap; } - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. Erreur : impossible d'obtenir les détails de ce contact. - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) L'algorithme de la clé fournie n'est pas supporté par Retroshare (pour l'instant uniquement les clés RSA sont supportées) - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. Le niveau de confiance est une façon d'exprimer votre propre confiance en cette clé. Cela n'est pas utilisé par le logiciel, ni partagé, mais cela peut être utile pour vous afin de vous rappeler les bonnes/mauvaises clés. @@ -12839,7 +13561,7 @@ p, li { white-space: pre-wrap; } Vous ne faites pas confiance à ce contact. - + This key has signed your own PGP key Ce contact a signé votre propre clé PGP @@ -12860,7 +13582,7 @@ p, li { white-space: pre-wrap; } Actuellement, vous n'autorisez pas les connexions de nœuds Retroshare signés par cette clé. - + Signature Failure La signature a échoué @@ -12870,7 +13592,7 @@ p, li { white-space: pre-wrap; } Le mot de passe est peut-être incorrect - + You haven't set a trust level for this key. Vous n'avez pas réglé de niveau de confiance pour cette clé. @@ -13031,15 +13753,15 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People Pers. - External - Externe + Externe @@ -13052,6 +13774,64 @@ p, li { white-space: pre-wrap; } Internal Interne + + + Chat with this person + Tchater avec cette personne + + + + Chat with this person as... + Tchater avec cette personne en tant que ... + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + Le tchat distant ne peut pas fonctionner + + + + Distant chat refused with this person. + Tchat distant avec cette personne refusé + + + + Error code + Code erreur + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + Pers. + PhotoCommentItem @@ -13141,7 +13921,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13154,7 +13934,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13167,7 +13947,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13315,7 +14095,7 @@ avant de vouloir le modifier ! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13455,12 +14235,12 @@ p, li { white-space: pre-wrap; } Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + @@ -13474,7 +14254,7 @@ p, li { white-space: pre-wrap; } [loading problem] - + @@ -13597,7 +14377,7 @@ comportements malveillants des extensions. Chat remotely closed. Please close this window. - + @@ -13806,7 +14586,7 @@ comportements malveillants des extensions. PostedItem - + 0 0 @@ -13817,7 +14597,7 @@ comportements malveillants des extensions. - + Comments Commentaires @@ -13852,7 +14632,17 @@ comportements malveillants des extensions. Nouveau - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Changer l'état de lecture du message @@ -13862,7 +14652,7 @@ comportements malveillants des extensions. Supprimer - + Loading Chargement @@ -14117,7 +14907,7 @@ et utiliser le bouton d'importation pour la charger <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> @@ -14334,9 +15124,9 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation Confirmation @@ -14346,7 +15136,7 @@ p, li { white-space: pre-wrap; } Voulez-vous que ce lien soit traité par votre système ? - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. @@ -14354,7 +15144,7 @@ and open the Make Friend Wizard. et ouvrir Ajouter un ami. - + Add file Ajouter un fichier @@ -14374,12 +15164,17 @@ et ouvrir Ajouter un ami. Souhaitez-vous traiter les %1 liens ? - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. %1 des %2 lien Retroshare traité. @@ -14488,6 +15283,21 @@ et ouvrir Ajouter un ami. Channel messages not found Messages de la chaîne non trouvés + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + + Recipient not accepted @@ -14531,7 +15341,7 @@ Les caractères <b>",|,/,\,&lt;,&gt;,*,?</b> seront rem Résultat - + Unable to make path Impossible de créer le chemin @@ -14546,7 +15356,7 @@ Les caractères <b>",|,/,\,&lt;,&gt;,*,?</b> seront rem Impossible de créer le fichier collection - + Deny friend Refuser cet ami @@ -14566,7 +15376,7 @@ Les caractères <b>",|,/,\,&lt;,&gt;,*,?</b> seront rem Demande de fichier annulée - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. Cette version de Retroshare utilise OpenPGP SDK. En contre partie, elle n'utilise plus le système de trousseau de clés PGP, mais possède son propre trousseau de clés partagé par toutes les instances de Retroshare. <br><br> Vous ne semblez pas posséder un tel trousseau, bien que des clés PGP apparaissent pour les comptes Retroshare existants, probablement parce que vous venez d'installer cette nouvelle version du logiciel. @@ -14577,12 +15387,12 @@ Les caractères <b>",|,/,\,&lt;,&gt;,*,?</b> seront rem - + RetroShare Retroshare - + Initialization failed. Wrong or missing installation of PGP. L'initialisation a échoué. Installation de PGP est corrompue ou manquante. @@ -14592,12 +15402,12 @@ Les caractères <b>",|,/,\,&lt;,&gt;,*,?</b> seront rem Une erreur inattendue s'est produite. Vous pouvez la reporter 'RsInit::InitRetroShare unexpected return code %1'. - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. Une erreur inattendue s'est produite. Vous pouvez la reporter 'RsInit::InitRetroShare unexpected return code %1'. - + Multiple instances Instances multiples @@ -14620,9 +15430,8 @@ Fichier verrouillé : - Start with a RetroShare link is only supported for Windows. - Démarrer avec un lien Retroshare est seulement possible sous Windows. + Démarrer avec un lien Retroshare est seulement possible sous Windows. @@ -14651,7 +15460,7 @@ L'erreur rapportée est : %2 - + Click to send a private message to %1 (%2). Cliquer pour envoyer un message privé à %1 (%2). @@ -14661,7 +15470,7 @@ L'erreur rapportée est : %1 (%2, supplémentaire - source incluse) - + Click this link to send a private message to %1 (%2) Cliquez sur ce lien pour envoyer un message privé à %1 (%2) @@ -14701,7 +15510,7 @@ L'erreur rapportée est : Données transférées - + You appear to have nodes associated to DSA keys: Vous semblez avoir des noeuds associés à vos clés DSA : @@ -14742,7 +15551,7 @@ L'erreur rapportée est : - + %1 seconds ago %1 secondes avant @@ -14806,11 +15615,11 @@ L'erreur rapportée est : Security: no anonymous IDs - + - - + + This cert is malformed. Error code: Ce certificat est mal formé. Code d'erreur : @@ -14820,14 +15629,14 @@ Security: no anonymous IDs Celui qui suit n'a pas été ajouté à votre liste de téléchargement, parce que vous l'avez déjà : - + Error Erreur unable to parse XML file! - + @@ -14842,12 +15651,12 @@ Security: no anonymous IDs <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14970,10 +15779,10 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -15018,31 +15827,31 @@ p, li { white-space: pre-wrap; } RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + Où voulez-vous avoir les boutons pour la page ? ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -15057,8 +15866,8 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> @@ -15240,7 +16049,7 @@ p, li { white-space: pre-wrap; } RSettingsWin - + Error Saving Configuration on page Une erreur est survenue lors de l'enregistrement de la configuration sur la page @@ -15470,12 +16279,12 @@ p, li { white-space: pre-wrap; } Télécharger ! - + File Fichier - + Size Taille @@ -15492,7 +16301,7 @@ p, li { white-space: pre-wrap; } Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. Des fichiers ou des noms de dossier contiennent des caractères interdits. Les caractères <b>",|,/,\,&lt;,&gt;,*,?</b> seront remplacés par des '_'. @@ -15539,12 +16348,17 @@ Les fichiers concernés sont affichés en rouge. Sauvegarder - + Collection Editor Éditeur de collection - + + File Path + + + + File Count Compte fichiers @@ -15554,14 +16368,14 @@ Les fichiers concernés sont affichés en rouge. Ceci est le répertoire racine. - - + + Real Size: Waiting child... Taille réelle : attente d'enfant... - - + + Real File Count: Waiting child... Compte réel de fichiers : attente d'enfant... @@ -15714,7 +16528,7 @@ Si vous pensez qu'il est correct, supprimez la ligne correspondante du fich RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? L'image est trop grande pour la transmission. @@ -15732,7 +16546,7 @@ Réduire l'image par %1x%2 pixels ? Rshare - + Resets ALL stored RetroShare settings. Réinitialisation de tous les paramètres de Retroshare. @@ -15772,7 +16586,7 @@ Réduire l'image par %1x%2 pixels ? Information sur l'utilisation de Retroshare - + Unable to open log file '%1': %2 Impossible d'ouvrir le journal '%1': %2 @@ -15787,12 +16601,12 @@ Réduire l'image par %1x%2 pixels ? N'a pas pu créer le dossier de données : %1 - + Revision Révision - + Invalid language code specified: Le code de langue indiqué n'est pas valide : @@ -15807,6 +16621,15 @@ Réduire l'image par %1x%2 pixels ? Niveau du journal spécifié invalide : + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + + + RttStatistics @@ -16344,12 +17167,12 @@ Réduire l'image par %1x%2 pixels ? Network Mode - + Mode réseau Nat - + @@ -16437,7 +17260,7 @@ Réduire l'image par %1x%2 pixels ? If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. Si vous décochez cette case, Retroshare ne pourra déterminer votre adresse IP que si vous vous connectez à quelqu'un. Laisser cette case cochée vous aidera @@ -16483,32 +17306,32 @@ derrière un pare-feu ou un VPN (virtual private network). Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + @@ -16519,19 +17342,19 @@ derrière un pare-feu ou un VPN (virtual private network). I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + @@ -16571,7 +17394,7 @@ Also check your ports! <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16664,108 +17487,108 @@ Also check your ports! Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + @@ -17291,7 +18114,7 @@ Sélectionnez les amis avec lesquels vous voulez partager votre chaîne. Lobby - + @@ -17353,7 +18176,7 @@ Sélectionnez les amis avec lesquels vous voulez partager votre chaîne. SplashScreen - + Load profile Chargement du profil @@ -17426,7 +18249,7 @@ Les identités actuelles/emplacements seront sauvegardés. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17742,7 +18565,7 @@ Ce choix peut être inversé dans des paramétrages. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17755,7 +18578,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17919,17 +18742,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed Abonné - + Unsubscribe Se désabonner - + Subscribe S'abonner @@ -18048,11 +18871,11 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> est capable de transférer des fichiers et d'effectuer des recherches entre personnes qui ne sont pas amies. Cependant, ce trafic se fait à travers une liste de contacts anonymes.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">Vous pouvez paramétrer le type de partage dans la fenêtre de partage de dossier :</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Visible par mes amis </span>: les fichiers sont visibles par mes amis.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Partage anonyme </span>: les fichiers sont accessibles anonymement par des tunnels F2F.</li></ul></body></html> @@ -18120,7 +18943,7 @@ p, li { white-space: pre-wrap; } TransfersDialog - + Downloads Téléchargements @@ -18131,7 +18954,7 @@ p, li { white-space: pre-wrap; } Envois - + Name i.e: file name @@ -18401,39 +19224,39 @@ p, li { white-space: pre-wrap; } - + Failed Echoué - - + + Okay OK - - + + Waiting En attente - + Downloading Téléchargement en cours - + Complete Terminé - + Queued En file d'attente @@ -18453,7 +19276,7 @@ p, li { white-space: pre-wrap; } Inconnu - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18544,7 +19367,7 @@ Essayez d'être patient ! S'il vous plaît entrez un nouveau--et valide--nomdefichier - + Last Time Seen i.e: Last Time Receiced Data Dernière fois vu @@ -18676,7 +19499,7 @@ Essayez d'être patient ! Afficher la colonne des chemins - + Could not delete preview file N'a pas pu supprimer le fichier d'aperçu @@ -18686,7 +19509,7 @@ Essayez d'être patient ! Le réessayer ? - + Create Collection... Créer une collection ... @@ -18706,22 +19529,22 @@ Essayez d'être patient ! Collection - + File sharing Partage de fichiers - + Anonymous tunnel 0x Tunnel anonymes 0x - + Show file list transfers Afficher les transferts de listes de fichiers - + version: version : @@ -18880,12 +19703,12 @@ Essayez d'être patient ! Anonymous tunnels - + Authenticated tunnels - + @@ -19751,4 +20574,4 @@ Essayez d'être patient ! Images (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_hu.ts b/retroshare-gui/src/lang/retroshare_hu.ts index 2ea05f05b..5611b8b04 100644 --- a/retroshare-gui/src/lang/retroshare_hu.ts +++ b/retroshare-gui/src/lang/retroshare_hu.ts @@ -1,4 +1,6 @@ - + + + AWidget @@ -9,7 +11,7 @@ RetroShare version - + @@ -28,7 +30,7 @@ Copy Info - + @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file Sajnálom, nem található alapértelmezett parancs a fájlhoz(\n) @@ -304,7 +306,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -426,7 +428,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -474,7 +476,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -487,7 +489,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -536,134 +538,134 @@ p, li { white-space: pre-wrap; } Tool Bar - + On Tool Bar - + On List Item - + Where do you want to have the buttons for menu? - + On List Ite&m - + Where do you want to have the buttons for the page? - + Icon Only - + Text Only - + Text Beside Icon - + Text Under Icon - + Choose the style of Tool Buttons. - + Choose the style of List Items. - + Icon Size = 8x8 - + Icon Size = 16x16 - + Icon Size = 24x24 - + Icon Size = 64x64 - + Icon Size = 128x128 - + Status Bar - + Remove surplus text in status bar. - + Compact Mode - + Hide Sound Status - + Hide Toaster Disable - + Show SysTray on Status Bar - + Disable SysTray ToolTip - + Icon Size = 32x32 - + @@ -709,7 +711,7 @@ p, li { white-space: pre-wrap; } Photos - + @@ -735,17 +737,17 @@ p, li { white-space: pre-wrap; } Change Avatar - + Your Avatar Picture - + Add Avatar - + @@ -755,12 +757,12 @@ p, li { white-space: pre-wrap; } Set your Avatar picture - + Load Avatar - + @@ -774,9 +776,9 @@ p, li { white-space: pre-wrap; } BWGraphSource - + KB/s - + @@ -867,23 +869,23 @@ p, li { white-space: pre-wrap; } Sum - + All - + Összes KB/s - + Count - + Résztvevők száma @@ -951,12 +953,12 @@ p, li { white-space: pre-wrap; } TOTALS - + Totals - + @@ -969,42 +971,42 @@ p, li { white-space: pre-wrap; } Form - + Forma Friend: - + Type: - + Típus: Up - + Fel Down - + Le Service: - + Unit: - + Log scale - + @@ -1017,7 +1019,7 @@ p, li { white-space: pre-wrap; } Tabs - + @@ -1027,12 +1029,12 @@ p, li { white-space: pre-wrap; } Load posts in background (Thread) - + Open each channel in a new tab - + @@ -1052,23 +1054,28 @@ p, li { white-space: pre-wrap; } Mute participant Résztvevő némítása + + + Ban this person (Sets negative opinion) + + Send Message - + Üzenet küldése Sort by Name - + Rendezés név szerint Sort by Activity - + - + Invite friends to this lobby Barátok meghívása a csevegőszobába @@ -1088,7 +1095,7 @@ p, li { white-space: pre-wrap; } Meghivandó barátok kiválasztása: - + Welcome to lobby %1 Üdvözöllek a %1 szobában @@ -1104,7 +1111,7 @@ p, li { white-space: pre-wrap; } Csevegőszoba - + Lobby management @@ -1151,44 +1158,44 @@ p, li { white-space: pre-wrap; } másodpercek - + Start private chat - + - + Decryption failed. - + Signature mismatch - + Unknown key - + Unknown hash - + Unknown error. - + Cannot start distant chat - + Distant chat cannot be initiated: - + @@ -1229,7 +1236,7 @@ p, li { white-space: pre-wrap; } Unknown Lobby - + @@ -1241,12 +1248,12 @@ p, li { white-space: pre-wrap; } ChatLobbyWidget - + Chat lobbies Csevegőszobák - + Name Név @@ -1284,7 +1291,7 @@ p, li { white-space: pre-wrap; } [Nincs téma beállítva] - + Selected lobby info Kiválasztott csevegőszoba adatai @@ -1301,7 +1308,7 @@ p, li { white-space: pre-wrap; } Anonymous IDs accepted - + @@ -1324,7 +1331,7 @@ p, li { white-space: pre-wrap; } %1 meghívott a %2 csevegőszobába - + Search Chat lobbies Csevegőszobák keresése @@ -1341,12 +1348,12 @@ p, li { white-space: pre-wrap; } <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + @@ -1364,7 +1371,7 @@ p, li { white-space: pre-wrap; } Nem - + Lobby Name: Chatszoba neve: @@ -1386,7 +1393,7 @@ p, li { white-space: pre-wrap; } Security: - + @@ -1432,66 +1439,66 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. Leave this lobby - + Enter this lobby - + Enter this lobby as... - + Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + You will need to create an identity in order to join chat lobbies. - + Choose an identity for this lobby: - + Create an identity and enter this lobby - + Show - + Mutat column - + @@ -1533,7 +1540,7 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess.Mégse - + Quick Message Gyors üzenet @@ -1542,34 +1549,34 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess.ChatPage - + General Általános - + Distant Chat - + Everyone - + Contacts - + Kapcsolatok Nobody - + Accept encrypted distant chat from - + @@ -1599,7 +1606,7 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. Minimum font size - + @@ -1621,6 +1628,11 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess.Send message with Ctrl+Return Üzenet küldése Ctrl+Return kombinációval + + + Send as plain text by default + + Chat Lobby @@ -1726,7 +1738,7 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess.Kimenő - + Incoming message in history Bejövő üzenetek előzményei @@ -1763,12 +1775,12 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. UserName - + /me is sending a message with /me - + @@ -1778,7 +1790,7 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. <html><head/><body><p align="justify">In this tab you can setup how many chat messages Retroshare will keep saved on the disc and how much of the previous conversation it will display, for the different chat systems. The max storage period allows to discard old messages and prevents the chat history from filling up with volatile chat (e.g. chat lobbies and distant chat).</p></body></html> - + @@ -1808,7 +1820,7 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. Search by default - + @@ -1818,73 +1830,73 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. Whole Words - + Move to cursor - + Color All Text Found - + Color of found text - + Choose color of found text - + Maximum count for coloring matching text - + Threshold for automatic search - + Default identity for chat lobbies: - + Show Bar by default - + - + Private chat invite from - + Name : - + PGP id : - + Valid until : - + ChatStyle - + Standard style for group chat Hagyományos stílus a csoportos beszélgetéshez @@ -1938,12 +1950,12 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess.Bezárás - + Send Küldés - + Bold Félkövér @@ -1958,14 +1970,14 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess.Dőlt - + Attach a Picture Kép csatolása - + Strike - + @@ -2014,42 +2026,70 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess.Alapértelmezett betűtípus visszaállítása - + Quote - + Idézés Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... éppen ír... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? Tényleg törölni akarod az előzményeket? - + Add Extra File Extra fájl hozzáadása @@ -2094,61 +2134,61 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess.elfoglalt és valószínűleg nem fog válaszolni - + Find Case Sensitively - + Find Whole Words - + Move To Cursor - + Don't stop to color after X items found (need more CPU) - + - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> - + <b>Find Next </b><br/><i>Ctrl+G</i> - + <b>Find </b><br/><i>Ctrl+F</i> - + - + (Status) - + - + Set text font & color - + Attach a File - + - + WARNING: Could take a long time on big history. - + @@ -2157,59 +2197,39 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. - + <b>Mark this selected text</b><br><i>Ctrl+M</i> - + - - %1This message consists of %2 characters. - - - - + items found. - + No items found. - + <b>Return to marked text</b><br><i>Ctrl+M</i> - + - - Display Search Box - - - - - Search Box - - - - + Type a message here - + - + Don't stop to color after - + items found (need more CPU) - - - - - Warning: - + @@ -2222,13 +2242,13 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. Empty Circle - + CirclesDialog - + Showing details: Részletek mutatása: @@ -2250,7 +2270,7 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. - + Personal Circles Személyes köreim @@ -2276,7 +2296,7 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. - + Friends Barátok @@ -2336,7 +2356,7 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess.Barátok barátai - + External Circles (Admin) Külső körök (Admin) @@ -2360,14 +2380,14 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. ConfCertDialog - + Details Részletek Node info - + @@ -2376,7 +2396,7 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. - + Local Address Helyi cím @@ -2403,36 +2423,39 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess.Címlista - + + Use this certificate to make friends: + + + + Include signatures Aláírásokat tartalmaz - - + + RetroShare RetroShare - - + + Error : cannot get peer details. Hiba: a partner adatai nem elérhetőek. - Use as direct source, when available - Közvetlen forrásként használat, amikor lehetséges + Közvetlen forrásként használat, amikor lehetséges - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - <html><head/><body><p align="justify">A Retroshare időnként a letöltéseiddel megegyező fájlokat keres a barátaid megosztásában, hogy közvetlen kapcsolatot hozhasson létre. Ebben az esetben a barátod tudni fogja, hogy letöltöd a fájlt.</p><p align="justify">Hogy ezen helyzetet megelőzd ennél a barátodnál, ne engedélyezd ezt az opciót. Továbbra is tölthetsz le tőle közvetlenül, de csak akkor, ha konkrétan a barátod fájllistájáról választod ki a fájlt. </p></body></html> + <html><head/><body><p align="justify">A Retroshare időnként a letöltéseiddel megegyező fájlokat keres a barátaid megosztásában, hogy közvetlen kapcsolatot hozhasson létre. Ebben az esetben a barátod tudni fogja, hogy letöltöd a fájlt.</p><p align="justify">Hogy ezen helyzetet megelőzd ennél a barátodnál, ne engedélyezd ezt az opciót. Továbbra is tölthetsz le tőle közvetlenül, de csak akkor, ha konkrétan a barátod fájllistájáról választod ki a fájlt. </p></body></html> - + Encryption Titkosítás @@ -2447,69 +2470,58 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess.Partner címei - Options - Beállítások + Beállítások - + Retroshare node details - + - + Node name : - + Status : - + Last Contact : - + Retroshare version : - + Node ID : - + PGP key : - + Retroshare Certificate - + - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + @@ -2520,57 +2532,47 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. <p>This certificate contains: - + <li>a <b>node ID</b> and <b>name</b> - + an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + <p>You can use this certificate to make new friends. Send it by email, or give it hand to hand.</p> - + - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + with - + external signatures</li> - + @@ -2629,12 +2631,12 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + @@ -2719,42 +2721,42 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + GMail - + Yahoo - + Outlook - + AOL - + Yandex - + Email - + Email @@ -2816,13 +2818,13 @@ Kattints duplán a csevegőszobára, hogy belépj és beszélgethess. Node: - + Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + @@ -2839,33 +2841,33 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + @@ -3160,12 +3162,12 @@ resources. IP-Addr: - + IP-Address - + @@ -3180,7 +3182,7 @@ resources. The text below is your Retroshare certificate. You have to provide it to your friend - + @@ -3223,69 +3225,69 @@ resources. This might be useful for sending distant messages to this peer even if you don't make friends. - + Certificate has wrong version number. Remember that v0.6 and v0.5 networks are incompatible. - + Invalid node id. - + Auto-download recommended files - + Can be used as direct source - + Require whitelist clearance to connect - + Add IP to whitelist - + No IP in this certificate! - + <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + Added with certificate from %1 - + Paste Cert of your friend from Clipboard - + Certificate Load Failed:can't read from file %1 - + Certificate Load Failed:something is wrong with %1 - + @@ -3724,13 +3726,13 @@ even if you don't make friends. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> - + @@ -3773,74 +3775,86 @@ p, li { white-space: pre-wrap; } They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details Kör részletei - - + Name Név - Creator - Létrehozó + Létrehozó - Distribution - Elosztás + Elosztás - + Public Publikus - Self-Restricted - Önkorlátozott + Önkorlátozott - Restricted to: - Korlátozva nekik: + Korlátozva nekik: - Circle Membership - Kör tagság + Kör tagság - + IDs ID - Known Identities - Ismert személyazonosságok + Ismert személyazonosságok - + Filter Szűrő - + Nickname Becenév - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ID @@ -3850,71 +3864,120 @@ p, li { white-space: pre-wrap; } Típus - - - - + + Name: + Név: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + Privát + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare RetroShare - + Please set a name for your Circle Kérlek, nevezd el a körödet - Personal Circle Details - Személyes kör részletei + Személyes kör részletei - External Circle Details - Külső kör részletei + Külső kör részletei - Cannot Edit Existing Circles Yet - A meglévő körök még nem szerkeszthetőek. + A meglévő körök még nem szerkeszthetőek. - + No Restriction Circle Selected Nincs korlátozás kiválasztva. - + No Circle Limitations Selected Nincs határ kiválasztva. - Create New Personal Circle - Személyes kör létrehozása + Személyes kör létrehozása - Create New External Circle - Külső kör létrehozása + Külső kör létrehozása - + Add Hozzáadás Remove - + - + Search Keresés - + All Összes @@ -3926,52 +3989,101 @@ p, li { white-space: pre-wrap; } Signed by known nodes - + - + Edit Circle Kör szerkesztése - - + PGP Identity - + - - - + + + Anon Id Névtelen ID + + + Circle name + + + + + Update + + + Close + Bezárás + + + + + Create New Circle + + + + + Create + Létrehozás + + + PGP Linked Id PGP-hez linkelt ID + + + Add Member + + + + + Remove Member + + CreateGroup - + Create a Group Csoport létrehozása - - Group Name - Csoport neve + + Group Name: + Csoport neve: - + + Group ID: + + + + Group Name + Csoport neve + + + Enter a name for your group Írj be egy nevet a csoportodnak - + + To be defined + + + + Friends Barátok @@ -4005,9 +4117,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -4114,12 +4226,12 @@ p, li { white-space: pre-wrap; } Generate mass data - + Do you really want to generate %1 messages ? - + @@ -4136,7 +4248,7 @@ p, li { white-space: pre-wrap; } CreateGxsForumMsg - + Post Forum Message Fórum üzenet beküldése @@ -4181,12 +4293,12 @@ p, li { white-space: pre-wrap; } Új szál indítása - + No Forum Nincs fórum - + In Reply to Válasz @@ -4212,42 +4324,52 @@ p, li { white-space: pre-wrap; } Add Extra File Extra fájl hozzáadása + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data - + Do you really want to generate %1 messages ? - + - + Send Küldés - + Forum Message - + Forum Message has not been Sent. Do you want to reject this message? - + Post as - + Congrats, you found a bug! - + @@ -4276,7 +4398,7 @@ Do you want to reject this message? Visibility: - + @@ -4291,17 +4413,17 @@ Do you want to reject this message? <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + Security: - + @@ -4316,12 +4438,12 @@ Do you want to reject this message? Put a sensible lobby name here - + Set a descriptive topic here - + @@ -4331,7 +4453,7 @@ Do you want to reject this message? Identity to use: - + @@ -4434,42 +4556,42 @@ Do you want to reject this message? Node information - + PGP Id : - + Friend nodes: - + Copy certificate to clipboard - + Save certificate to file - + Node - + Create new node... - + show statistics window - + @@ -4477,7 +4599,7 @@ Do you want to reject this message? users - + @@ -4490,7 +4612,7 @@ Do you want to reject this message? <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + @@ -4516,7 +4638,7 @@ Do you want to reject this message? No peer found in DHT - + @@ -4761,17 +4883,17 @@ Do you want to reject this message? IP - + IP Search IP - + Copy %1 to clipboard - + @@ -4816,12 +4938,12 @@ Do you want to reject this message? RESTRICTED CONE NAT - + FULL CONE NAT - + @@ -5027,7 +5149,7 @@ Do you want to reject this message? Relays - + @@ -5050,108 +5172,108 @@ Do you want to reject this message? Net Status: - + Network Mode: - + Nat Type: - + Nat Hole: - + Connect Mode: - + Peer Address: - + Unreach: - + Online: - + Offline: - + DHT Peers: - + Disconnected: - + Direct: - + Proxy: - + Relay: - + Filter: - + Szűrő: Search Network - + Keresés a hálózaton Peers - + Kapcsolatok Relay - + Relay DHT Graph - + Proxy VIA - + Relay VIA - + @@ -5190,7 +5312,7 @@ Do you want to reject this message? Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. Fájlok hash értékének megőrzése. @@ -5538,22 +5660,22 @@ minden csatlakoztatáskor újra hash értéket számoljon a program. Patch - + C++ - + Header - + C - + @@ -5624,12 +5746,12 @@ minden csatlakoztatáskor újra hash értéket számoljon a program. Tabs - + Open each forum in a new tab - + @@ -5647,28 +5769,28 @@ minden csatlakoztatáskor újra hash értéket számoljon a program. export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + Show State - + @@ -5677,7 +5799,7 @@ minden csatlakoztatáskor újra hash értéket számoljon a program.Csoportok mutatása - + Group Csoport @@ -5718,17 +5840,17 @@ minden csatlakoztatáskor újra hash értéket számoljon a program.Hozzáadás a csoporthoz - + Search - + Keresés Sort by state - + - + Move to group Áthelyezés a csoportba @@ -5763,90 +5885,90 @@ minden csatlakoztatáskor újra hash értéket számoljon a program.Elérhető - + Do you want to remove this Friend? El szeretnéd távolítani ezt a barátot? - + Done! - + Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + Error - + Hiba Failed to get a file! - + File is not writeable! - + File is not readable! - + @@ -5854,7 +5976,7 @@ at least one peer was not added to a group IP - + Attempt to connect Csatlakozási kísérlet @@ -5876,27 +5998,27 @@ at least one peer was not added to a group Node - + Remove Friend Node - + - + Do you want to remove this node? - + Friend nodes - + - + Send message to whole group - + @@ -5907,13 +6029,13 @@ at least one peer was not added to a group Deny - + Send message - + @@ -5944,7 +6066,7 @@ at least one peer was not added to a group Sort by state - + @@ -5957,14 +6079,14 @@ at least one peer was not added to a group Barát keresése - + Mark all - + Összes megjelölése Mark none - + @@ -6066,7 +6188,7 @@ at least one peer was not added to a group <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + @@ -6082,12 +6204,12 @@ at least one peer was not added to a group Network graph - + Set your status message here. - + @@ -6152,7 +6274,12 @@ hogy névtelen maradj. Jelszó (ellenőrzés) - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> <html><head/><body><p align="justify">Mozgasd az egeredet, hogy a RetroShare a lehető legtöbb véletlenszerűséget összegyűjthesse. A folyamatsávban 20%-os feltöltésére mindenképpen szükség van, de 100% elérése a javasolt.</p></body></html> @@ -6175,227 +6302,222 @@ hogy névtelen maradj. This password is for PGP - + Node - + Create new node - + Generate new node - + Create a new node - + You can use it now to create a new node. - + Invalid hidden node - + Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile - + Import new profile - + Export selected profile - + Advanced options - + Create a hidden node - + Use profile - + hidden address - + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + Create new profile - + Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + Export profile - + RetroShare profile files (*.asc) - + Profile saved - + @@ -6404,77 +6526,77 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + Import profile - + Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6526,8 +6648,12 @@ Fill in your PGP password when asked, to sign your new key. + Register retroshare:// as URL protocol + + + Register retroshare:// as URL protocol (Restart required) - retroshare:// regisztrálása URL protokollként (újraindítás szükséges) + retroshare:// regisztrálása URL protokollként (újraindítás szükséges) @@ -6535,7 +6661,27 @@ Fill in your PGP password when asked, to sign your new key. Ezen beállítás megváltoztatásához rendszergazdai jogosultságokra van szükséged. - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle Tétlen @@ -6555,7 +6701,17 @@ Fill in your PGP password when asked, to sign your new key. Kezdő lépések varázsló indítása - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error Hiba @@ -6576,7 +6732,7 @@ Fill in your PGP password when asked, to sign your new key. Általános - + Minimize to Tray Icon Minimalizálás tálcaikonként @@ -6600,7 +6756,7 @@ Fill in your PGP password when asked, to sign your new key. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> @@ -6633,18 +6789,18 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6656,31 +6812,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6693,7 +6849,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + @@ -6793,7 +6949,7 @@ p, li { white-space: pre-wrap; } It has many features, including built-in chat, messaging, - + @@ -6806,62 +6962,62 @@ p, li { white-space: pre-wrap; } GroupBox - + ID - + ID Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + Részletek @@ -6871,12 +7027,12 @@ p, li { white-space: pre-wrap; } Pending packets - + Unknown - + Ismeretlen @@ -6884,22 +7040,22 @@ p, li { white-space: pre-wrap; } Managed keys - + Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6910,6 +7066,14 @@ p, li { white-space: pre-wrap; } Csoportos csevegés mutatása + + GroupChooser + + + [Unknown] + + + GroupDefs @@ -6994,27 +7158,27 @@ p, li { white-space: pre-wrap; } All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -7027,7 +7191,7 @@ p, li { white-space: pre-wrap; } Hide tabbar with one open tab - + @@ -7035,7 +7199,7 @@ p, li { white-space: pre-wrap; } Share - + @@ -7043,39 +7207,39 @@ p, li { white-space: pre-wrap; } Kapcsolatok: - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer Kérlek, válassz ki legalább egy partnert - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7118,7 +7282,17 @@ p, li { white-space: pre-wrap; } Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + @@ -7126,14 +7300,9 @@ p, li { white-space: pre-wrap; } Megjelenítés beállításai - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7260,7 +7429,7 @@ p, li { white-space: pre-wrap; } <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + @@ -7280,7 +7449,7 @@ p, li { white-space: pre-wrap; } Select channel download directory - + @@ -7290,18 +7459,18 @@ p, li { white-space: pre-wrap; } Set download directory - + [Default directory] - + Specify... - + Meghatározás... @@ -7324,7 +7493,7 @@ p, li { white-space: pre-wrap; } Open folder - + @@ -7344,17 +7513,17 @@ p, li { white-space: pre-wrap; } Checking - + Are you sure that you want to cancel and delete the file? - + Can't open folder - + @@ -7382,7 +7551,7 @@ p, li { white-space: pre-wrap; } Published - + @@ -7420,7 +7589,7 @@ p, li { white-space: pre-wrap; } Update Channel - + @@ -7476,6 +7645,16 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Üzenet olvasottságának váltása @@ -7486,7 +7665,7 @@ p, li { white-space: pre-wrap; } - + Play Lejátszás @@ -7523,12 +7702,12 @@ p, li { white-space: pre-wrap; } Eltávolítás - + Channel Feed Csatorna feed - + Files Fájlok @@ -7568,12 +7747,12 @@ p, li { white-space: pre-wrap; } Nem tetszik - + Loading Töltés - + Open Megnyitás @@ -7591,7 +7770,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel Új bejegyzés @@ -7603,10 +7782,10 @@ p, li { white-space: pre-wrap; } Search channels - + - + Title Cím @@ -7623,7 +7802,7 @@ p, li { white-space: pre-wrap; } Search Message - + @@ -7633,7 +7812,7 @@ p, li { white-space: pre-wrap; } Search Filename - + @@ -7641,7 +7820,32 @@ p, li { white-space: pre-wrap; } Nincs csatorna kiválasztva - + + Public + Publikus + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download Automatikus letöltés tiltása @@ -7653,15 +7857,31 @@ p, li { white-space: pre-wrap; } Show feeds - + Show files - + - + + Administrator: + + + + + + unknown + ismeretlen + + + + Distribution: + + + + Feeds Hírcsatornák @@ -7671,19 +7891,19 @@ p, li { white-space: pre-wrap; } Fájlok - + Subscribers - + - + Description: Leírás: - + Posts (at neighbor nodes): - + @@ -7805,7 +8025,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -7851,17 +8071,17 @@ mielőtt hozzászólhatsz Update Forum - + Add Forum Admins - + Select Forum Admins - + @@ -7940,7 +8160,7 @@ mielőtt hozzászólhatsz In Reply to: - + @@ -7950,7 +8170,7 @@ mielőtt hozzászólhatsz Forum Feed - + @@ -7966,7 +8186,7 @@ mielőtt hozzászólhatsz Forma - + Start new Thread for Selected Forum Új fonál indítása a kiválasztotta fórumban @@ -7992,7 +8212,7 @@ mielőtt hozzászólhatsz - + Title Cím @@ -8005,18 +8225,18 @@ mielőtt hozzászólhatsz - + Author Szerző Save image - + - + Loading Töltés @@ -8083,12 +8303,12 @@ mielőtt hozzászólhatsz Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + @@ -8141,33 +8361,73 @@ mielőtt hozzászólhatsz This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + Publikus + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + Elosztás + + + Anti-spam - + [ ... Redacted message ... ] - + @@ -8192,22 +8452,22 @@ mielőtt hozzászólhatsz <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8263,39 +8523,39 @@ mielőtt hozzászólhatsz %1, %2 írta: - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description Leírás By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8311,7 +8571,7 @@ mielőtt hozzászólhatsz <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + @@ -8366,13 +8626,13 @@ mielőtt hozzászólhatsz GxsGroupDialog - - + + Name Név - + Add Icon Ikon hozzáadása @@ -8387,7 +8647,7 @@ mielőtt hozzászólhatsz Közzétételi kulcs megosztása - + check peers you would like to share private publish key with Jelöld ki azon partnereidet, akikkel szeretnél privát kulcsot megosztani. @@ -8397,36 +8657,40 @@ mielőtt hozzászólhatsz Kulcs megosztása velük: - - + + Description Leírás - + Message Distribution Üzenet elosztás - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public Publikus - - Restricted to Group - A csoportra korlátozva + A csoportra korlátozva - - + Only For Your Friends Csak a barátaidnak - + Publish Signatures Aláírások közzététele @@ -8468,16 +8732,15 @@ mielőtt hozzászólhatsz If No Publish Signature - + - Comments Hozzászólások - + Allow Comments Hozzászólások engedélyezése @@ -8489,133 +8752,203 @@ mielőtt hozzászólhatsz Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + Hozzászólások: - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: Kapcsolatok: - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name Kérlek, adj meg egy nevet - + + PGP signature from known ID required + + + + Load Group Logo Csoport logó betöltése - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback - + Owner: - + - + Set a descriptive description here - + - + Info - + - - Comments allowed - - - - - Comments not allowed - - - - + ID ID - + Last Post Utolsó beküldés + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity Népszerűség - - - Posts - - - Type - Típus + Posts + - + Type + Típus + + + Author Szerző GxsIdLabel - + @@ -8658,15 +8991,20 @@ mielőtt hozzászólhatsz Show Details - + Edit Details - + - + + Share publish permissions + + + + Copy RetroShare Link RetroShare hivatkozás másolása @@ -8681,25 +9019,20 @@ mielőtt hozzászólhatsz Összes megjelölése olvasatlanként - + AUTHD HITELESÍTETT - - - Share admin permissions - - GxsIdChooser - + No Signature Nincs aláírás - + Create new Identity Új személyazonosság létrehozása @@ -8707,7 +9040,7 @@ mielőtt hozzászólhatsz GxsIdDetails - + Loading Töltés @@ -8726,43 +9059,43 @@ mielőtt hozzászólhatsz [Banned] - + Authentication - + unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8783,42 +9116,42 @@ mielőtt hozzászólhatsz Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + Ismeretlen partner @@ -9005,7 +9338,7 @@ mielőtt hozzászólhatsz Error Loading Help Contents: - + @@ -9053,7 +9386,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9064,14 +9397,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Swedish: </span><span style=" font-size:8pt;"> Daniel Wester</span><span style=" font-size:8pt; font-weight:600;"> &lt;</span><span style=" font-size:8pt;">wester@speedmail.se</span><span style=" font-size:8pt; font-weight:600;">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">German: </span><span style=" font-size:8pt;">Jan</span><span style=" font-size:8pt; font-weight:600;"> </span><span style=" font-size:8pt;">Keller</span> &lt;<span style=" font-size:8pt;">trilarion@users.sourceforge.net</span>&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polish: </span>Maciej Mrug</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9081,16 +9414,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + Libraries - + @@ -9123,26 +9456,26 @@ p, li { white-space: pre-wrap; } Error opening help file: - + IdDetailsDialog - + Person Details - + Identity Info - + Owner node ID : - + @@ -9152,28 +9485,28 @@ p, li { white-space: pre-wrap; } Owner node name : - + Identity name : - + Identity ID : - + Last used: - + Your Avatar Click here to change your avatar - + @@ -9183,30 +9516,30 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9216,34 +9549,34 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + @@ -9258,69 +9591,70 @@ p, li { white-space: pre-wrap; } Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + Oké Banned - + IdDialog - + + New ID Új ID - - + + All Összes @@ -9336,97 +9670,133 @@ p, li { white-space: pre-wrap; } Keresés - Unknown real name - Ismeretlen igazi név + Ismeretlen igazi név - + Anonymous Id Névtelen Id - + Create new Identity Új személyazonosság létrehozása - - Persons - + + Create new circle + - + + Persons + + + + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + Körök + + + + Circle name + + + + + Membership + Tagság + + + + Public Circles + Nyilvános köreim + + + + Personal Circles + Személyes köreim + + + Edit identity - + Személyazonosság szerkesztése Delete identity - + Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID - + - + Send message - + - + Identity info - + Identity ID : - + Owner node name : - + @@ -9436,277 +9806,480 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous Névtelen - + ID - + ID Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + Publikus + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + Állapot: + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + ismeretlen + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + Kör szerkesztése + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + OK - + Oké Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People - + Your Avatar Click here to change your avatar - + - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9818,7 +10391,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9829,32 +10402,32 @@ p, li { white-space: pre-wrap; } Your Avatar Click here to change your avatar - + Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9872,7 +10445,7 @@ p, li { white-space: pre-wrap; } GXSId - + @@ -9882,27 +10455,27 @@ p, li { white-space: pre-wrap; } - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9915,7 +10488,7 @@ p, li { white-space: pre-wrap; } - + Copy Másolás @@ -9951,17 +10524,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -10016,7 +10589,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Add Friend Barát hozzáadása @@ -10032,7 +10605,7 @@ p, li { white-space: pre-wrap; } - + Options Beállítások @@ -10066,12 +10639,12 @@ p, li { white-space: pre-wrap; } Gyors beállítások varázsló - + RetroShare %1 a secure decentralized communication platform RetroShare %1 egy biztonságos, központosítatlan kommunikációs platform - + Unfinished Befejezetlen @@ -10111,7 +10684,7 @@ p, li { white-space: pre-wrap; } Open Messenger - + @@ -10189,7 +10762,7 @@ p, li { white-space: pre-wrap; } Tényleg ki szeretnél lépni a RetroShareből? - + Internal Error Belső hiba @@ -10234,41 +10807,41 @@ p, li { white-space: pre-wrap; } Szolgáltatás jogosultságok mátrix - + Add Hozzáadás Statistics - + Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose Írás @@ -10370,29 +10943,29 @@ p, li { white-space: pre-wrap; } - + Tags Címkék Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + @@ -10492,17 +11065,17 @@ p, li { white-space: pre-wrap; } All addresses (mixed) - + All people - + My contacts - + @@ -10530,7 +11103,7 @@ p, li { white-space: pre-wrap; } Szia %1,<br><br>%2 szeretne a barátod lenni.<br><br>Válaszolj neki:<br>%3<br><br>Köszönettel,<br>a RetroShare csapat - + Save Message Üzenet mentése @@ -10752,7 +11325,7 @@ Szeretnéd piszkozatként menteni az üzenetet? Details - + Részletek @@ -10813,74 +11386,74 @@ Szeretnéd menteni az üzenetet? Feladó: - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10888,22 +11461,22 @@ Szeretnéd menteni az üzenetet? Everyone - + Contacts - + Kapcsolatok Nobody - + Accept encrypted distant messages from - + @@ -11113,12 +11686,12 @@ Szeretnéd menteni az üzenetet? Hide the attachment pane - + Show the attachment pane - + @@ -11542,7 +12115,7 @@ Szeretnéd menteni az üzenetet? <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + @@ -11639,7 +12212,7 @@ Szeretnéd menteni az üzenetet? This message goes to a distant person. - + @@ -11674,7 +12247,7 @@ Szeretnéd menteni az üzenetet? This message comes from a distant person. - + @@ -11685,7 +12258,7 @@ Szeretnéd menteni az üzenetet? RetroShare üzenetküldő - + Add a Friend Barát hozzáadása @@ -11700,17 +12273,17 @@ Szeretnéd menteni az üzenetet? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + @@ -11968,7 +12541,7 @@ Szeretnéd menteni az üzenetet? - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. @@ -12086,74 +12659,74 @@ Kattints rá jobb gombbal, majd választ ki a 'barátság kezdeményezése& Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12184,7 +12757,7 @@ Reported error: Freeze - + @@ -12245,17 +12818,17 @@ Reported error: Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12332,7 +12905,7 @@ Reported error: Ip security - + @@ -12402,7 +12975,7 @@ Reported error: <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + @@ -12432,7 +13005,7 @@ Reported error: Disable All Toasters - + @@ -12442,7 +13015,7 @@ Reported error: Disable All Toaster temporarily - + @@ -12452,7 +13025,7 @@ Reported error: Systray - + @@ -12462,23 +13035,23 @@ Reported error: Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase PGP kulcs jelszava @@ -12498,12 +13071,12 @@ Reported error: A RetroShare regisztrálatlan beépülőt észlelt. Ez két esetben történhet:<UL><LI>A RetroShare megváltozott.</LI><LI>A beépülő megváltozott</LI></UL>Kattints az Igenre a beépülő hitelesítéséhez, vagy a Nemre az elutasításához. Később is megváltoztathatod a döntésedet a Beállítások -> Beépülők menüben, amit követően újra kell indítanod a programot. - + Please check your system clock. Kérlek, ellenőrízd a rendszerórádat. - + Examining shared files... Megosztott fájlok vizsgálata... @@ -12539,14 +13112,14 @@ Reported error: Titkosított üzenet - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12581,7 +13154,7 @@ Reported error: - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers @@ -12601,37 +13174,37 @@ Reported error: PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + @@ -12641,7 +13214,7 @@ Reported error: No trust - + @@ -12661,31 +13234,31 @@ Reported error: Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12695,73 +13268,134 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures Aláírásokat tartalmaz + + + Options + Beállítások + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details - + - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. Hiba: a partner adatai nem elérhetőek. - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) A RetroShare nem támogatja a kulcsot. (Jelenleg csak RSA kulcsok engedélyezettek) - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + @@ -12779,28 +13413,28 @@ p, li { white-space: pre-wrap; } Nem bízol meg ebben a partnerben. - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure Hibás aláírás @@ -12810,19 +13444,19 @@ p, li { white-space: pre-wrap; } Talán rossz a jelszó - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12971,26 +13605,80 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -13081,7 +13769,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13094,7 +13782,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13107,7 +13795,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13254,7 +13942,7 @@ requesting to edit it! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13323,37 +14011,37 @@ p, li { white-space: pre-wrap; } base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13376,7 +14064,7 @@ p, li { white-space: pre-wrap; } Widget for plugin %1 not found on plugins frame - + @@ -13394,12 +14082,12 @@ p, li { white-space: pre-wrap; } Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + @@ -13413,7 +14101,7 @@ p, li { white-space: pre-wrap; } [loading problem] - + @@ -13458,7 +14146,7 @@ a kártevőként működő beépülők használatától. <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + @@ -13535,7 +14223,7 @@ a kártevőként működő beépülők használatától. Chat remotely closed. Please close this window. - + @@ -13555,12 +14243,12 @@ a kártevőként működő beépülők használatától. Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13593,7 +14281,7 @@ a kártevőként működő beépülők használatától. You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + @@ -13603,12 +14291,12 @@ a kártevőként működő beépülők használatától. Submit a new Post - + Please add a Title - + @@ -13618,7 +14306,7 @@ a kártevőként működő beépülők használatától. Link - + @@ -13636,12 +14324,12 @@ a kártevőként működő beépülők használatától. <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + @@ -13694,7 +14382,7 @@ a kártevőként működő beépülők használatától. Update Topic - + @@ -13707,7 +14395,7 @@ a kártevőként működő beépülők használatától. Subscribe to Posted - + @@ -13723,7 +14411,7 @@ a kártevőként működő beépülők használatától. Posted Description - + @@ -13733,7 +14421,7 @@ a kártevőként működő beépülők használatától. New Posted - + @@ -13744,7 +14432,7 @@ a kártevőként működő beépülők használatától. PostedItem - + 0 0 @@ -13755,7 +14443,7 @@ a kártevőként működő beépülők használatától. - + Comments Hozzászólások @@ -13767,12 +14455,12 @@ a kártevőként működő beépülők használatától. Vote up - + Vote down - + @@ -13790,7 +14478,17 @@ a kártevőként működő beépülők használatától. Új - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Üzenet olvasottságának váltása @@ -13800,7 +14498,7 @@ a kártevőként működő beépülők használatától. Eltávolítás - + Loading Töltés @@ -13860,7 +14558,7 @@ a kártevőként működő beépülők használatától. Submit a new Post - + @@ -13885,7 +14583,7 @@ a kártevőként működő beépülők használatától. 1-10 - + 1-10 @@ -13893,7 +14591,7 @@ a kártevőként működő beépülők használatától. Tabs - + @@ -13903,7 +14601,7 @@ a kártevőként működő beépülők használatától. Open each topic in a new tab - + @@ -14053,28 +14751,28 @@ az importálás gombot, hogy betöltsd. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + You can use it now to create a new node. - + @@ -14262,9 +14960,9 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation Megerősítés @@ -14274,7 +14972,7 @@ p, li { white-space: pre-wrap; } Szeretnéd, ha ezt a hivatkozást a rendszered kezelné? - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. @@ -14283,7 +14981,7 @@ and open the Make Friend Wizard. - + Add file Fájl hozzáadása @@ -14303,12 +15001,17 @@ and open the Make Friend Wizard. Meg szeretnéd nyitni mind a %1 hivatkozást? - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. %1 Retroshare hivatkozás a %2 -ból feldolgozva. @@ -14417,6 +15120,21 @@ and open the Make Friend Wizard. Channel messages not found Csatorna üzenetek nem találhatóak + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + + Recipient not accepted @@ -14460,7 +15178,7 @@ A <b>",|,/,\,&lt;,&gt;,*,?</b> karakterek le lesznek cs Eredmény - + Unable to make path Hibás útvonal @@ -14475,7 +15193,7 @@ A <b>",|,/,\,&lt;,&gt;,*,?</b> karakterek le lesznek cs A kollekciófájl feldolgozása sikertelen - + Deny friend Barát elutasítása @@ -14495,7 +15213,7 @@ A <b>",|,/,\,&lt;,&gt;,*,?</b> karakterek le lesznek cs Fájl kérése megszakítva - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. A RetroShare ezen verziója OpenPGP-SDK-t használ. Ennek hála, nem használja a rendszer PGP kulcstartóját, viszont van egy saját kulcstartója, amit az összes futó RetroShare elérhet. <br><br>Úgy tűnik, hogy még nem rendelkezel ilyen kulcstartóval annak ellenére, hogy már létrehozott RetroShare fiókjaidban szerepelnek PGP kulcsok. Ez valószínűleg azért lehetséges, mert most frissítettél az alkalmazás új verziójára. @@ -14506,12 +15224,12 @@ A <b>",|,/,\,&lt;,&gt;,*,?</b> karakterek le lesznek cs - + RetroShare RetroShare - + Initialization failed. Wrong or missing installation of PGP. Sikertelen elemzés. Rossz vagy hiányzó PGP telepítés. @@ -14521,12 +15239,12 @@ A <b>",|,/,\,&lt;,&gt;,*,?</b> karakterek le lesznek cs Váratlan hiba történt. Kérlek jelentsd 'RsInit::InitRetroShare unexpected return code %1'. - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. Váratlan hiba történt. Kérlek jelentsd 'RsInit::InitRetroShare unexpected return code %1'. - + Multiple instances Több példány @@ -14550,9 +15268,8 @@ Zárolófájl: - Start with a RetroShare link is only supported for Windows. - Indítás egy csak Windowson támogatott RetroShare hivatkozással. + Indítás egy csak Windowson támogatott RetroShare hivatkozással. @@ -14581,24 +15298,24 @@ A hibajelentés: %2 - + Click to send a private message to %1 (%2). - + %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + @@ -14608,103 +15325,103 @@ A hibajelentés: TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + @@ -14715,49 +15432,49 @@ A hibajelentés: Subject: - + Tárgy: Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error - + Hiba unable to parse XML file! - + @@ -14772,12 +15489,12 @@ Security: no anonymous IDs <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14900,10 +15617,10 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -14948,31 +15665,31 @@ p, li { white-space: pre-wrap; } RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -14987,8 +15704,8 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> @@ -15049,7 +15766,7 @@ p, li { white-space: pre-wrap; } Universal - + @@ -15067,12 +15784,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + Tényleg meg szeretnéd szüntetni a mappa megosztását? @@ -15116,60 +15833,60 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15187,7 +15904,7 @@ p, li { white-space: pre-wrap; } <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15277,7 +15994,7 @@ p, li { white-space: pre-wrap; } <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15311,22 +16028,22 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + @@ -15339,33 +16056,33 @@ p, li { white-space: pre-wrap; } Add IP to whitelist - + Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15397,12 +16114,12 @@ p, li { white-space: pre-wrap; } Letöltés! - + File Fájl - + Size Méret @@ -15419,7 +16136,7 @@ p, li { white-space: pre-wrap; } Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. Néhány mappa vagy fájlnév tiltott karaktereket tartalmazott. A <b>",|,/,\,&lt;,&gt;,*,?</b> karakterek '_' karakterrel lesznek lecserélve. @@ -15428,7 +16145,7 @@ A <b>",|,/,\,&lt;,&gt;,*,?</b> karakterek '_' Selected files : - + @@ -15438,12 +16155,12 @@ A <b>",|,/,\,&lt;,&gt;,*,?</b> karakterek '_' <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + @@ -15453,12 +16170,12 @@ A <b>",|,/,\,&lt;,&gt;,*,?</b> karakterek '_' <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + + - + @@ -15466,103 +16183,108 @@ A <b>",|,/,\,&lt;,&gt;,*,?</b> karakterek '_' Mentés - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + Real Size=%1 - + Real File Count=%1 - + Save Collection File. - + What do you want to do? - + Overwrite - + Merge - + Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + File already exists. - + <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15603,27 +16325,27 @@ A <b>",|,/,\,&lt;,&gt;,*,?</b> karakterek '_' This file contains the string "%1" and is therefore an invalid collection file. If you believe it is correct, remove the corresponding line from the file and re-open it with Retroshare. - + Save Collection File. - + What do you want to do? - + Overwrite - + Merge - + @@ -15633,13 +16355,13 @@ If you believe it is correct, remove the corresponding line from the file and re File already exists. - + RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? A kép túl nagy az átvitelhez. @@ -15651,13 +16373,13 @@ Lecsökkented a méretét %1x%2 pixelre? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. Az összes tárolt RetroShare beállítás visszaváltása alapértelmezettre. @@ -15697,7 +16419,7 @@ Lecsökkented a méretét %1x%2 pixelre? RetroShare használati adatok - + Unable to open log file '%1': %2 Naplófájl megnyitása sikertelen: '%1': %2 @@ -15709,27 +16431,36 @@ Lecsökkented a méretét %1x%2 pixelre? Could not create data directory: %1 - + - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -16001,17 +16732,17 @@ Lecsökkented a méretét %1x%2 pixelre? Create Collection... - + Modify Collection... - + View Collection... - + @@ -16045,7 +16776,7 @@ Lecsökkented a méretét %1x%2 pixelre? IP address: - + @@ -16060,7 +16791,7 @@ Lecsökkented a méretét %1x%2 pixelre? Peer Name: - + @@ -16077,33 +16808,33 @@ Lecsökkented a méretét %1x%2 pixelre? but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -16236,27 +16967,27 @@ Lecsökkented a méretét %1x%2 pixelre? Certificate has wrong signature!! This peer is not who he claims to be. - + Missing/Damaged certificate. Not a real Retroshare user. - + Certificate caused an internal error. - + Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16269,12 +17000,12 @@ Lecsökkented a méretét %1x%2 pixelre? Network Mode - + Hálózat módja Nat - + @@ -16362,7 +17093,7 @@ Lecsökkented a méretét %1x%2 pixelre? If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. Amennyiben ezt nem jelölöd be, a RetroShare csak akkor tudja meghatározni az IP címedet, ha már csatlakoztál valakihez. Engedélyezve hagyva akkor segíthet, ha csak kevés barátod van, vagy tűzfal mögül csatlakozol, illetve VPN-t használsz. @@ -16380,90 +17111,90 @@ behind a firewall or a VPN. Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + Onion Address - + Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + @@ -16473,27 +17204,27 @@ Also check your ports! Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16508,18 +17239,18 @@ Also check your ports! IP Filters - + IP blacklist - + IP range - + @@ -16533,13 +17264,13 @@ Also check your ports! Origin - + Reason - + @@ -16551,158 +17282,158 @@ Also check your ports! IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + @@ -16715,78 +17446,78 @@ If you have issues connecting over Tor check the Tor logs too. Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16809,12 +17540,12 @@ If you have issues connecting over Tor check the Tor logs too. Auto-download recommended files - + Require whitelist - + @@ -16837,12 +17568,12 @@ If you have issues connecting over Tor check the Tor logs too. hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16899,7 +17630,7 @@ If you have issues connecting over Tor check the Tor logs too. Share flags and groups: - + @@ -16917,13 +17648,13 @@ If you have issues connecting over Tor check the Tor logs too. Share - + You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -17148,17 +17879,17 @@ Select the Friends with which you want to Share your Channel. Create Collection... - + Modify Collection... - + View Collection... - + @@ -17171,48 +17902,48 @@ Select the Friends with which you want to Share your Channel. Friend - + Barát Go Online - + Chatmessage - + New Msg - + Message - + Üzenet Message arrived - + Download - + Letöltés Download complete - + Lobby - + @@ -17255,7 +17986,7 @@ Select the Friends with which you want to Share your Channel. Default - + Alapértelmezett @@ -17263,18 +17994,18 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile Profil betöltése @@ -17347,9 +18078,9 @@ A jelenlegi személyazonosságok, helyszínek nem érintettek. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17358,7 +18089,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17367,7 +18098,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17376,7 +18107,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17450,12 +18181,12 @@ This choice can be reverted in settings. Turtle Router - + Global Router - + @@ -17562,7 +18293,7 @@ This choice can be reverted in settings. Connected: I2P - + @@ -17577,57 +18308,57 @@ This choice can be reverted in settings. TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17647,7 +18378,7 @@ This choice can be reverted in settings. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17660,7 +18391,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17824,17 +18555,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed Feliratkozva - + Unsubscribe Leiratkozás - + Subscribe Feliratkozás @@ -17893,12 +18624,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17953,13 +18684,13 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> - + @@ -17969,27 +18700,27 @@ p, li { white-space: pre-wrap; } <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -18024,7 +18755,7 @@ p, li { white-space: pre-wrap; } TransfersDialog - + Downloads Letöltések @@ -18035,7 +18766,7 @@ p, li { white-space: pre-wrap; } Feltöltések - + Name i.e: file name @@ -18276,7 +19007,7 @@ p, li { white-space: pre-wrap; } <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + @@ -18305,39 +19036,39 @@ p, li { white-space: pre-wrap; } - + Failed Sikertelen - - + + Okay Oké - - + + Waiting Várakozás - + Downloading Letöltés - + Complete Elkészült - + Queued Sorban áll @@ -18357,7 +19088,7 @@ p, li { white-space: pre-wrap; } Ismeretlen - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18443,7 +19174,7 @@ Kérlek, légy türelmes! Kérlek, írj be egy új --és megfelelő-- fájlnevet - + Last Time Seen i.e: Last Time Receiced Data Utoljára látva @@ -18575,29 +19306,29 @@ Kérlek, légy türelmes! Elérési útvonal mutatása - + Could not delete preview file - + Try it again? - + - + Create Collection... - + Modify Collection... - + View Collection... - + @@ -18605,24 +19336,24 @@ Kérlek, légy türelmes! Kollekció - + File sharing Fájlmegosztás - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: - + @@ -18779,12 +19510,12 @@ Kérlek, légy türelmes! Anonymous tunnels - + Authenticated tunnels - + @@ -18794,7 +19525,7 @@ Kérlek, légy türelmes! Turtle Router - + @@ -18842,7 +19573,7 @@ Kérlek, légy türelmes! Forwarded data - + @@ -18971,57 +19702,57 @@ Kérlek, légy türelmes! Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -19174,7 +19905,7 @@ Kérlek, légy türelmes! Orig Id - + @@ -19249,7 +19980,7 @@ Kérlek, légy türelmes! Show Wiki Group - + @@ -19420,7 +20151,7 @@ Kérlek, légy türelmes! Update Group - + @@ -19647,7 +20378,7 @@ Kérlek, légy türelmes! Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_it.ts b/retroshare-gui/src/lang/retroshare_it.ts index c4d7a655b..e2f33786c 100644 --- a/retroshare-gui/src/lang/retroshare_it.ts +++ b/retroshare-gui/src/lang/retroshare_it.ts @@ -1,4 +1,6 @@ - + + + AWidget @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file Spiacente, impossibile determinare il comando di default per questo file @@ -305,7 +307,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -427,7 +429,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -475,7 +477,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -488,7 +490,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -558,7 +560,7 @@ p, li { white-space: pre-wrap; } On List Ite&m - + @@ -658,7 +660,7 @@ p, li { white-space: pre-wrap; } Disable SysTray ToolTip - + @@ -775,7 +777,7 @@ Ma ricorda: Qualsiasi dato qui presente *SARÀ PERSO* quando aggiorneremo il pro BWGraphSource - + KB/s KB/s @@ -970,7 +972,7 @@ Ma ricorda: Qualsiasi dato qui presente *SARÀ PERSO* quando aggiorneremo il pro Form - + @@ -1005,7 +1007,7 @@ Ma ricorda: Qualsiasi dato qui presente *SARÀ PERSO* quando aggiorneremo il pro Log scale - + @@ -1053,6 +1055,11 @@ Ma ricorda: Qualsiasi dato qui presente *SARÀ PERSO* quando aggiorneremo il pro Mute participant Silenzia partecipante + + + Ban this person (Sets negative opinion) + + Send Message @@ -1061,15 +1068,15 @@ Ma ricorda: Qualsiasi dato qui presente *SARÀ PERSO* quando aggiorneremo il pro Sort by Name - + Ordina per nome Sort by Activity - + - + Invite friends to this lobby Invita amici a questo gruppo di interesse @@ -1089,7 +1096,7 @@ Ma ricorda: Qualsiasi dato qui presente *SARÀ PERSO* quando aggiorneremo il pro Seleziona gli amici da invitare: - + Welcome to lobby %1 Benvenuto nella chat di gruppo %1 @@ -1105,7 +1112,7 @@ Ma ricorda: Qualsiasi dato qui presente *SARÀ PERSO* quando aggiorneremo il pro Gruppo di discussione - + Lobby management @@ -1152,12 +1159,12 @@ Ma ricorda: Qualsiasi dato qui presente *SARÀ PERSO* quando aggiorneremo il pro secondi - + Start private chat Avvia chat privata - + Decryption failed. Decifrazione fallita. @@ -1242,12 +1249,12 @@ Ma ricorda: Qualsiasi dato qui presente *SARÀ PERSO* quando aggiorneremo il pro ChatLobbyWidget - + Chat lobbies Gruppi di Discussione - + Name Nome @@ -1285,7 +1292,7 @@ Ma ricorda: Qualsiasi dato qui presente *SARÀ PERSO* quando aggiorneremo il pro [Nessun argomento disponibile] - + Selected lobby info Informazioni sul gruppo di interesse selezionato @@ -1302,7 +1309,7 @@ Ma ricorda: Qualsiasi dato qui presente *SARÀ PERSO* quando aggiorneremo il pro Anonymous IDs accepted - + @@ -1325,7 +1332,7 @@ Ma ricorda: Qualsiasi dato qui presente *SARÀ PERSO* quando aggiorneremo il pro %1 ti ha invitato nella lobby chat chiamata %2 - + Search Chat lobbies Cerca i gruppi delle chat @@ -1365,7 +1372,7 @@ Ma ricorda: Qualsiasi dato qui presente *SARÀ PERSO* quando aggiorneremo il pro No - + Lobby Name: Nome del gruppo di discussione: @@ -1532,7 +1539,7 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. Annulla - + Quick Message Messaggio rapido @@ -1541,34 +1548,34 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. ChatPage - + General Generale - + Distant Chat - + Everyone - + Contacts - + Contatti Nobody - + Accept encrypted distant chat from - + @@ -1620,6 +1627,11 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. Send message with Ctrl+Return Invia messaggio con CTRL+ INVIO + + + Send as plain text by default + + Chat Lobby @@ -1725,7 +1737,7 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. In partenza - + Incoming message in history Messaggio in arrivo nello storico @@ -1762,12 +1774,12 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. UserName - + /me is sending a message with /me - + @@ -1842,7 +1854,7 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. Maximum count for coloring matching text - + @@ -1860,7 +1872,7 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. Mostra Barra di default - + Private chat invite from Invito per chat privata da @@ -1883,7 +1895,7 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. ChatStyle - + Standard style for group chat Stile standard per la chat di gruppo @@ -1937,12 +1949,12 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. Chiudi - + Send Invia - + Bold Grassetto @@ -1957,12 +1969,12 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. Corsivo - + Attach a Picture Allega Immagine - + Strike Barrato @@ -2013,42 +2025,70 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. Ripristina il font predefinito - + Quote - + Cita Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... sta scrivendo... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? Vuoi veramente cancellare lo storico dal disco? - + Add Extra File Aggiungi un File Extra @@ -2093,7 +2133,7 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. è occupato probabilmente non risponderà - + Find Case Sensitively Ricerca rispettando maiuscole/minuscole @@ -2115,7 +2155,7 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. Non smettere di colorare dopo X elementi trovati (richiede più potenza CPU) - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> <b>Trova precedente </b><br/><i>Ctrl+Shift+G</i> @@ -2130,12 +2170,12 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. <b>Trova </b><br/><i>Ctrl+F</i> - + (Status) (Stato) - + Set text font & color Imposta font e colore del testo @@ -2145,7 +2185,7 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. Allega un file - + WARNING: Could take a long time on big history. ATTENZIONE: può richiedere molto tempo se il registro eventi è grande. @@ -2156,17 +2196,16 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. - + <b>Mark this selected text</b><br><i>Ctrl+M</i> <b>Contrassegna questo testo selezionato</b><br><i>Ctr+M</i> - %1This message consists of %2 characters. - %1Questo messaggio contiene %2 caratteri. + %1Questo messaggio contiene %2 caratteri. - + items found. elementi trovati. @@ -2181,22 +2220,20 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. <b>Ritorna al testo segnato</b><br><i>Ctr+M</i> - Display Search Box - Mostra Casella di Ricerca + Mostra Casella di Ricerca - Search Box - Casella di Ricerca + Casella di Ricerca - + Type a message here Digitare un messaggio qui - + Don't stop to color after Non smettere di colorare dopo @@ -2206,9 +2243,8 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. elementi trovati (richiede più potenza CPU) - Warning: - Attenzione: + Attenzione: @@ -2227,7 +2263,7 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. CirclesDialog - + Showing details: Visualizzando i dettagli: @@ -2249,7 +2285,7 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. - + Personal Circles Circoli personali @@ -2275,7 +2311,7 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. - + Friends Amici @@ -2335,7 +2371,7 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. Amico di Amici - + External Circles (Admin) Cerchia Esterna (Admin) @@ -2359,7 +2395,7 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. ConfCertDialog - + Details Dettagli @@ -2375,7 +2411,7 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. - + Local Address Indirizzo Locale @@ -2402,36 +2438,39 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. Lista indirizzi - + + Use this certificate to make friends: + + + + Include signatures Includi firme - - + + RetroShare RetroShare - - + + Error : cannot get peer details. Errore: impossibile ottenere dettagli contatto - Use as direct source, when available - Usa come fonte diretta, quando disponibile + Usa come fonte diretta, quando disponibile - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - <html><head/><body><p align="justify">Retroshare controlla periodicamente la lista dei tuoi amici cercando dei file consultabili che corrispondano ai tuoi trasferimenti, per stabilire un trasferimento diretto. In questo caso, i tuoi amici sapranno che stai scaricando il file.</p><p align="justify">Per prevenire questo comportamento soltanto per questo amico, deseleziona questa casella. Puoi sempre stabilire un trasferimento diretto se lo chiedi esplicitamente, per esempio scaricando il file dalla lista dei file dei tuoi amici. + <html><head/><body><p align="justify">Retroshare controlla periodicamente la lista dei tuoi amici cercando dei file consultabili che corrispondano ai tuoi trasferimenti, per stabilire un trasferimento diretto. In questo caso, i tuoi amici sapranno che stai scaricando il file.</p><p align="justify">Per prevenire questo comportamento soltanto per questo amico, deseleziona questa casella. Puoi sempre stabilire un trasferimento diretto se lo chiedi esplicitamente, per esempio scaricando il file dalla lista dei file dei tuoi amici. - + Encryption Cifratura @@ -2446,17 +2485,16 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. Indirizzi Contatti - Options - Opzioni + Opzioni - + Retroshare node details Dettagli nodo RetroShare - + Node name : Nome nodo : @@ -2491,22 +2529,16 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. Certificato Retroshare - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - Auto-download recommended files from this node - Scarica automaticamente i files raccomandati da questo nodo + Scarica automaticamente i files raccomandati da questo nodo - + Friend node details Dettagli del nodo amico - + Hidden Address Indirizzi Nascosti @@ -2542,24 +2574,22 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. <p>Puoi usare questo certificato per farti nuovi amici. Invialo per email, o consegnalo di persona.</p> - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - <html><head/><body><p>I contatti che hanno questa opzione non possono connettersi se il loro indirizzo di connessione non è nella lista bianca. Questo ti protegge dagli attacchi tramite inoltro di traffico. Quando utilizzato, i contatti rifiutati verranno segnalati tramite i &quot;security feed items&quot; nella sezione News Feed. Da lì, potrai mettere il loro IP in lista bianca/nera.</p></body></html> + <html><head/><body><p>I contatti che hanno questa opzione non possono connettersi se il loro indirizzo di connessione non è nella lista bianca. Questo ti protegge dagli attacchi tramite inoltro di traffico. Quando utilizzato, i contatti rifiutati verranno segnalati tramite i &quot;security feed items&quot; nella sezione News Feed. Da lì, potrai mettere il loro IP in lista bianca/nera.</p></body></html> - Require white list clearance - Richiede bonifica tramite lista bianca + Richiede bonifica tramite lista bianca - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> <html><head/><body><p>Questo è l'ID del certificato <span style=" font-weight:600;">OpenSSL</span> del nodo, che è firmato con questa chiave <span style=" font-weight:600;">PGP</span> indicata sopra. </p></body></html> <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + @@ -2628,12 +2658,12 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + @@ -2753,7 +2783,7 @@ Fare doppio clic sui gruppi di interesse per entrare e chattare. Email - + Posta @@ -3180,7 +3210,7 @@ resources. The text below is your Retroshare certificate. You have to provide it to your friend - + @@ -3268,7 +3298,7 @@ anche se non hai amici. <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + @@ -3680,7 +3710,7 @@ anche se non hai amici. Peer DHT is Disabled - + @@ -3727,11 +3757,11 @@ anche se non hai amici. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//IT" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -3790,68 +3820,80 @@ p, li { white-space: pre-wrap; } CreateCircleDialog - + + + + Circle Details Dettagli della cerchia - - + Name Nome - Creator - Creatore + Creatore - Distribution - Distribuzione + Distribuzione - + Public Pubblico - Self-Restricted - Auto-Ristretto + Auto-Ristretto - Restricted to: - Ristretto a: + Ristretto a: - Circle Membership - Appartenenza alle cerchie + Appartenenza alle cerchie - + IDs ID - Known Identities - Identità conosciute + Identità conosciute - + Filter Filtro - + Nickname Soprannome - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ID @@ -3861,56 +3903,105 @@ p, li { white-space: pre-wrap; } Tipo - - - - + + Name: + Nome: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + Privato + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare RetroShare - + Please set a name for your Circle Per favore imposta un nome per la tua cerchia - Personal Circle Details - Dettagli del Circolo Personale + Dettagli del Circolo Personale - External Circle Details - Dettagli del circolo Esterno + Dettagli del circolo Esterno - Cannot Edit Existing Circles Yet - Impossibile modificare il Circolo esistente adesso + Impossibile modificare il Circolo esistente adesso - + No Restriction Circle Selected Nessuna cerchia ristretta selezionata - + No Circle Limitations Selected Nessuna cerchia limitata selezionata - Create New Personal Circle - Crea un nuovo Circolo Personale + Crea un nuovo Circolo Personale - Create New External Circle - Crea un nuovo Circolo Esteso + Crea un nuovo Circolo Esteso - + Add Aggiungi @@ -3920,13 +4011,13 @@ p, li { white-space: pre-wrap; } Rimuovi - + Search Cerca - + All Tutti @@ -3941,49 +4032,98 @@ p, li { white-space: pre-wrap; } Firmato da Nodi conosciuti - + Edit Circle Modifica Circolo - - + PGP Identity Identità PGP - - - + + + Anon Id Id Anonimo + + + Circle name + + + + + Update + + + Close + Chiudi + + + + + Create New Circle + + + + + Create + Crea + + + PGP Linked Id PGP Id Collegato + + + Add Member + + + + + Remove Member + + CreateGroup - + Create a Group Crea un Gruppo - - Group Name - Nome Gruppo + + Group Name: + Nome gruppo: - + + Group ID: + + + + Group Name + Nome Gruppo + + + Enter a name for your group Immetti un nome per il tuo gruppo - + + To be defined + + + + Friends Amici @@ -4017,9 +4157,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -4148,7 +4288,7 @@ p, li { white-space: pre-wrap; } CreateGxsForumMsg - + Post Forum Message Posta un Messaggio nel Forum @@ -4193,12 +4333,12 @@ p, li { white-space: pre-wrap; } Avvia nuovo argomento - + No Forum Nessun forum - + In Reply to In Risposta a @@ -4224,9 +4364,19 @@ p, li { white-space: pre-wrap; } Add Extra File Aggiungi File Extra + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data Genera dati di massa @@ -4236,12 +4386,12 @@ p, li { white-space: pre-wrap; } Vuoi davvero generare %1 messaggi ? - + Send Invia - + Forum Message Messaggio Forum @@ -4304,7 +4454,7 @@ Vuoi scartare questo messaggio? <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + @@ -4334,7 +4484,7 @@ Vuoi scartare questo messaggio? Set a descriptive topic here - + @@ -4503,7 +4653,7 @@ Vuoi scartare questo messaggio? <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + @@ -4529,7 +4679,7 @@ Vuoi scartare questo messaggio? No peer found in DHT - + @@ -4784,7 +4934,7 @@ Vuoi scartare questo messaggio? Copy %1 to clipboard - + @@ -4824,17 +4974,17 @@ Vuoi scartare questo messaggio? DETERMINISTIC SYM NAT - + RESTRICTED CONE NAT - + FULL CONE NAT - + @@ -4849,12 +4999,12 @@ Vuoi scartare questo messaggio? UNKNOWN NAT HOLE STATUS - + NO NAT HOLE - + @@ -4874,22 +5024,22 @@ Vuoi scartare questo messaggio? NET BAD: Unknown State - + NET BAD: Offline - + NET BAD: Behind Symmetric NAT - + NET BAD: Behind NAT & No DHT - + @@ -4954,7 +5104,7 @@ Vuoi scartare questo messaggio? Direct - + @@ -4994,7 +5144,7 @@ Vuoi scartare questo messaggio? RELAY END - + @@ -5016,12 +5166,12 @@ Vuoi scartare questo messaggio? Own Relay - + RELAY PROXY - + @@ -5040,7 +5190,7 @@ Vuoi scartare questo messaggio? Relays - + @@ -5093,7 +5243,7 @@ Vuoi scartare questo messaggio? Unreach: - + @@ -5108,7 +5258,7 @@ Vuoi scartare questo messaggio? DHT Peers: - + @@ -5159,12 +5309,12 @@ Vuoi scartare questo messaggio? Proxy VIA - + Relay VIA - + @@ -5203,7 +5353,7 @@ Vuoi scartare questo messaggio? Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. Ricorda gli hash dei files anche se non condivisi. ⏎ @@ -5665,7 +5815,7 @@ per evitare la di ricalcolare gli hash dei files quando lo ricolleghi. export your friendlist including groups - + @@ -5690,7 +5840,7 @@ per evitare la di ricalcolare gli hash dei files quando lo ricolleghi.Mostra Grupppi - + Group Gruppo @@ -5731,7 +5881,7 @@ per evitare la di ricalcolare gli hash dei files quando lo ricolleghi.Aggiungi al gruppo - + Search Cerca @@ -5741,7 +5891,7 @@ per evitare la di ricalcolare gli hash dei files quando lo ricolleghi.Ordina per stato - + Move to group Sposta nel gruppo @@ -5776,12 +5926,12 @@ per evitare la di ricalcolare gli hash dei files quando lo ricolleghi.Disponibile - + Do you want to remove this Friend? Vuoi rimuovere questo amico? - + Done! Fatto! @@ -5829,8 +5979,12 @@ uno o più peer non sono stati aggiunti ad un gruppo + Select file for importing your friendlist from + + + Select file for importing yoour friendlist from - Scegli il file da cui importare l’elenco degli amici + Scegli il file da cui importare l’elenco degli amici @@ -5874,7 +6028,7 @@ uno o più peer non sono stati aggiunti ad un gruppo IP - + Attempt to connect Prova a connetteri @@ -5904,7 +6058,7 @@ uno o più peer non sono stati aggiunti ad un gruppo Nodo Amico rimosso - + Do you want to remove this node? Vuoi rimuovere questo nodo? @@ -5914,7 +6068,7 @@ uno o più peer non sono stati aggiunti ad un gruppo Nodi amici - + Send message to whole group Invia messaggio a tutto il gruppo @@ -5977,14 +6131,14 @@ uno o più peer non sono stati aggiunti ad un gruppo Cerca Amici - + Mark all Contrassegna tutto Mark none - + @@ -6091,7 +6245,7 @@ uno o più peer non sono stati aggiunti ad un gruppo Retroshare broadcast chat: messages are sent to all connected friends. - + @@ -6170,7 +6324,12 @@ anonymous, you can use a fake email. Password (check) - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> <html><head/><body><p align="justify">Prima di procedere, muovi il mouse per aiutare RetroShare ad accumulare più casualità possibile. È necessario riempire al 20% la barra di progresso, ma è consigliabile raggiungere il 100%.</p></body></html> @@ -6234,7 +6393,7 @@ anonymous, you can use a fake email. Il campo nodo richiede minimo 3 caratteri - + Failed to generate your new certificate, maybe PGP password is wrong! Impossibile generare il nuovo certificato, forse la password PGP è errata! @@ -6268,7 +6427,7 @@ Altrimenti, per usare un profilo già esistente, despunta la voce "Crea nuo - + Create a new profile Crea un nuovo profilo @@ -6319,12 +6478,11 @@ Altrimenti, per usare un profilo già esistente, despunta la voce "Crea nuo <html><head/><body><p>Questa è la porta di connessione.</p><p>Qualsiasi valore tra 1024 e 65535 </p><p>dovrebbe andar bene. Puoi modificarlo in seguito.</p></body></html> - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - <html><head/><body><p>Questo può essere un indirizzo Tor Onion nella forma: xa76giaf6ifda7ri63i263.onion<br/>o un indirizzo I2P nella forma:[52 caratteri].b32.i2p </p><p>Al fine di procurartene uno, devi configurare o Tor o I2P per creare un nuovo servizio nascosto/server tunnel. Se non ne possiedi ancora uno, puoi proseguire lo stesso, e sopperirlo in seguito andando nel pannello di configurazione di RetroShare: Opzioni-&gt;Server-&gt;Servizio Nascosto</p></body></html> + <html><head/><body><p>Questo può essere un indirizzo Tor Onion nella forma: xa76giaf6ifda7ri63i263.onion<br/>o un indirizzo I2P nella forma:[52 caratteri].b32.i2p </p><p>Al fine di procurartene uno, devi configurare o Tor o I2P per creare un nuovo servizio nascosto/server tunnel. Se non ne possiedi ancora uno, puoi proseguire lo stesso, e sopperirlo in seguito andando nel pannello di configurazione di RetroShare: Opzioni-&gt;Server-&gt;Servizio Nascosto</p></body></html> - + PGP key length Lunghezza chiave PGP @@ -6480,12 +6638,12 @@ il bottone IMPORT per caricarlo - + Profile generation failure Generazione profilo fallita - + Missing PGP certificate Manca certificato PGP @@ -6553,8 +6711,12 @@ Compila la tua password PGP quando richiesto, per firmare la nuova chiave. + Register retroshare:// as URL protocol + + + Register retroshare:// as URL protocol (Restart required) - Registrare retroshare: / / come protocollo URL (riavvio richiesto) + Registrare retroshare: / / come protocollo URL (riavvio richiesto) @@ -6562,7 +6724,27 @@ Compila la tua password PGP quando richiesto, per firmare la nuova chiave.Devi avere i diritti amministratore per modificare questa opzione. - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle Inattivo @@ -6582,7 +6764,17 @@ Compila la tua password PGP quando richiesto, per firmare la nuova chiave.Fai partire la configurazione guidata di avvio - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error Errore @@ -6603,7 +6795,7 @@ Compila la tua password PGP quando richiesto, per firmare la nuova chiave.Generale - + Minimize to Tray Icon Riduci nella Tray Icon @@ -6627,7 +6819,7 @@ Compila la tua password PGP quando richiesto, per firmare la nuova chiave.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> @@ -6660,18 +6852,18 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6683,31 +6875,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6720,7 +6912,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + @@ -6833,7 +7025,7 @@ p, li { white-space: pre-wrap; } GroupBox - + @@ -6843,7 +7035,7 @@ p, li { white-space: pre-wrap; } Identity Name - + @@ -6862,33 +7054,45 @@ p, li { white-space: pre-wrap; } + Stored data size + + + + + Receive time (secs ago) + + + + + Sending time (secs ago) + + + Data size - Dimensione dati + Dimensione dati - + Data hash - + - Received - Ricevuto + Ricevuto - Send - Invia + Invia - + Branching factor - + Details - + Dettagli @@ -6916,12 +7120,12 @@ p, li { white-space: pre-wrap; } Routing matrix ( - + [Unknown identity] - + @@ -6937,6 +7141,14 @@ p, li { white-space: pre-wrap; } Mostra conversazioni di gruppo + + GroupChooser + + + [Unknown] + [Scononsciuto] + + GroupDefs @@ -7041,7 +7253,7 @@ p, li { white-space: pre-wrap; } can relay anonymous tunnels to this directory - + @@ -7054,7 +7266,7 @@ p, li { white-space: pre-wrap; } Hide tabbar with one open tab - + @@ -7070,17 +7282,26 @@ p, li { white-space: pre-wrap; } Contatti: - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer Seleziona almeno un contatto - Share channel admin permissions - Condividi i permessi amministrativi del canale + Condividi i permessi amministrativi del canale - + Share forum admin permissions Condividi i permessi amministrativi del forum @@ -7097,12 +7318,11 @@ p, li { white-space: pre-wrap; } You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - + - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - Puoi consentire ai tuoi amici di pubblicare sul tuo canale e modificarnee la descrizione. Oppure puoi inviare i permessi amministrativi ad un’altra istanza RetroShare. Seleziona gli amici a cui vuoi consentire di pubblicare su questo canale. Nota: non è possibile revocare i permessi amministrativi del canale. + Puoi consentire ai tuoi amici di pubblicare sul tuo canale e modificarnee la descrizione. Oppure puoi inviare i permessi amministrativi ad un’altra istanza RetroShare. Seleziona gli amici a cui vuoi consentire di pubblicare su questo canale. Nota: non è possibile revocare i permessi amministrativi del canale. @@ -7145,7 +7365,17 @@ p, li { white-space: pre-wrap; } Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + @@ -7153,12 +7383,11 @@ p, li { white-space: pre-wrap; } Mostra - You have admin rights - Hai i permessi di amministratore + Hai i permessi di amministratore - + Subscribe to download and read messages Iscriviti per scaricare e leggere i messaggi @@ -7503,6 +7732,16 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Cambia lo stato dei messaggi letti @@ -7513,7 +7752,7 @@ p, li { white-space: pre-wrap; } - + Play Esegui @@ -7551,12 +7790,12 @@ p, li { white-space: pre-wrap; } Rimuovi elemento - + Channel Feed Annuncio canale - + Files Files @@ -7596,12 +7835,12 @@ p, li { white-space: pre-wrap; } Non mi piace - + Loading Sto caricando... - + Open Open @@ -7619,7 +7858,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel Posta sul Canale @@ -7634,7 +7873,7 @@ p, li { white-space: pre-wrap; } Cerca canali - + Title Titolo @@ -7669,7 +7908,32 @@ p, li { white-space: pre-wrap; } Nessun Canale Selezionato - + + Public + Pubblico + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download Disabilita Download Automatico @@ -7689,7 +7953,23 @@ p, li { white-space: pre-wrap; } Mostra files - + + Administrator: + + + + + + unknown + sconosciuto + + + + Distribution: + + + + Feeds Dispaccio @@ -7699,17 +7979,17 @@ p, li { white-space: pre-wrap; } Files - + Subscribers Iscritti - + Description: Descrizione: - + Posts (at neighbor nodes): Posts (a nodi adiacenti): @@ -7833,7 +8113,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//IT" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -7994,7 +8274,7 @@ prima che tu possa commentare Modulo - + Start new Thread for Selected Forum Avvia un nuovo argomento nel forum selezionato @@ -8020,7 +8300,7 @@ prima che tu possa commentare - + Title Titolo @@ -8033,18 +8313,18 @@ prima che tu possa commentare - + Author Autore Save image - + - + Loading Sto caricando @@ -8169,7 +8449,7 @@ prima che tu possa commentare This message was obtained from %1 - + @@ -8178,19 +8458,59 @@ prima che tu possa commentare + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + Pubblico + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + Distribuzione + + + Anti-spam - + @@ -8235,7 +8555,7 @@ prima che tu possa commentare <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8291,7 +8611,7 @@ prima che tu possa commentare Il %1, %2 ha scritto: - + Forum name Nome forum @@ -8306,7 +8626,7 @@ prima che tu possa commentare Posts (a nodi adiacenti) - + Description Descrizione @@ -8316,7 +8636,7 @@ prima che tu possa commentare Da - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> <p>L’iscrizione al forum raccoglierà tutti i post disponibili dei tuoi amici iscritti, e renderà il forum visibile a tutti gli altri amici.</p><p>In seguito potrai annullare l’iscrizione tramite il menù contestuale della lista del forum, sulla sinistra.</p> @@ -8394,13 +8714,13 @@ prima che tu possa commentare GxsGroupDialog - - + + Name Nome - + Add Icon Aggiungi icona @@ -8415,7 +8735,7 @@ prima che tu possa commentare Condividi chiave pubblicazione - + check peers you would like to share private publish key with verifica i contatti con cui vuoi condividere la chiave privata di pubblicazione @@ -8425,36 +8745,40 @@ prima che tu possa commentare Condividi chiave con - - + + Description Descrizione - + Message Distribution Distribuzione messaggio - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public Pubblico - - Restricted to Group - Limitato al gruppo + Limitato al gruppo - - + Only For Your Friends Solo per i tuoi amici - + Publish Signatures Pubblicare le firme @@ -8500,12 +8824,11 @@ prima che tu possa commentare - Comments Commenti - + Allow Comments Consenti i commenti @@ -8517,71 +8840,107 @@ prima che tu possa commentare Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + Commenti: - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: Contatti: - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name Aggiungi un Nome - + + PGP signature from known ID required + + + + Load Group Logo caricamento Logo Gruppo - + Submit Group Changes Applica Modifiche al Gruppo - + Failed to Prepare Group MetaData - please Review Non è stato possibile preparare i MetaDati del Gruppo — procedi con la Revisione - + Will be used to send feedback Verrà utilizzato per inviare feedback @@ -8591,52 +8950,94 @@ prima che tu possa commentare Proprietario: - + Set a descriptive description here Inserisci qui una descrizione - + Info Info - Comments allowed - Commenti autorizzati + Commenti autorizzati - Comments not allowed - Commenti non autorizzati + Commenti non autorizzati - + ID ID - + Last Post Ultimo post + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity Popolarità - + Posts Post - Type - Tipo + Tipo - + Author Autore @@ -8694,7 +9095,12 @@ prima che tu possa commentare Modifica Dettagli - + + Share publish permissions + + + + Copy RetroShare Link Copia Collegamento RetroShare @@ -8709,25 +9115,24 @@ prima che tu possa commentare Segna tutti come da leggere - + AUTHD AUTHD - Share admin permissions - Condividi permessi amministrativi + Condividi permessi amministrativi GxsIdChooser - + No Signature Nessuna firma - + Create new Identity Crea nuova identità @@ -8735,7 +9140,7 @@ prima che tu possa commentare GxsIdDetails - + Loading Sto caricando... @@ -8811,42 +9216,42 @@ prima che tu possa commentare Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + Contatto sconosciuto @@ -9081,7 +9486,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9112,7 +9517,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9122,11 +9527,11 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + @@ -9171,7 +9576,7 @@ p, li { white-space: pre-wrap; } IdDetailsDialog - + Person Details Dettagli Persona @@ -9241,13 +9646,13 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9257,9 +9662,9 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + @@ -9355,13 +9760,14 @@ p, li { white-space: pre-wrap; } IdDialog - + + New ID Nuovo ID - - + + All Tutto @@ -9377,39 +9783,75 @@ p, li { white-space: pre-wrap; } Cerca - Unknown real name - Nome reale sconosciuto + Nome reale sconosciuto - + Anonymous Id Id Anonimo - + Create new Identity Crea nuova identità - - Persons - + + Create new circle + - + + Persons + + + + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + Circoli + + + + Circle name + + + + + Membership + Appartenenza + + + + Public Circles + Circoli pubblici + + + + Personal Circles + Circoli personali + + + Edit identity Modifica Identità @@ -9430,7 +9872,7 @@ p, li { white-space: pre-wrap; } Avvia una conversazione a distanza con questo contatto - + Owner node ID : ID nodo proprietario : @@ -9440,22 +9882,22 @@ p, li { white-space: pre-wrap; } Nome dell’identità : - + () - + - + Identity ID ID dell'identità - + Send message Invia Messaggio - + Identity info Info sull'identità @@ -9477,10 +9919,10 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> <html><head/><body><p>Opinione media dei nodi adiacenti riguardo questa identità. Negativa è male,</p><p>positiva è buono. Zero è neutrale.</p></body></html> @@ -9520,48 +9962,273 @@ p, li { white-space: pre-wrap; } Complessivo: - - Contacts - - - - Owned by you - Appartiene a te + Appartiene a te - + Anonymous Anonimo - + ID - + ID Search ID - + - + This identity is owned by you Questa identità ti appartiene - Unknown PGP key - Chiave PGP sconosciuta + Chiave PGP sconosciuta - - Unknown key ID - ID chiave sconosciuta + ID chiave sconosciuta - + + My own identities + + + + + My contacts + + + + + Owned by myself + + + + + Linked to my node + + + + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + Pubblico + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + Stato: + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + sconosciuto + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + Modifica Circolo + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node Identità di tua proprietà, collegata al tuo nodo Retroshare @@ -9586,29 +10253,29 @@ p, li { white-space: pre-wrap; } Bloccato - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + @@ -9623,28 +10290,28 @@ p, li { white-space: pre-wrap; } Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + Grazie, <br> - - - - + + + + People Persone @@ -9655,12 +10322,11 @@ p, li { white-space: pre-wrap; } Il Tuo Avatar - Linked to your node - Connesso al tuo nodo + Connesso al tuo nodo - + Linked to neighbor nodes Collegato a nodi adiacenti @@ -9670,12 +10336,7 @@ p, li { white-space: pre-wrap; } Collegato a nodi distanti - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node Collegato a un nodo RetroShare tuo amico @@ -9690,7 +10351,7 @@ p, li { white-space: pre-wrap; } Collegato a un nodo RetroShare sconosciuto - + Chat with this person Conversa con questa persona @@ -9710,7 +10371,7 @@ p, li { white-space: pre-wrap; } Ultimo utilizzo: - + +50 Known PGP +50 PGP Conosciuta @@ -9725,17 +10386,17 @@ p, li { white-space: pre-wrap; } +5 ID Anonima - + Do you really want to delete this identity? Vuoi davvero eliminare questa identità? - + Owned by Appartenente a - + Node name: Nome nodo: @@ -9745,7 +10406,7 @@ p, li { white-space: pre-wrap; } ID Nodo : - + Really delete? Cancellare davvero? @@ -9923,25 +10584,25 @@ p, li { white-space: pre-wrap; } - + GXS name: Nome GXS: - - + + PGP name: Nome PGP: - + GXS id: id GXS: - + PGP id: id PGP: @@ -9956,7 +10617,7 @@ p, li { white-space: pre-wrap; } - + Copy Copia @@ -9992,17 +10653,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -10057,7 +10718,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Add Friend Aggiungi amico @@ -10073,7 +10734,7 @@ p, li { white-space: pre-wrap; } - + Options Opzioni @@ -10107,12 +10768,12 @@ p, li { white-space: pre-wrap; } Auto configuratore rapido - + RetroShare %1 a secure decentralized communication platform RetroShare %1 una piattaforma di comunicazione sicura decentralizzata - + Unfinished Non finito @@ -10228,7 +10889,7 @@ Libera un po' di spazio e clicca OK. Vuoi davvero uscire da RetroShare? - + Internal Error Errore interno @@ -10273,7 +10934,7 @@ Libera un po' di spazio e clicca OK. Matrice dei permessi sui servizi - + Add Aggiungi @@ -10295,7 +10956,7 @@ Libera un po' di spazio e clicca OK. directory is running low (current limit is - + @@ -10307,7 +10968,7 @@ Libera un po' di spazio e clicca OK. MessageComposer - + Compose Componi @@ -10409,19 +11070,19 @@ Libera un po' di spazio e clicca OK. - + Tags Etichette Address list: - + Recommend this friend - + @@ -10531,17 +11192,17 @@ Libera un po' di spazio e clicca OK. All addresses (mixed) - + All people - + My contacts - + @@ -10570,7 +11231,7 @@ Libera un po' di spazio e clicca OK. - + Save Message Salva messaggio @@ -10853,7 +11514,7 @@ Vuoi salvarlo? Da: - + Friend Nodes Nodi Amici @@ -10903,7 +11564,7 @@ Vuoi salvarlo? Grazie, <br> - + Distant identity: Identità distante: @@ -10928,22 +11589,22 @@ Vuoi salvarlo? Everyone - + Contacts - + Contatti Nobody - + Accept encrypted distant messages from - + @@ -11680,7 +12341,7 @@ ricerca This message goes to a distant person. - + @@ -11726,7 +12387,7 @@ ricerca Messaggeria RetroShare - + Add a Friend Aggiungi un Amico @@ -11746,12 +12407,12 @@ ricerca Spoiler - + Select text to hide, then push this button - + @@ -12009,7 +12670,7 @@ ricerca - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. @@ -12162,7 +12823,7 @@ Clic-destro e seleziona 'fatti amico' per poterti connettere. Did peer authenticate you - + @@ -12298,7 +12959,7 @@ Errore riportato: <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12522,7 +13183,7 @@ Errore riportato: NotifyQt - + PGP key passphrase Parola d'ordine chiave PGP @@ -12542,12 +13203,12 @@ Errore riportato: RetroShare ha rilevato plugin non registrati. Questo accade in due casi: <UL><LI>il tuo eseguibile RetroShare è cambiato .</LI><LI>Il plugin è cambiato</LI></UL>Clicca su Sì per autorizzare questo plugin o su No per negarlo. È possibile cambiare idea successivamente in Opzioni-> Plugin, quindi riavviare. - + Please check your system clock. Per favore controlla l'orologio di sistema. - + Examining shared files... Esame files condivisi... @@ -12583,12 +13244,12 @@ Errore riportato: Messaggio criptato - + Please enter your PGP password for key Si prega di inserire la password per la chiave PGP - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). Perché le aree di discussione funzionino correttamente, l'orario del tuo computer deve essere corretto. Per favore controlla che questo sia il tuo caso (Una probabile differenza di diversi minuti è stata rilevata con i tuoi amici). @@ -12625,7 +13286,7 @@ Errore riportato: - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers @@ -12660,7 +13321,7 @@ Basso Traffico: 10% di traffico standard e TODO: sospende tutti i trasferimenti <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + @@ -12670,7 +13331,7 @@ Basso Traffico: 10% di traffico standard e TODO: sospende tutti i trasferimenti <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + @@ -12710,16 +13371,16 @@ Basso Traffico: 10% di traffico standard e TODO: sospende tutti i trasferimenti <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12729,7 +13390,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12739,7 +13400,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + @@ -12749,7 +13410,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + @@ -12762,15 +13423,76 @@ p, li { white-space: pre-wrap; } Formato ASCII - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures Includi firme + + + Options + Opzioni + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + Usa come fonte diretta, quando disponibile + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + Scarica automaticamente i files raccomandati da questo nodo + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + Richiede bonifica tramite lista bianca + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details @@ -12778,26 +13500,26 @@ p, li { white-space: pre-wrap; } - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. Errore: impossibile ottenere dettagli contatto - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) L'algoritmo a chiave fornito non è supportato da RetroShare (chiavi RSA solo sono supportate al momento) - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. Il livello di fiducia è un modo per esprimere la fiducia che riponi in questa chiave. Non viene utilizzato dal programma, né viene condiviso, ma può esserti utile a ricordare le chiavi buone e quelle cattive. @@ -12822,7 +13544,7 @@ p, li { white-space: pre-wrap; } La tua fiducia in questo contatto è nulla. - + This key has signed your own PGP key Questa chiave ha firmato la tua chiave PGP @@ -12843,7 +13565,7 @@ p, li { white-space: pre-wrap; } Al momento non stai autorizzando connessioni da nodi RetroShare firmati con questa chiave. - + Signature Failure Errore Firmando @@ -12853,7 +13575,7 @@ p, li { white-space: pre-wrap; } Forse la password è sbagliata - + You haven't set a trust level for this key. Non hai impostato il livello di fiducia per questa chiave. @@ -13014,15 +13736,15 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People Persone - External - Esterno + Esterno @@ -13035,6 +13757,64 @@ p, li { white-space: pre-wrap; } Internal Interno + + + Chat with this person + Conversa con questa persona + + + + Chat with this person as... + Conversa con questa persona come... + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + La conversazione a distanza non può funzionare + + + + Distant chat refused with this person. + Conversazione a distanza con questa persona: rifiutata. + + + + Error code + Codice errore + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + Persone + PhotoCommentItem @@ -13124,7 +13904,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -13137,7 +13917,7 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -13150,9 +13930,9 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> - + @@ -13293,7 +14073,7 @@ requesting to edit it! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> <span style=" font-size:8pt; text-decoration: underline; color:#0000ff;"> Altro... @@ -13415,7 +14195,7 @@ Altro... Widget for plugin %1 not found on plugins frame - + @@ -13574,7 +14354,7 @@ Per il normale utilizzo abilitare il controllo dell'hash ti protegge plugin Chat remotely closed. Please close this window. - + @@ -13675,7 +14455,7 @@ Per il normale utilizzo abilitare il controllo dell'hash ti protegge plugin <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + @@ -13746,7 +14526,7 @@ Per il normale utilizzo abilitare il controllo dell'hash ti protegge plugin Subscribe to Posted - + @@ -13762,7 +14542,7 @@ Per il normale utilizzo abilitare il controllo dell'hash ti protegge plugin Posted Description - + @@ -13772,7 +14552,7 @@ Per il normale utilizzo abilitare il controllo dell'hash ti protegge plugin New Posted - + @@ -13783,7 +14563,7 @@ Per il normale utilizzo abilitare il controllo dell'hash ti protegge plugin PostedItem - + 0 0 @@ -13794,7 +14574,7 @@ Per il normale utilizzo abilitare il controllo dell'hash ti protegge plugin - + Comments Commenti @@ -13829,7 +14609,17 @@ Per il normale utilizzo abilitare il controllo dell'hash ti protegge plugin Nuovo - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Cambia lo stato dei messaggi letti @@ -13839,7 +14629,7 @@ Per il normale utilizzo abilitare il controllo dell'hash ti protegge plugin Rimuovi Elemento - + Loading Sto caricando... @@ -14092,13 +14882,13 @@ Ora puoi copiarla su un altro computer e utilizzare il pulsante Importa per cari <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + @@ -14301,9 +15091,9 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation Conferma @@ -14313,7 +15103,7 @@ p, li { white-space: pre-wrap; } Vuoi che questo link sia gestito dal tuo sistema? - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. @@ -14321,7 +15111,7 @@ and open the Make Friend Wizard. - + Add file Aggiungi file @@ -14341,12 +15131,21 @@ and open the Make Friend Wizard. Vuoi elaborare il collegamento %1? - This file already exists. Do you want to open it ? - Questo file esiste già. Vuoi aprirlo? + Questo file esiste già. Vuoi aprirlo? - + + Warning: Retroshare is about to ask your system to open this file. + + + + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. %1 di %2 collegamenti RetroShare elaborati. @@ -14455,6 +15254,21 @@ and open the Make Friend Wizard. Channel messages not found Messaggi canale introvabili + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + + Recipient not accepted @@ -14498,7 +15312,7 @@ Caratteri <b>", |, \, &lt;&gt;,, *,?</b> saranno sostit Risultato - + Unable to make path Percorso Impossibile @@ -14513,7 +15327,7 @@ Caratteri <b>", |, \, &lt;&gt;,, *,?</b> saranno sostit Impossibile elaborare il file della raccolta - + Deny friend Rifiuta amico @@ -14533,7 +15347,7 @@ Caratteri <b>", |, \, &lt;&gt;,, *,?</b> saranno sostit Richiesta file cancellata - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. Questa versione di RetroShare usa OpenPGP-SDK. Come effetto collaterale, non utilizza il portachiavi PGP condiviso di sistema, ma ha il proprio portachiavi condiviso da tutte le istanze di RetroShare. <br><br>Non sembri avere un tale portachiavi, sebbene chiavi PGP siano menzionati da account RetroShare esistenti, probabilmente perché hai appena cambiato per questa nuova versione del software. @@ -14544,12 +15358,12 @@ Caratteri <b>", |, \, &lt;&gt;,, *,?</b> saranno sostit - + RetroShare RetroShare - + Initialization failed. Wrong or missing installation of PGP. Inizializzazione non riuscita. Errata o mancante installazione di PGP. @@ -14559,12 +15373,12 @@ Caratteri <b>", |, \, &lt;&gt;,, *,?</b> saranno sostit Si è verificato un errore imprevisto. Si prega di segnalare ' RsInit::InitRetroShare unexpected return code %1'. - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. Errore inatteso. Riferisci "RsInit::InitRetroShare unexpected return code %1". - + Multiple instances Istanze multiple @@ -14589,9 +15403,8 @@ Blocco del file: - Start with a RetroShare link is only supported for Windows. - Avviare RetroShare con un collegamento è supportato solo in Windows. + Avviare RetroShare con un collegamento è supportato solo in Windows. @@ -14620,17 +15433,17 @@ L’errore segnalato è: %2 - + Click to send a private message to %1 (%2). Clicca per inviare un messaggio privato a %1 (%2). %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) Clicca su questo link per inviare un messaggio privato a %1 (%2) @@ -14647,22 +15460,22 @@ L’errore segnalato è: TR up - + TR dn - + Data up - + Data dn - + @@ -14670,7 +15483,7 @@ L’errore segnalato è: Inoltro dati - + You appear to have nodes associated to DSA keys: Sembri avere nodi associati a chiavi DSA: @@ -14711,7 +15524,7 @@ L’errore segnalato è: - + %1 seconds ago %1 secondi fa @@ -14775,11 +15588,11 @@ L’errore segnalato è: Security: no anonymous IDs - + - - + + This cert is malformed. Error code: Questo certificato è malformato. Codice di errore: @@ -14789,7 +15602,7 @@ Security: no anonymous IDs Questo non è stato aggiunto alla lista da scaricare, perché già ce l'hai: - + Error Errore @@ -14811,12 +15624,12 @@ Security: no anonymous IDs <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14939,10 +15752,10 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -15009,9 +15822,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -15026,8 +15839,8 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> @@ -15209,7 +16022,7 @@ p, li { white-space: pre-wrap; } RSettingsWin - + Error Saving Configuration on page Errore Salvataggio Configurazione sulla pagina @@ -15319,7 +16132,7 @@ p, li { white-space: pre-wrap; } <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15439,12 +16252,12 @@ p, li { white-space: pre-wrap; } Scarica! - + File File - + Size Dimensione @@ -15461,7 +16274,7 @@ p, li { white-space: pre-wrap; } Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. Alcuni nomi di nomi di file o directory contenevano caratteri vietati. Caratteri <b>", |, \, &lt;&gt;,, *,?</b> saranno sostituiti da '_'. @@ -15480,7 +16293,7 @@ Caratteri <b>", |, \, &lt;&gt;,, *,?</b> saranno sostit <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + @@ -15508,12 +16321,17 @@ Caratteri <b>", |, \, &lt;&gt;,, *,?</b> saranno sostit Salva - + Collection Editor Editor di Raccolte - + + File Path + + + + File Count Conteggio File @@ -15523,16 +16341,16 @@ Caratteri <b>", |, \, &lt;&gt;,, *,?</b> saranno sostit Questa cartella è la root. - - + + Real Size: Waiting child... - + - - + + Real File Count: Waiting child... - + @@ -15683,7 +16501,7 @@ Se ritieni sia corretto, rimuovi dal file la riga corrispondente e ri-aprilo con RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? L'immagine è sovradimensionata per la trasmissione. @@ -15701,7 +16519,7 @@ Riduzione immagine a %1x%2 pixel? Rshare - + Resets ALL stored RetroShare settings. Ripristina TUTTI i parametri Retroshare memorizzati @@ -15741,7 +16559,7 @@ Riduzione immagine a %1x%2 pixel? Informazioni uso RetroShare - + Unable to open log file '%1': %2 Impossibile aprire file di LOG '%1': %2 @@ -15756,12 +16574,12 @@ Riduzione immagine a %1x%2 pixel? Impossibile creare la cartella dati: %1 - + Revision Revisione - + Invalid language code specified: Codice linguaggio incorretto: @@ -15776,6 +16594,15 @@ Riduzione immagine a %1x%2 pixel? Livello log incorretto: + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + + + RttStatistics @@ -16120,7 +16947,7 @@ Riduzione immagine a %1x%2 pixel? but reported: - + @@ -16405,7 +17232,7 @@ Riduzione immagine a %1x%2 pixel? If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. Se si deseleziona questo, RetroShare può determinare solo il tuo IP quando si connette a qualcuno. Lasciare questo selezionato, aiuta a connettersi quando si hanno pochi amici. Aiuta anche se sei dietro un firewall o una VPN. @@ -16538,7 +17365,7 @@ Controlla anche le tue porte! <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16641,12 +17468,12 @@ Controlla anche le tue porte! <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + @@ -16656,12 +17483,12 @@ Controlla anche le tue porte! <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + @@ -16673,11 +17500,11 @@ Controlla anche le tue porte! Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + @@ -16703,7 +17530,7 @@ You can connect to Hidden Nodes, even if you are running a standard Node, so why <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + @@ -16713,19 +17540,19 @@ You can connect to Hidden Nodes, even if you are running a standard Node, so why Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. @@ -17267,7 +18094,7 @@ Seleziona gli Amici con cui vuoi Condividere il Canale. Lobby - + @@ -17329,7 +18156,7 @@ Seleziona gli Amici con cui vuoi Condividere il Canale. SplashScreen - + Load profile Carica profilo @@ -17402,7 +18229,7 @@ Le identità/posizioni attuali non saranno toccate. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//IT" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17718,7 +18545,7 @@ Questa scelta può essere ripristinata in Impostazioni. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17731,7 +18558,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17895,17 +18722,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed Sottoscritto - + Unsubscribe Esci - + Subscribe Entra @@ -18024,11 +18851,11 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//IT "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -18103,7 +18930,7 @@ p, li { white-space: pre-wrap; } TransfersDialog - + Downloads Scaricamenti @@ -18114,7 +18941,7 @@ p, li { white-space: pre-wrap; } Caricamenti - + Name i.e: file name @@ -18384,39 +19211,39 @@ p, li { white-space: pre-wrap; } - + Failed Fallito - - + + Okay OK - - + + Waiting in attesa - + Downloading In scaricamento - + Complete Completo - + Queued Accodato @@ -18436,7 +19263,7 @@ p, li { white-space: pre-wrap; } Scononsciuto - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18522,7 +19349,7 @@ Sii paziente! Per favore inserisci un nuovo--e valido--nome per il file - + Last Time Seen i.e: Last Time Receiced Data Ultima volta visto @@ -18654,7 +19481,7 @@ Sii paziente! Visualizza colonna dei Percorsi - + Could not delete preview file Impossibile eliminare il file anteprima @@ -18664,7 +19491,7 @@ Sii paziente! Riprovare? - + Create Collection... Crea Raccolta... @@ -18684,22 +19511,22 @@ Sii paziente! Raccolta - + File sharing Condivisione dei file - + Anonymous tunnel 0x Tunnel anonimo 0x - + Show file list transfers - + - + version: versione: @@ -18858,12 +19685,12 @@ Sii paziente! Anonymous tunnels - + Authenticated tunnels - + @@ -19729,4 +20556,4 @@ Sii paziente! Immagini (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_ja_JP.ts b/retroshare-gui/src/lang/retroshare_ja_JP.ts index 8d15fb7fb..15669a676 100644 --- a/retroshare-gui/src/lang/retroshare_ja_JP.ts +++ b/retroshare-gui/src/lang/retroshare_ja_JP.ts @@ -1,15 +1,17 @@ - + + + AWidget version - + RetroShare version - + @@ -28,7 +30,7 @@ Copy Info - + @@ -61,7 +63,7 @@ Add Comment - + @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file このファイルはシステムのデフォルトのコマンドを決定できません @@ -143,117 +145,117 @@ Create Album - + Album Name: - + Category: - + Animals - + Family - + Friends - + Flowers - + Holiday - + Landscapes - + Pets - + Portraits - + Travel - + Work - + Random - + Caption: - + Where: - + Photographer: - + Description: - + Share Options - + Policy: - + Quality: - + Comments: - + Identity: - + @@ -263,51 +265,51 @@ Restricted - + Resize Images (< 1Mb) - + Resize Images (< 10Mb) - + Send Original Images - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with Identity - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + @@ -317,32 +319,32 @@ p, li { white-space: pre-wrap; } Add Photos - + Publish Album - + Untitle Album - + Say something about this album... - + Where were these taken? - + Load Album Thumbnail - + @@ -351,101 +353,101 @@ p, li { white-space: pre-wrap; } Album - + Album Thumbnail - + TextLabel - + Summary - + Album Title: - + Category: - + Caption - + Where: - + When - + Description: - + Share Options - + Comments - + Publish Identity - + Visibility - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Add Photo - + Edit Photo - + Delete Photo - + Publish Photos - + @@ -460,25 +462,25 @@ p, li { white-space: pre-wrap; } TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + @@ -491,12 +493,12 @@ p, li { white-space: pre-wrap; } Changes to language will only take effect after restarting RetroShare! - + Choose the language used in RetroShare - + @@ -506,7 +508,7 @@ p, li { white-space: pre-wrap; } Choose RetroShare's interface style - + @@ -521,134 +523,134 @@ p, li { white-space: pre-wrap; } Tool Bar - + On Tool Bar - + On List Item - + Where do you want to have the buttons for menu? - + On List Ite&m - + Where do you want to have the buttons for the page? - + Icon Only - + Text Only - + Text Beside Icon - + Text Under Icon - + Choose the style of Tool Buttons. - + Choose the style of List Items. - + Icon Size = 8x8 - + Icon Size = 16x16 - + Icon Size = 24x24 - + Icon Size = 64x64 - + Icon Size = 128x128 - + Status Bar - + Remove surplus text in status bar. - + Compact Mode - + Hide Sound Status - + Hide Toaster Disable - + Show SysTray on Status Bar - + Disable SysTray ToolTip - + Icon Size = 32x32 - + @@ -663,37 +665,37 @@ p, li { white-space: pre-wrap; } Warning: The services here are experimental. Please help us test them. But Remember: Any data here *WILL* be lost when we upgrade the protocols. - + Identities - + Circles - + GxsForums - + GxsChannels - + The Wire - + Photos - + @@ -719,17 +721,17 @@ p, li { white-space: pre-wrap; } Change Avatar - + Your Avatar Picture - + Add Avatar - + @@ -739,12 +741,12 @@ p, li { white-space: pre-wrap; } Set your Avatar picture - + Load Avatar - + @@ -758,9 +760,9 @@ p, li { white-space: pre-wrap; } BWGraphSource - + KB/s - + @@ -768,7 +770,7 @@ p, li { white-space: pre-wrap; } N/A - + @@ -851,23 +853,23 @@ p, li { white-space: pre-wrap; } Sum - + All - + KB/s - + Count - + カウント @@ -885,62 +887,62 @@ p, li { white-space: pre-wrap; } In (KB/s) - + InMax (KB/s) - + InQueue - + InAllocated (KB/s) - + Allocated Sent - + Out (KB/s) - + OutMax (KB/s) - + OutQueue - + OutAllowed (KB/s) - + Allowed Recvd - + TOTALS - + Totals - + @@ -953,42 +955,42 @@ p, li { white-space: pre-wrap; } Form - + フォーム Friend: - + Type: - + タイプ Up - + Down - + Service: - + Unit: - + Log scale - + @@ -996,12 +998,12 @@ p, li { white-space: pre-wrap; } Channels - + Tabs - + @@ -1011,12 +1013,12 @@ p, li { white-space: pre-wrap; } Load posts in background (Thread) - + Open each channel in a new tab - + @@ -1024,7 +1026,7 @@ p, li { white-space: pre-wrap; } Participants - + @@ -1034,45 +1036,50 @@ p, li { white-space: pre-wrap; } Mute participant - + + + + + Ban this person (Sets negative opinion) + Send Message - + Sort by Name - + Sort by Activity - + - + Invite friends to this lobby - + Leave this lobby (Unsubscribe) - + Invite friends - + Select friends to invite: - + - + Welcome to lobby %1 %1 のロビーにようこそ @@ -1085,10 +1092,10 @@ p, li { white-space: pre-wrap; } Lobby chat - + - + Lobby management @@ -1122,57 +1129,57 @@ p, li { white-space: pre-wrap; } Right click to mute/unmute participants<br/>Double click to address this person<br/> - + This participant is not active since: - + seconds - + - + Start private chat - + - + Decryption failed. - + Signature mismatch - + Unknown key - + Unknown hash - + Unknown error. - + Cannot start distant chat - + Distant chat cannot be initiated: - + @@ -1188,49 +1195,49 @@ p, li { white-space: pre-wrap; } Chat Lobbies - + You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + Unknown Lobby - + Remove All - + ChatLobbyWidget - + Chat lobbies - + - + Name 名前 @@ -1268,9 +1275,9 @@ p, li { white-space: pre-wrap; } [話題はありません] - + Selected lobby info - + @@ -1285,57 +1292,57 @@ p, li { white-space: pre-wrap; } Anonymous IDs accepted - + You're not subscribed to this lobby; Double click-it to enter and chat. - + Remove Auto Subscribe - + Add Auto Subscribe - + %1 invites you to chat lobby named %2 - + - + Search Chat lobbies - + Search Name - + Subscribed - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + Columns - + @@ -1348,19 +1355,19 @@ p, li { white-space: pre-wrap; } いいえ - + Lobby Name: - + Lobby Id: - + Topic: - + @@ -1370,12 +1377,12 @@ p, li { white-space: pre-wrap; } Security: - + Peers: - + @@ -1385,93 +1392,93 @@ p, li { white-space: pre-wrap; } TextLabel - + No lobby selected. Select lobbies at left to show details. Double click lobbies to enter and chat. - + Private Subscribed Lobbies - + Public Subscribed Lobbies - + Chat Lobbies - + Leave this lobby - + Enter this lobby - + Enter this lobby as... - + Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + You will need to create an identity in order to join chat lobbies. - + Choose an identity for this lobby: - + Create an identity and enter this lobby - + Show - + column - + @@ -1513,7 +1520,7 @@ Double click lobbies to enter and chat. キャンセル - + Quick Message クイックメッセージ @@ -1522,34 +1529,34 @@ Double click lobbies to enter and chat. ChatPage - + General 一般 - + Distant Chat - + Everyone - + Contacts - + Nobody - + Accept encrypted distant chat from - + @@ -1559,7 +1566,7 @@ Double click lobbies to enter and chat. Enable Emoticons Private Chat - + @@ -1569,47 +1576,52 @@ Double click lobbies to enter and chat. Enable custom fonts - + Enable custom font size - + Minimum font size - + Enable bold - + Enable italics - + Minimum text contrast - + Send message with Ctrl+Return Ctrl+Returnでメッセージを送信 + + + Send as plain text by default + + Chat Lobby - + Blink tab icon - + @@ -1619,22 +1631,22 @@ Double click lobbies to enter and chat. Open Window for new chat - + Grab Focus when chat arrives - + Use a single tabbed window - + Blink window/tab icon - + @@ -1673,21 +1685,21 @@ Double click lobbies to enter and chat. Variant - + Author: - + Description: - + @@ -1706,7 +1718,7 @@ Double click lobbies to enter and chat. 送信 - + Incoming message in history 受信メッセージ履歴 @@ -1743,12 +1755,12 @@ Double click lobbies to enter and chat. UserName - + /me is sending a message with /me - + @@ -1758,37 +1770,37 @@ Double click lobbies to enter and chat. <html><head/><body><p align="justify">In this tab you can setup how many chat messages Retroshare will keep saved on the disc and how much of the previous conversation it will display, for the different chat systems. The max storage period allows to discard old messages and prevents the chat history from filling up with volatile chat (e.g. chat lobbies and distant chat).</p></body></html> - + Chatlobbies - + Enabled: - + Saved messages (0 = unlimited): - + Number of messages restored (0 = off): - + Maximum storage period, in days (0=keep all): - + Search by default - + @@ -1798,73 +1810,73 @@ Double click lobbies to enter and chat. Whole Words - + Move to cursor - + Color All Text Found - + Color of found text - + Choose color of found text - + Maximum count for coloring matching text - + Threshold for automatic search - + Default identity for chat lobbies: - + Show Bar by default - + - + Private chat invite from - + Name : - + PGP id : - + Valid until : - + ChatStyle - + Standard style for group chat グループチャットの基本スタイル @@ -1918,12 +1930,12 @@ Double click lobbies to enter and chat. 閉じる - + Send 送信 - + Bold 太字 @@ -1938,12 +1950,12 @@ Double click lobbies to enter and chat. 斜体 - + Attach a Picture 画像を添付 - + Strike 取り消し線 @@ -1994,42 +2006,70 @@ Double click lobbies to enter and chat. フォントをデフォルトに戻す - + Quote - + Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... 書き込み中... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? 本当に履歴を削除しますか? - + Add Extra File さらにファイルを追加 @@ -2051,7 +2091,7 @@ Double click lobbies to enter and chat. appears to be Offline. - + @@ -2061,135 +2101,115 @@ Double click lobbies to enter and chat. is Idle and may not reply - + is Away and may not reply - + is Busy and may not reply - + - + Find Case Sensitively - + Find Whole Words - + Move To Cursor - + Don't stop to color after X items found (need more CPU) - + - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> - + <b>Find Next </b><br/><i>Ctrl+G</i> - + <b>Find </b><br/><i>Ctrl+F</i> - + - + (Status) - + - + Set text font & color - + Attach a File - + - + WARNING: Could take a long time on big history. - + Choose color - + - + <b>Mark this selected text</b><br><i>Ctrl+M</i> - + - - %1This message consists of %2 characters. - - - - + items found. - + No items found. - + <b>Return to marked text</b><br><i>Ctrl+M</i> - + - - Display Search Box - - - - - Search Box - - - - + Type a message here - + - + Don't stop to color after - + items found (need more CPU) - - - - - Warning: - + @@ -2197,25 +2217,25 @@ Double click lobbies to enter and chat. TextLabel - + Empty Circle - + CirclesDialog - + Showing details: - + Membership - + @@ -2230,19 +2250,19 @@ Double click lobbies to enter and chat. - + Personal Circles - + Public Circles - + Peers - + @@ -2256,98 +2276,98 @@ Double click lobbies to enter and chat. - + Friends - + Friends of Friends - + Others - + Permissions - + Anon Transfers - + Discovery - + Share Category - + Create Personal Circle - + Create External Circle - + Edit Circle - + Todo - + Friends Of Friends - + - + External Circles (Admin) - + External Circles (Subscribed) - + External Circles (Other) - + Circles - + ConfCertDialog - + Details 詳細 Node info - + @@ -2356,7 +2376,7 @@ Double click lobbies to enter and chat. - + Local Address ローカル アドレス @@ -2383,174 +2403,144 @@ Double click lobbies to enter and chat. アドレス リスト - - Include signatures - + + Use this certificate to make friends: + - - + + Include signatures + + + + + RetroShare RetroShare - - + + Error : cannot get peer details. エラー: ピア詳細を取得できません. - - Use as direct source, when available - - - - - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - - - - + Encryption - + Not connected - + Peer Addresses - + - - Options - - - - + Retroshare node details - + - + Node name : - + Status : - + Last Contact : - + Retroshare version : - + Node ID : - + PGP key : - + Retroshare Certificate - + - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + none - + <p>This certificate contains: - + <li>a <b>node ID</b> and <b>name</b> - + an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + <p>You can use this certificate to make new friends. Send it by email, or give it hand to hand.</p> - + - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + with - + external signatures</li> - + @@ -2558,93 +2548,93 @@ Double click lobbies to enter and chat. Connect Friend Wizard - + Add a new Friend - + &You get a certificate file from your friend - + &Make friend with selected friends of my friends - + Text certificate - + Use text representation of the PGP certificates. - + Include signatures - + Copy your Cert to Clipboard - + Save your Cert into a File - + Run Email program - + Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + Certificate files - + Use PGP certificates saved in files. - + Import friend's certificate... - + You have to generate a file with your certificate and give it to your friend. Also, you can use a file generated before. - + Export my certificate... - + Drag and Drop your friends's certificate in this Window or specify path in the box below - + @@ -2654,22 +2644,22 @@ Double click lobbies to enter and chat. Friends of friends - + Select now who you want to make friends with. - + Show me: - + Make friend with these peers - + @@ -2679,107 +2669,107 @@ Double click lobbies to enter and chat. Use RetroShare ID for adding a Friend which is available in your network. - + Add Friends RetroShare ID... - + Paste Friends RetroShare ID in the box below - + Enter the RetroShare ID of your Friend, e.g. Peer@BDE8D16A46D938CF - + RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + GMail - + Yahoo - + Outlook - + AOL - + Yandex - + Email - + Eメール Invite Friends by Email - + Enter your friends' email addresses (separate each one with a semicolon) - + Your friends' email addresses: - + Enter Friends Email addresses - + Subject: - + Friend request - + Details about the request - + Peer details - + @@ -2791,18 +2781,18 @@ Double click lobbies to enter and chat. Email: - + Node: - + Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + @@ -2814,72 +2804,72 @@ resources. Options - + This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + Add friend to group: - + Authenticate friend (Sign PGP Key) - + Add as friend to connect with - + To accept the Friend Request, click the Finish button. - + Sorry, some error appeared - + Here is the error message: - + @@ -2889,62 +2879,62 @@ resources. Details about your friend: - + Key validity: - + Signers - + This peer is already on your friend list. Adding it might just set it's ip address. - + Abnormal size read is bigger than memory block. - + Invalid external IP. - + Invalid local IP. - + Invalid checksum section. - + Checksum mismatch. Certificate is corrupted. - + Unknown section type found (Certificate might be corrupted). - + Missing checksum. - + Unknown certificate error - + @@ -2955,139 +2945,139 @@ resources. Cannot get peer details of PGP key %1 - + Any peer I've not signed - + Friends of my friends who already trust me - + Signed peers showing as denied - + Peer name - + Also signed by - + Peer id - + RetroShare Invitation - + Ultimate - + Full - + Marginal - + None - + No Trust - + You have a friend request from - + Certificate Load Failed:file %1 not found - + This Peer %1 is not available in your Network - + Use new certificate format (safer, more robust) - + Use old (backward compatible) certificate format - + Remove signatures - + RetroShare Invite - + No or misspelled BEGIN tag found - + No or misspelled END tag found - + No checksum found (the last 5 chars should be separated by a '=' char), or no newline after tag line (e.g. line beginning with Version:) - + Unknown error. Your cert is probably not even a certificate. - + Connect Friend Help - + You can copy this text and send it to your friend via email or some other way - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -3099,103 +3089,103 @@ resources. RetroShare Certificate (*.rsc );;All Files (*) - + Select Certificate - + Sorry, create certificate failed - + Please choose a filename - + Certificate file successfully created - + Sorry, certificate file creation failed - + *** None *** - + Use as direct source, when available - + IP-Addr: - + IP-Address - + Recommend many friends to each others - + Friend Recommendations - + The text below is your Retroshare certificate. You have to provide it to your friend - + Message: - + Recommend friends - + To - + Please select at least one friend for recommendation. - + Please select at least one friend as recipient. - + Add key to keyring - + This key is already in your keyring - + @@ -3203,69 +3193,69 @@ resources. This might be useful for sending distant messages to this peer even if you don't make friends. - + Certificate has wrong version number. Remember that v0.6 and v0.5 networks are incompatible. - + Invalid node id. - + Auto-download recommended files - + Can be used as direct source - + Require whitelist clearance to connect - + Add IP to whitelist - + No IP in this certificate! - + <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + Added with certificate from %1 - + Paste Cert of your friend from Clipboard - + Certificate Load Failed:can't read from file %1 - + Certificate Load Failed:something is wrong with %1 - + @@ -3273,228 +3263,228 @@ even if you don't make friends. Connection Progress - + Connecting to: - + TextLabel - + Network - + Net Result - + Connect Status - + Contact Result - + DHT Startup - + DHT Result - + Peer Lookup - + Peer Result - + UDP Setup - + UDP Result - + Connection Assistant - + Invalid Peer ID - + Unknown State - + Offline - + Behind Symmetric NAT - + Behind NAT & No DHT - + NET Restart - + Behind NAT - + No DHT - + NET STATE GOOD! - + DHT Failed - + DHT Disabled - + DHT Okay - + Finding RS Peers - + Lookup requires DHT - + Searching DHT - + Lookup Timeout - + Peer DHT NOT ACTIVE - + Lookup Failure - + Peer Offline - + Peer Firewalled - + Peer Online - + Connection In Progress - + Initial connections can take a while, please be patient - + If an error is detected it will be displayed here - + You can close this dialog at any time - + Retroshare will continue connecting in the background - + Connection Timeout - + Connection Attempt has taken too long - + But no error has been detected - + Try again shortly, Retroshare will continue connecting in the background - + @@ -3503,214 +3493,214 @@ even if you don't make friends. If you continue to get this message, please contact developers - + DHT Lookup Timeout - + DHT Lookup has taken too long - + UDP Connection Timeout - + UDP Connection has taken too long - + UDP Connection Failed - + We are continually working to improve connectivity. - + In this case the UDP connection attempt has failed. - + Improve connectivity by opening a Port in your Firewall. - + Connected - + Congratulations, you are connected - + DHT startup Failed - + Your DHT has not started properly - + Common causes of this problem are: - + - You are not connected to the Internet - + - You have a missing or out-of-date DHT bootstrap file (bdboot.txt) - + DHT is Disabled - + The DHT is OFF, so Retroshare cannot find your Friends. - + Retroshare has tried All Known Addresses, with no success - + The DHT is needed if your friends have Dynamic IP Addresses. - + Go to Settings->Server and change config to "Public: DHT and Discovery" - + Peer Denied Connection - + We successfully reached your Friend. - + but they have not added you as a Friend. - + Please contact them to add your Certificate - + Your Retroshare Node is configured Okay - + We successfully reached your Friend via UDP. - + Please contact them to add your Full Certificate - + We Cannot find your Friend. - + They are either offline or their DHT is Off - + Peer DHT is Disabled - + Your Friend has configured Retroshare with DHT Disabled. - + You have previously connected to this Friend - + Retroshare has determined that they have DHT switched off - + Without the DHT it is hard for Retroshare to locate your friend - + Try importing a fresh Certificate to get up-to-date connection information - + Incomplete Friend Details - + You have imported an incomplete Certificate - + Please retry importing the full Certificate - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> - + @@ -3718,109 +3708,97 @@ p, li { white-space: pre-wrap; } N/A - + UNVERIFIABLE FORWARD! - + UNVERIFIABLE FORWARD & NO DHT - + Searching - + UDP Connect Timeout - + Only Advanced Retroshare users should switch off the DHT. - + Retroshare cannot connect without this information - + They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details - + - - + Name 名前 - - Creator - - - - - Distribution - - - - + Public パブリック - - Self-Restricted - - - - - Restricted to: - - - - - Circle Membership - - - - + IDs ID - - Known Identities - - - - + Filter - + - + Nickname - + - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ID @@ -3830,136 +3808,214 @@ p, li { white-space: pre-wrap; } タイプ - - - - + + Name: + 名前: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + プライベート + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare RetroShare - + Please set a name for your Circle - + - - Personal Circle Details - - - - - External Circle Details - - - - - Cannot Edit Existing Circles Yet - - - - + No Restriction Circle Selected - + - + No Circle Limitations Selected - + - - Create New Personal Circle - - - - - Create New External Circle - - - - + Add 追加 Remove - + - + Search 検索 - + All - + Signed - + Signed by known nodes - + - + Edit Circle - + - - + PGP Identity - + - - - + + + Anon Id - + + + + + Circle name + + + + + Update + + Close + 閉じる + + + + + Create New Circle + + + + + Create + 作成 + + + PGP Linked Id - + + + + + Add Member + + + + + Remove Member + CreateGroup - + Create a Group - + + + + + Group Name: + + + + + Group ID: + - Group Name - 名前 + 名前 - + Enter a name for your group - + - + + To be defined + + + + Friends - + Edit Group - + @@ -3968,43 +4024,43 @@ p, li { white-space: pre-wrap; } New Channel Post - + Channel Post - + Channel Post to: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> - + Add File to Attach - + Add Channel Thumbnail - + Message - + @@ -4015,27 +4071,27 @@ p, li { white-space: pre-wrap; } Attachments - + Allow channels to get frame for message thumbnail from movie media attachments or not - + Auto Thumbnail - + Drag and Drop Files from Search Results - + Paste RetroShare Links - + @@ -4046,17 +4102,17 @@ p, li { white-space: pre-wrap; } Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + @@ -4072,7 +4128,7 @@ p, li { white-space: pre-wrap; } File already Added and Hashed - + @@ -4082,42 +4138,42 @@ p, li { white-space: pre-wrap; } Load thumbnail picture - + Generate mass data - + Do you really want to generate %1 messages ? - + You are about to add files you're not actually sharing. Do you still want this to happen? - + About to post un-owned files to a channel. - + CreateGxsForumMsg - + Post Forum Message - + Forum - + @@ -4127,42 +4183,42 @@ p, li { white-space: pre-wrap; } Attach File - + Sign Message - + Forum Post - + Attach files via drag and drop - + You can attach files via drag and drop here in this window - + Start New Thread - + - + No Forum - + - + In Reply to - + @@ -4174,54 +4230,64 @@ p, li { white-space: pre-wrap; } Please set a Forum Subject and Forum Message - + Please choose Signing Id, it is required - + Add Extra File さらにファイルを追加 + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data - + Do you really want to generate %1 messages ? - + - + Send 送信 - + Forum Message - + Forum Message has not been Sent. Do you want to reject this message? - + Post as - + Congrats, you found a bug! - + @@ -4230,82 +4296,82 @@ Do you want to reject this message? Create Chat Lobby - + A chat lobby is a decentralized and anonymous chat group. All participants receive all messages. Once the lobby is created you can invite other friends from the Friends tab. - + Lobby name: - + Lobby topic: - + Visibility: - + Public (Visible by friends) - + Private (Works on invitation only) - + <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + Security: - + Select the Friends with which you want to group chat. - + Invited friends - + Put a sensible lobby name here - + Set a descriptive topic here - + Contacts: - + Identity to use: - + @@ -4313,7 +4379,7 @@ Do you want to reject this message? Public Information - + @@ -4328,52 +4394,52 @@ Do you want to reject this message? Location ID: - + Software Version: - + Online since: - + Other Information - + Certificate - + Include signatures - + Save Key into a file - + A RetroShare link with your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + Error - + Your certificate could not be parsed correctly. Please contact the developers. - + @@ -4383,7 +4449,7 @@ Do you want to reject this message? Your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -4393,57 +4459,57 @@ Do you want to reject this message? RetroShare Certificate (*.rsc );;All Files (*) - + TextLabel - + PGP fingerprint: - + Node information - + PGP Id : - + Friend nodes: - + Copy certificate to clipboard - + Save certificate to file - + Node - + Create new node... - + show statistics window - + @@ -4451,7 +4517,7 @@ Do you want to reject this message? users - + @@ -4459,38 +4525,38 @@ Do you want to reject this message? DHT - + <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + DHT Off - + DHT Searching for RetroShare Peers - + RetroShare users in DHT (Total DHT users) - + DHT Good - + No peer found in DHT - + @@ -4498,27 +4564,27 @@ Do you want to reject this message? B - + KB - + MB - + GB - + File Never Seen - + @@ -4536,52 +4602,52 @@ Do you want to reject this message? Done - + Active - + Outstanding - + Needs checking - + retroshare link(s) - + retroshare link - + Copy link to clipboard - + Rating - + Comments - + File Name - + @@ -4589,27 +4655,27 @@ Do you want to reject this message? Net Status - + Connect Options - + Network Mode - + Nat Type - + Nat Hole - + @@ -4624,365 +4690,365 @@ Do you want to reject this message? PeerId - + DHT Status - + ConnectLogic - + Connect Status - + Connect Mode - + Request Status - + Cb Status - + RsId - + Bucket - + IP:Port - + Key - + Status Flags - + Found - + Last Sent - + Last Recv - + Relay Mode - + Source - + Proxy - + Destination - + Class - + Age - + Bandwidth - + IP - + Search IP - + Copy %1 to clipboard - + Unknown NetState - + Offline - + Local Net - + Behind NAT - + External IP - + UNKNOWN NAT STATE - + SYMMETRIC NAT - + DETERMINISTIC SYM NAT - + RESTRICTED CONE NAT - + FULL CONE NAT - + OTHER NAT - + NO NAT - + UNKNOWN NAT HOLE STATUS - + NO NAT HOLE - + UPNP FORWARD - + NATPMP FORWARD - + MANUAL FORWARD - + NET BAD: Unknown State - + NET BAD: Offline - + NET BAD: Behind Symmetric NAT - + NET BAD: Behind NAT & No DHT - + NET WARNING: NET Restart - + NET WARNING: Behind NAT - + NET WARNING: No DHT - + NET STATE GOOD! - + CAUTION: UNVERIFIABLE FORWARD! - + CAUTION: UNVERIFIABLE FORWARD & NO DHT - + Not Active (Maybe Connected!) - + Searching - + Failed - + offline - + Unreachable - + ONLINE - + Direct - + None - + Disconnected - + Udp Started - + Connected - + Request Active - + No Request - + Unknown - + RELAY END - + Yourself - + unknown - + unlimited - + Own Relay - + RELAY PROXY - + @@ -4991,27 +5057,27 @@ Do you want to reject this message? %1 secs ago - + %1B/s - + Relays - + 0x%1 EX:0x%2 - + never - + @@ -5019,113 +5085,113 @@ Do you want to reject this message? DHT - + Net Status: - + Network Mode: - + Nat Type: - + Nat Hole: - + Connect Mode: - + Peer Address: - + Unreach: - + Online: - + Offline: - + DHT Peers: - + Disconnected: - + Direct: - + Proxy: - + Relay: - + Filter: - + Search Network - + Peers - + Relay - + DHT Graph - + Proxy VIA - + Relay VIA - + @@ -5133,7 +5199,7 @@ Do you want to reject this message? Incoming Directory - + @@ -5144,87 +5210,87 @@ Do you want to reject this message? Partials Directory - + Shared Directories - + Automatically share incoming directory (Recommended) - + Edit Share - + Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. - + Remember hashed files for - + days - + Forget any hashed file that is not anymore shared. - + Clean Hash Cache - + Auto-check shared directories every - + minute(s) - + Cache cleaning confirmation - + This will forget any former hash of non shared files. Do you confirm ? - + Set Incoming Directory - + Set Partials Directory - + Directories - + @@ -5232,12 +5298,12 @@ you plug it in. Waiting outgoing discovery operations - + Waiting incoming discovery operations - + @@ -5245,7 +5311,7 @@ you plug it in. Start file - + @@ -5255,36 +5321,36 @@ you plug it in. to - + ignore case - + dd.MM.yyyy - + KB - + MB - + GB - + @@ -5292,12 +5358,12 @@ you plug it in. Expression Widget - + Delete this expression - + @@ -5305,52 +5371,52 @@ you plug it in. &New - + Add new Association - + &Edit - + Edit this Association - + &Remove - + Remove this Association - + File type - + Friend Help - + You this - + Associations - + @@ -5358,47 +5424,47 @@ you plug it in. Chunk map - + Active chunks - + Availability map (%1 active source) - + Availability map (%1 active sources) - + File info - + File name - + Destination folder - + File hash - + File size - + @@ -5406,52 +5472,52 @@ you plug it in. bytes - + Chunk size - + Number of chunks - + Transferred - + Remaining - + Number of sources - + Chunk strategy - + Transfer type - + Anonymous F2F - + Direct friend transfer / Availability assumed - + @@ -5459,73 +5525,73 @@ you plug it in. Picture - + Video - + Audio - + Archive - + Program - + CD/DVD-Image - + Document - + RetroShare collection file - + Subtitles - + Nintendo DS Rom - + Patch - + C++ - + Header - + C - + @@ -5533,37 +5599,37 @@ you plug it in. Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + Directory - + @@ -5571,37 +5637,37 @@ you plug it in. Misc - + Set message to read on activate - + Expand new messages - + Forum - + Load embedded images - + Tabs - + Open each forum in a new tab - + @@ -5614,59 +5680,59 @@ you plug it in. Hide Offline Friends - + export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + Show State - + Show Groups - + - + Group - + Friend - + Edit Group - + Remove Group - + @@ -5677,198 +5743,198 @@ you plug it in. Recommend this Friend to... - + Copy certificate link - + Add to group - + - + Search - + 検索 Sort by state - + - + Move to group - + Groups - + Remove from group - + Remove from all groups - + Expand all - + Collapse all - + Available - + - + Do you want to remove this Friend? - + - + Done! - + Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + Error - + Failed to get a file! - + File is not writeable! - + File is not readable! - + IP - + - + Attempt to connect - + Create new group - + Display - + 表示 Paste certificate link - + Node - + Remove Friend Node - + - + Do you want to remove this node? - + Friend nodes - + - + Send message to whole group - + @@ -5879,13 +5945,13 @@ at least one peer was not added to a group Deny - + Send message - + @@ -5893,17 +5959,17 @@ at least one peer was not added to a group Confirm Friend Request - + wants to be friend with you on RetroShare - + Unknown (Incoming) Connect Attempt - + @@ -5911,12 +5977,12 @@ at least one peer was not added to a group Search : - + Sort by state - + @@ -5926,17 +5992,17 @@ at least one peer was not added to a group Search Friends - + - + Mark all - + Mark none - + @@ -5944,13 +6010,13 @@ at least one peer was not added to a group Edit status message - + Broadcast - + @@ -5960,27 +6026,27 @@ at least one peer was not added to a group Add Friend - + Add your Avatar Picture - + A - + Set your status message - + Edit your status message - + @@ -6002,7 +6068,7 @@ at least one peer was not added to a group Add a new Group - + @@ -6018,12 +6084,12 @@ at least one peer was not added to a group Create new Chat lobby - + Choose Font - + @@ -6033,33 +6099,33 @@ at least one peer was not added to a group Keyring - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + Retroshare broadcast chat: messages are sent to all connected friends. - + Network - + Network graph - + Set your status message here. - + @@ -6067,7 +6133,7 @@ at least one peer was not added to a group Create new Profile - + @@ -6077,7 +6143,7 @@ at least one peer was not added to a group Enter your nickname here - + @@ -6089,27 +6155,27 @@ at least one peer was not added to a group Be careful: this email will be visible to your friends and friends of your friends. This information is required by PGP, but to stay anonymous, you can use a fake email. - + Password - + [Optional] Visible to your friends, and friends of friends. - + [Required] Examples: Home, Laptop,... - + [Required] Visible to your friends, and friends of friends. - + @@ -6119,22 +6185,27 @@ anonymous, you can use a fake email. Password (check) - + - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> - + [Required] Type the same password again here. - + Passwords do not match - + @@ -6145,227 +6216,222 @@ anonymous, you can use a fake email. This password is for PGP - + Node - + Create new node - + Generate new node - + Create a new node - + You can use it now to create a new node. - + Invalid hidden node - + Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile - + Import new profile - + Export selected profile - + Advanced options - + Create a hidden node - + Use profile - + hidden address - + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + Create new profile - + Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + Export profile - + RetroShare profile files (*.asc) - + Profile saved - + @@ -6374,77 +6440,77 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + Import profile - + Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6452,93 +6518,123 @@ Fill in your PGP password when asked, to sign your new key. Startup - + Start RetroShare when my system starts - + Start minimized - + Start minimized on system start - + For Advanced Users - + Enable Advanced Mode (Restart Required) - + Misc - + Do not show the Quit RetroShare MessageBox - + Auto Login - + - Register retroshare:// as URL protocol (Restart required) - + Register retroshare:// as URL protocol + You need administrator rights to change this option. - + - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle - + Idle Time - + seconds - + Launch startup wizard - + - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error - + Could not add retroshare:// as protocol. - + Could not remove retroshare:// protocol. - + @@ -6546,9 +6642,9 @@ Fill in your PGP password when asked, to sign your new key. 一般 - + Minimize to Tray Icon - + @@ -6557,55 +6653,55 @@ Fill in your PGP password when asked, to sign your new key. Getting Started - + Invite Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be sure to get their invitation back as well... </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can only connect with friends if you have both added each other.</span></p></body></html> - + Add Your Friends to RetroShare - + Add Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6617,31 +6713,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6654,107 +6750,107 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + Connect To Friends - + Advanced: Open Firewall Port - + Further Help and Support - + Open RS Website - + Open FAQ Wiki - + Open Online Forums - + Email Support - + Email Feedback - + RetroShare Invitation - + Your friend has installed RetroShare, and would like you to try it out. - + You can get RetroShare here: %1 - + RetroShare is a private Friend-2-Friend sharing network. - + forums and channels, all of which are as secure as the file-sharing. - + Here is your friends ID Certificate. - + Cut and paste the text below into your RetroShare client - + and send them your ID Certificate to get securely connected. - + Cut Below Here - + RetroShare Feedback - + RetroShare Support - + It has many features, including built-in chat, messaging, - + @@ -6762,82 +6858,82 @@ p, li { white-space: pre-wrap; } Router Statistics - + GroupBox - + ID - + ID Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + 詳細 Unknown Peer - + Pending packets - + Unknown - + @@ -6845,22 +6941,22 @@ p, li { white-space: pre-wrap; } Managed keys - + Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6868,7 +6964,15 @@ p, li { white-space: pre-wrap; } Show Group Chat - + + + + + GroupChooser + + + [Unknown] + @@ -6876,27 +6980,27 @@ p, li { white-space: pre-wrap; } Friends - + Family - + Co-Workers - + Other Contacts - + Favorites - + @@ -6904,78 +7008,78 @@ p, li { white-space: pre-wrap; } Directory is browsable for friends from groups - + Directory is NOT browsable for friends from groups - + Directory is accessible by anonymous tunnels from friends from groups - + Directory is NOT accessible by anonymous tunnels from friends from groups - + Directory is browsable for any friend - + Directory is NOT browsable for any friend - + Directory is accessible by anonymous tunnels from any friend - + Directory is NOT accessible by anonymous tunnels from any friend - + No one can browse this directory - + No one can anonymously access this directory. - + All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -6988,7 +7092,7 @@ p, li { white-space: pre-wrap; } Hide tabbar with one open tab - + @@ -6996,47 +7100,47 @@ p, li { white-space: pre-wrap; } Share - + Contacts: - + - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer - + - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7044,12 +7148,12 @@ p, li { white-space: pre-wrap; } Title - + Search Title - + @@ -7059,42 +7163,47 @@ p, li { white-space: pre-wrap; } Search Description - + Sort by Name - + Sort by Popularity - + Sort by Last Post - + Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + Display - + 表示 - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7102,17 +7211,17 @@ p, li { white-space: pre-wrap; } and - + and / or - + or - + @@ -7122,27 +7231,27 @@ p, li { white-space: pre-wrap; } Path - + Extension - + Hash - + Date - + Size - + @@ -7152,47 +7261,47 @@ p, li { white-space: pre-wrap; } contains - + contains all - + is - + less than - + less than or equal - + equals - + greater than or equal - + greater than - + is in range - + @@ -7201,7 +7310,7 @@ p, li { white-space: pre-wrap; } Channels - + @@ -7216,12 +7325,12 @@ p, li { white-space: pre-wrap; } My Channels - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + @@ -7241,7 +7350,7 @@ p, li { white-space: pre-wrap; } Select channel download directory - + @@ -7251,18 +7360,18 @@ p, li { white-space: pre-wrap; } Set download directory - + [Default directory] - + Specify... - + @@ -7280,42 +7389,42 @@ p, li { white-space: pre-wrap; } TextLabel - + Open folder - + Error - + Paused - + Waiting - + Checking - + Are you sure that you want to cancel and delete the file? - + Can't open folder - + @@ -7328,22 +7437,22 @@ p, li { white-space: pre-wrap; } Filename - + Size - + Title - + Published - + @@ -7356,32 +7465,32 @@ p, li { white-space: pre-wrap; } Create New Channel - + Channel - + Edit Channel - + Add Channel Admins - + Select Channel Admins - + Update Channel - + @@ -7437,6 +7546,16 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status 未読/既読の切り替え @@ -7447,7 +7566,7 @@ p, li { white-space: pre-wrap; } - + Play 再生 @@ -7455,7 +7574,7 @@ p, li { white-space: pre-wrap; } Comments - + @@ -7476,7 +7595,7 @@ p, li { white-space: pre-wrap; } Set as read and remove item - + @@ -7484,19 +7603,19 @@ p, li { white-space: pre-wrap; } アイテムを削除 - + Channel Feed チャンネルフィード - + Files ファイル Warning! You have less than %1 hours and %2 minute before this file is deleted Consider saving it. - + @@ -7511,7 +7630,7 @@ p, li { white-space: pre-wrap; } 0 - + 0 @@ -7521,27 +7640,27 @@ p, li { white-space: pre-wrap; } I like this - + I dislike this - + - + Loading ロード中 - + Open - + Open File - + @@ -7552,7 +7671,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel チャンネルに投稿 @@ -7564,37 +7683,37 @@ p, li { white-space: pre-wrap; } Search channels - + - + Title - + Search Title - + Message - + Search Message - + Filename - + Search Filename - + @@ -7602,7 +7721,32 @@ p, li { white-space: pre-wrap; } チャンネルが選択されていません。 - + + Public + パブリック + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download 自動ダウンロード無効 @@ -7614,17 +7758,33 @@ p, li { white-space: pre-wrap; } Show feeds - + Show files - + - + + Administrator: + + + + + + unknown + + + + + Distribution: + + + + Feeds - + @@ -7632,19 +7792,19 @@ p, li { white-space: pre-wrap; } ファイル - + Subscribers - + - + Description: - + - + Posts (at neighbor nodes): - + @@ -7652,7 +7812,7 @@ p, li { white-space: pre-wrap; } Channel Post - + @@ -7660,7 +7820,7 @@ p, li { white-space: pre-wrap; } Comment Container - + @@ -7673,7 +7833,7 @@ p, li { white-space: pre-wrap; } Hot - + @@ -7683,17 +7843,17 @@ p, li { white-space: pre-wrap; } Top - + Voter ID: - + Refresh - + @@ -7703,32 +7863,32 @@ p, li { white-space: pre-wrap; } Author - + Date - + Score - + UpVotes - + DownVotes - + OwnVote - + @@ -7736,22 +7896,22 @@ p, li { white-space: pre-wrap; } Reply to Comment - + Submit Comment - + Vote Up - + Vote Down - + @@ -7759,32 +7919,32 @@ p, li { white-space: pre-wrap; } Make Comment - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> - + Signed by - + Comment Signing Error - + You need to create an Identity before you can comment - + @@ -7792,32 +7952,32 @@ before you can comment Create New Forum - + Forum - + Edit Forum - + Update Forum - + Add Forum Admins - + Select Forum Admins - + @@ -7830,7 +7990,7 @@ before you can comment Subscribe to Forum - + @@ -7846,7 +8006,7 @@ before you can comment Forum Description - + @@ -7856,7 +8016,7 @@ before you can comment New Forum - + @@ -7870,12 +8030,12 @@ before you can comment Subject: - + Unsubscribe To Forum - + @@ -7886,7 +8046,7 @@ before you can comment Set as read and remove item - + @@ -7896,7 +8056,7 @@ before you can comment In Reply to: - + @@ -7906,7 +8066,7 @@ before you can comment Forum Feed - + @@ -7922,14 +8082,14 @@ before you can comment フォーム - + Start new Thread for Selected Forum - + Search forums - + @@ -7939,145 +8099,145 @@ before you can comment Threaded View - + Flat View - + - + Title - + Date - + - + Author - + Save image - + - + Loading ロード中 Reply Message - + Previous Thread - + Next Thread - + Download all files - + Next unread - + Search Title - + Search Date - + Search Author - + Content - + Search Content - + No name - + Reply - + Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + Start New Thread - + Expand all - + Collapse all - + Mark as read - + with children - + Mark as unread - + @@ -8097,73 +8257,113 @@ before you can comment This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + パブリック + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + + + + Anti-spam - + [ ... Redacted message ... ] - + Anonymous - + signed - + none - + [ ... Missing Message ... ] - + <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8178,35 +8378,35 @@ before you can comment No Forum Selected! - + You cant reply to a non-existant Message - + You cant reply to an Anonymous Author - + Original Message - + From - + Sent - + @@ -8216,42 +8416,42 @@ before you can comment On %1, %2 wrote: - + - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description 説明 By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8259,7 +8459,7 @@ before you can comment Forum Post - + @@ -8267,38 +8467,38 @@ before you can comment <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + Forums - + Create Forum - + My Forums - + Subscribed Forums - + Popular Forums - + Other Forums - + @@ -8306,12 +8506,12 @@ before you can comment Waiting - + Retrieving - + @@ -8322,256 +8522,325 @@ before you can comment GxsGroupDialog - - + + Name 名前 - + Add Icon - + Key recipients can publish to restricted-type group and can view and publish for private-type channels - + Share Publish Key - + - + check peers you would like to share private publish key with - + Share Key With - + - - + + Description 説明 - + Message Distribution - + - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public パブリック - - - Restricted to Group - - - - - + Only For Your Friends - + - + Publish Signatures - + Open - + New Thread - + Required - + Encrypted Msgs - + Personal Signatures - + PGP Required - + Signature Required - + If No Publish Signature - + - Comments - + - + Allow Comments - + No Comments - + Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: - + - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name 名前を追加してください - + + PGP signature from known ID required + + + + Load Group Logo - + - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback - + Owner: - + - + Set a descriptive description here - + - + Info 情報 - - Comments allowed - - - - - Comments not allowed - - - - + ID ID - + Last Post 最新の投稿 + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity 人気度 - - - Posts - - - Type - タイプ + Posts + - + Type + タイプ + + + Author - + GxsIdLabel - + @@ -8584,17 +8853,17 @@ before you can comment Todo - + Print - + PrintPreview - + @@ -8609,116 +8878,116 @@ before you can comment Open in new tab - + Show Details - + Edit Details - + - + + Share publish permissions + + + + Copy RetroShare Link RetroShareリンクをコピー Mark all as read - + Mark all as unread - + - + AUTHD - - - - - Share admin permissions - + GxsIdChooser - + No Signature - + - + Create new Identity - + GxsIdDetails - + Loading ロード中 Not found - + No Signature - + [Banned] - + Authentication - + unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8731,7 +9000,7 @@ before you can comment No name - + @@ -8739,42 +9008,42 @@ before you can comment Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + @@ -8783,17 +9052,17 @@ before you can comment Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + @@ -8853,7 +9122,7 @@ before you can comment Found Documents - + @@ -8868,7 +9137,7 @@ before you can comment Backspace - + @@ -8883,7 +9152,7 @@ before you can comment Shift+Backspace - + @@ -8898,7 +9167,7 @@ before you can comment Ctrl+H - + @@ -8915,7 +9184,7 @@ before you can comment Ctrl+F - + @@ -8925,12 +9194,12 @@ before you can comment Close Vidalia Help - + Esc - + @@ -8961,7 +9230,7 @@ before you can comment Error Loading Help Contents: - + @@ -8974,22 +9243,22 @@ before you can comment Authors - + Thanks to - + Translation - + License Agreement - + @@ -8998,14 +9267,14 @@ before you can comment p, li { white-space: pre-wrap; } </style></head><body style=" font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; font-weight:600;">About RetroShare</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9016,14 +9285,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Swedish: </span><span style=" font-size:8pt;"> Daniel Wester</span><span style=" font-size:8pt; font-weight:600;"> &lt;</span><span style=" font-size:8pt;">wester@speedmail.se</span><span style=" font-size:8pt; font-weight:600;">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">German: </span><span style=" font-size:8pt;">Jan</span><span style=" font-size:8pt; font-weight:600;"> </span><span style=" font-size:8pt;">Keller</span> &lt;<span style=" font-size:8pt;">trilarion@users.sourceforge.net</span>&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polish: </span>Maciej Mrug</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9033,16 +9302,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + Libraries - + @@ -9075,26 +9344,26 @@ p, li { white-space: pre-wrap; } Error opening help file: - + IdDetailsDialog - + Person Details - + Identity Info - + Owner node ID : - + @@ -9104,61 +9373,61 @@ p, li { white-space: pre-wrap; } Owner node name : - + Identity name : - + Identity ID : - + Last used: - + Your Avatar Click here to change your avatar - + Reputation - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9168,119 +9437,120 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + Unknown real name - + Anonymous Id - + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + OK Banned - + IdDialog - + + New ID - + - - + + All - + Reputation - + @@ -9288,97 +9558,129 @@ p, li { white-space: pre-wrap; } 検索 - - Unknown real name - - - - + Anonymous Id - + - + Create new Identity - + + + + + Create new circle + Persons - + - + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + + + + + Circle name + + + + + Membership + + + + + Public Circles + + + + + Personal Circles + + + + Edit identity - + Delete identity - + Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID - + - + Send message - + - + Identity info - + Identity ID : - + Owner node name : - + @@ -9388,277 +9690,480 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous - + - + ID - + ID Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + パブリック + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + OK - + OK Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People - + Your Avatar Click here to change your avatar - + - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9666,43 +10171,43 @@ p, li { white-space: pre-wrap; } Nickname - + Key ID - + PGP Name - + PGP Hash - + PGP Id - + Pseudonym - + New identity - + To be generated - + @@ -9715,38 +10220,38 @@ p, li { white-space: pre-wrap; } N/A - + Edit identity - + Error getting key! - + Error KeyID invalid - + Unknown GpgId - + Unknown real name - + Create New Identity - + @@ -9761,7 +10266,7 @@ p, li { white-space: pre-wrap; } TextLabel - + @@ -9770,7 +10275,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9781,32 +10286,32 @@ p, li { white-space: pre-wrap; } Your Avatar Click here to change your avatar - + Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9819,12 +10324,12 @@ p, li { white-space: pre-wrap; } KeyId - + GXSId - + @@ -9834,27 +10339,27 @@ p, li { white-space: pre-wrap; } - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9863,13 +10368,13 @@ p, li { white-space: pre-wrap; } Message History - + - + Copy - + @@ -9879,17 +10384,17 @@ p, li { white-space: pre-wrap; } Mark all - + Delete - + Clear history - + @@ -9903,17 +10408,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -9922,77 +10427,77 @@ p, li { white-space: pre-wrap; } Open File - + Open Folder - + Edit Share Permissions - + Checking... - + Check files - + Edit Shared Folder - + Recommend in a message to - + Set command for opening this file - + Collection - + MainWindow - + Add Friend - + Add a Friend Wizard - + Add Share - + - + Options - + Messenger - + @@ -10003,7 +10508,7 @@ p, li { white-space: pre-wrap; } SMPlayer - + @@ -10015,22 +10520,22 @@ p, li { white-space: pre-wrap; } Quick Start Wizard - + - + RetroShare %1 a secure decentralized communication platform - + - + Unfinished - + Low disk space warning - + @@ -10039,12 +10544,12 @@ p, li { white-space: pre-wrap; } RetroShare will now safely suspend any disk access to this directory. Please make some free space and click Ok. - + Show/Hide - + @@ -10054,27 +10559,27 @@ p, li { white-space: pre-wrap; } Notify - + Open Messenger - + Open Messages - + Bandwidth Graph - + Applications - + @@ -10084,17 +10589,17 @@ p, li { white-space: pre-wrap; } Minimize - + Maximize - + &Quit - + @@ -10104,42 +10609,42 @@ p, li { white-space: pre-wrap; } %1 new message - + %1 new messages - + Down: %1 (kB/s) - + Up: %1 (kB/s) - + %1 friend connected - + %1 friends connected - + Do you really want to exit RetroShare ? - + - + Internal Error - + @@ -10149,127 +10654,127 @@ p, li { white-space: pre-wrap; } Show - + Make sure this link has not been forged to drag you to a malicious website. - + Don't ask me again - + It seems to be an old RetroShare link. Please use copy instead. - + The file link is malformed. - + ServicePermissions - + Service permissions matrix - + - + Add 追加 Statistics - + Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose - + Contacts - + Paragraph - + Heading 1 - + Heading 2 - + Heading 3 - + Heading 4 - + Heading 5 - + Heading 6 - + Font size - + Increase font size - + @@ -10289,17 +10794,17 @@ p, li { white-space: pre-wrap; } Alignment - + Add an Image - + Sets text font to code style - + @@ -10309,58 +10814,58 @@ p, li { white-space: pre-wrap; } Subject: - + Tags: - + - + Tags - + Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + Recommended Files - + File Name - + Size - + Hash - + @@ -10370,17 +10875,17 @@ p, li { white-space: pre-wrap; } Send this message now - + Reply - + Toggle Contacts View - + @@ -10390,104 +10895,104 @@ p, li { white-space: pre-wrap; } Save this message - + Attach - + Attach File - + Quote - + Add Blockquote - + Send To: - + &Left - + C&enter - + &Right - + &Justify - + All addresses (mixed) - + All people - + My contacts - + Hello,<br>I recommend a good friend of mine; you can trust them too when you trust me. <br> - + You have a friend recommendation - + This friend is suggested by - + wants to be friends with you on RetroShare - + Hi %1,<br><br>%2 wants to be friends with you on RetroShare.<br><br>Respond now:<br>%3<br><br>Thanks,<br>The RetroShare Team - + - + Save Message - + Message has not been Sent. Do you want to save message to draft box? - + @@ -10497,51 +11002,51 @@ Do you want to save message to draft box? Add to "To" - + Add to "CC" - + Add to "BCC" - + Add as Recommend - + Original Message - + From - + To - + Cc - + Sent - + @@ -10551,17 +11056,17 @@ Do you want to save message to draft box? On %1, %2 wrote: - + Re: - + Fwd: - + @@ -10573,133 +11078,133 @@ Do you want to save message to draft box? Do you want to send the message without a subject ? - + Please insert at least one recipient. - + Bcc - + Unknown - + &File - + &New - + &Open... - + &Save - + Save &As File - + Save &As Draft - + &Print... - + &Export PDF... - + &Quit - + &Edit - + &Undo - + &Redo - + Cu&t - + &Copy - + &Paste - + &View - + &Contacts Sidebar - + &Insert - + &Image - + &Horizontal Line - + &Format - + Details - + 詳細 @@ -10710,7 +11215,7 @@ Do you want to save message to draft box? HTML-Files (*.htm *.html);;All Files (*) - + @@ -10720,28 +11225,28 @@ Do you want to save message to draft box? Print Document - + Export PDF - + Message has not been Sent. Do you want to save message ? - + Choose Image - + Image Files supported (*.png *.jpeg *.jpg *.gif) - + @@ -10756,77 +11261,77 @@ Do you want to save message ? From: - + - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10834,47 +11339,47 @@ Do you want to save message ? Everyone - + Contacts - + Nobody - + Accept encrypted distant messages from - + Reading - + Set message to read on activate - + Open messages in - + Tags - + Tags can be used to categorize and prioritize your messages - + @@ -10884,47 +11389,47 @@ Do you want to save message ? Edit - + Delete - + Default - + A new tab - + A new window - + Edit Tag - + Message - + Distant messages: - + Load embedded images - + @@ -10932,7 +11437,7 @@ Do you want to save message ? Sub: - + @@ -10940,7 +11445,7 @@ Do you want to save message ? Message - + @@ -10948,82 +11453,82 @@ Do you want to save message ? Recommended Files - + Download all Recommended Files - + Subject: - + From: - + To: - + Cc: - + Bcc: - + Tags: - + File Name - + Size - + Hash - + Print - + Print Preview - + Confirm %1 as friend - + Add %1 as friend - + No subject - + @@ -11034,12 +11539,12 @@ Do you want to save message ? Download all - + Print Document - + @@ -11049,22 +11554,22 @@ Do you want to save message ? HTML-Files (*.htm *.html);;All Files (*) - + Load images always for this message - + Hide the attachment pane - + Show the attachment pane - + @@ -11072,37 +11577,37 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + @@ -11112,23 +11617,23 @@ Do you want to save message ? Remove selected message - + Delete - + Print selected message - + Print - + @@ -11140,63 +11645,63 @@ Do you want to save message ? Tags - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + &File - + Save &As File - + &Print... - + Print Preview... - + &Quit - + @@ -11205,62 +11710,62 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Foward - + Remove selected message - + Delete - + Print selected message - + Print - + @@ -11274,7 +11779,7 @@ Do you want to save message ? Tags - + @@ -11282,7 +11787,7 @@ Do you want to save message ? Inbox - + @@ -11290,18 +11795,18 @@ Do you want to save message ? Outbox - + Draft - + Sent - + @@ -11309,80 +11814,80 @@ Do you want to save message ? Trash - + Total Inbox: - + Folders - + Quick View - + Print... - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + Save As... - + Reply to Message - + Reply to All - + Forward Message - + @@ -11395,105 +11900,105 @@ Do you want to save message ? From - + Date - + Content - + Click to sort by attachments - + Click to sort by subject - + Click to sort by read - + Click to sort by from - + Click to sort by date - + Click to sort by tags - + Click to sort by star - + Forward selected Message - + Search Subject - + Search From - + Search Date - + Search Content - + Search Tags - + Attachments - + Search Attachments - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + Starred - + @@ -11503,89 +12008,89 @@ Do you want to save message ? Open in a new window - + Open in a new tab - + Mark as read - + Mark as unread - + Add Star - + Edit - + Edit as new - + Remove Messages - + Remove Message - + Undelete - + Empty trash - + Drafts - + No starred messages available. Stars let you give messages a special status to make them easier to find. To star a message, click on the light gray star beside any message. - + No system messages available. - + To - + Click to sort by to - + This message goes to a distant person. - + @@ -11594,33 +12099,33 @@ Do you want to save message ? Total: - + Messages - + Click to sort by signature - + This message was signed and the signature checks - + This message was signed but the signature doesn't check - + This message comes from a distant person. - + @@ -11628,17 +12133,17 @@ Do you want to save message ? RetroShare Messenger - + - + Add a Friend - + Share files for your friends - + @@ -11646,17 +12151,17 @@ Do you want to save message ? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + @@ -11666,7 +12171,7 @@ Do you want to save message ? Paste my certificate link - + @@ -11674,17 +12179,17 @@ Do you want to save message ? Reply to Message - + Reply Message - + Delete Message - + @@ -11705,22 +12210,22 @@ Do you want to save message ? Message From - + Sent Msg - + Draft Msg - + Pending Msg - + @@ -11733,52 +12238,52 @@ Do you want to save message ? <strong>NAT:</strong> - + Network Status Unknown - + Offline - + Nasty Firewall - + DHT Disabled and Firewalled - + Network Restarting - + Behind Firewall - + DHT Disabled - + RetroShare Server - + Forwarded Port - + @@ -11786,12 +12291,12 @@ Do you want to save message ? Filter: - + Search Network - + @@ -11803,89 +12308,89 @@ Do you want to save message ? Did I authenticated peer - + Did I sign his PGP key - + Did peer authenticated me - + Cert Id - + Last used - + Clear - + Set Tabs Right - + Set Tabs North - + Set Tabs South - + Set Tabs Left - + Set Tabs Rounded - + Set Tabs Triangular - + Add Friend - + Copy My Key to Clipboard - + Export My Key - + Create New Profile - + Create a new Profile - + @@ -11895,37 +12400,37 @@ Do you want to save message ? Deny friend - + Peer details... - + Remove unused keys... - + Clean keyring - + - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. The removal may fail when running multiple Retroshare instances on the same machine. - + Keyring info - + @@ -11933,165 +12438,165 @@ Notes: Your old keyring will be backed up. For security, your keyring was previously backed-up to file - + Unknown error - + Cannot delete secret keys - + Cannot create backup file. Check for permissions in pgp directory, disk space, etc. - + Personal signature - + PGP key signed by you - + Marginally trusted peer - + Fully trusted peer - + Untrusted peer - + Has authenticated me - + Unknown - + Last hour - + Today - + Never - + %1 days ago - + has authenticated you. Right-click and select 'make friend' to be able to connect. - + yourself - + Data inconsistency in the keyring. This is most probably a bug. Please contact the developers. - + Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12099,7 +12604,7 @@ Reported error: Network - + @@ -12107,22 +12612,22 @@ Reported error: Redraw - + Friendship level: - + Edge length: - + Freeze - + @@ -12130,7 +12635,7 @@ Reported error: New Tag - + @@ -12140,7 +12645,7 @@ Reported error: Choose color - + @@ -12163,17 +12668,17 @@ Reported error: Options - + Remove All - + This is a test. - + @@ -12183,17 +12688,17 @@ Reported error: Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12206,22 +12711,22 @@ Reported error: Channels - + Forums - + Blogs - + Messages - + @@ -12231,56 +12736,56 @@ Reported error: Security - + Test - + Systray Icon - + Message - + Connect attempt - + Toasters - + Friend Connect - + Ip security - + New Message - + Download completed - + @@ -12295,27 +12800,27 @@ Reported error: Chat Lobby - + Position - + X Margin - + Y Margin - + Systray message - + @@ -12325,166 +12830,166 @@ Reported error: Chat lobbies - + Combined - + Blink - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + Top Left - + Top Right - + Bottom Left - + Bottom Right - + Notify - + Disable All Toasters - + Posted - + Disable All Toaster temporarily - + Feed - + Systray - + Chat Lobbies - + Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase - + Wrong password ! - + Unregistered plugin/executable - + RetroShare has detected an unregistered plugin. This happens in two cases:<UL><LI>Your RetroShare executable has changed.</LI><LI>The plugin has changed</LI></UL>Click on Yes to authorize this plugin, or No to deny it. You can change your mind later in Options -> Plugins, then restart. - + - + Please check your system clock. - + - + Examining shared files... - + Hashing file - + Saving file index... - + Test - + This is a test. - + Unknown title - + Encrypted message - + - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12492,7 +12997,7 @@ Reported error: Friend Online - + @@ -12500,30 +13005,30 @@ Reported error: Normal Mode - + No Anon D/L - + Gaming Mode - + Low Traffic - + - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers - + @@ -12531,171 +13036,232 @@ Reported error: Dialog - + PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + Unknown - + No trust - + Marginal - + Full - + Ultimate - + Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign PGP key - + <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures - + + + + + Options + + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + PGP Key details - + - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. エラー: ピア詳細を取得できません. - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) - + - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + @@ -12713,28 +13279,28 @@ p, li { white-space: pre-wrap; } このピアへのあなたの信頼はなしです. - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure 署名失敗 @@ -12744,19 +13310,19 @@ p, li { white-space: pre-wrap; } おそらくパスワードが間違っています - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12769,7 +13335,7 @@ p, li { white-space: pre-wrap; } Unknown - + @@ -12803,12 +13369,12 @@ p, li { white-space: pre-wrap; } Peer ID: - + Trust: - + @@ -12818,12 +13384,12 @@ p, li { white-space: pre-wrap; } IP Address: - + Connection Method: - + @@ -12838,27 +13404,27 @@ p, li { white-space: pre-wrap; } Friend - + Friend Connected - + Connect Attempt - + Friend of Friend - + Peer - + @@ -12871,7 +13437,7 @@ p, li { white-space: pre-wrap; } Unknown Peer - + @@ -12881,7 +13447,7 @@ p, li { white-space: pre-wrap; } Send Message - + @@ -12889,42 +13455,96 @@ p, li { white-space: pre-wrap; } Friends: 0/0 - + Online Friends/Total Friends - + Friends - + PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -12940,17 +13560,17 @@ p, li { white-space: pre-wrap; } PhotoShare - + Photo - + TextLabel - + @@ -12960,27 +13580,27 @@ p, li { white-space: pre-wrap; } Summary - + Caption - + Where: - + Photo Title: - + When - + @@ -12990,12 +13610,12 @@ p, li { white-space: pre-wrap; } Add Comment - + Write a comment... - + @@ -13008,34 +13628,34 @@ p, li { white-space: pre-wrap; } TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> - + @@ -13048,53 +13668,53 @@ p, li { white-space: pre-wrap; } Create Album - + View Album - + Subscribe To Album - + Slide Show - + My Albums - + Subscribed Albums - + Shared Albums - + View Photo - + PhotoShare - + Please select an album before requesting to edit it! - + @@ -13102,33 +13722,33 @@ requesting to edit it! Album Name - + Image - + Show/Hide Details - + << - + Stop - + >> - + @@ -13138,17 +13758,17 @@ requesting to edit it! Start - + Start Slide Show - + Stop Slide Show - + @@ -13164,26 +13784,26 @@ requesting to edit it! TextLabel - + Show more details about this plugin - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> - + Enable this plugin (restart required) - + @@ -13193,22 +13813,22 @@ p, li { white-space: pre-wrap; } Disable this plugin (restart required) - + Disable - + Launch configuration panel, if provided by the plugin - + Configure - + @@ -13218,22 +13838,22 @@ p, li { white-space: pre-wrap; } File name: - + File hash: - + Status: - + will be enabled after your restart RetroShare. - + @@ -13241,37 +13861,37 @@ p, li { white-space: pre-wrap; } base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13279,22 +13899,22 @@ p, li { white-space: pre-wrap; } Install New Plugin... - + Open Plugin to install - + Plugins (*.so *.dll) - + Widget for plugin %1 not found on plugins frame - + @@ -13302,27 +13922,27 @@ p, li { white-space: pre-wrap; } Authorize all plugins - + Plugin look-up directories - + Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + No API number supplied. Please read plugin development manual. - + @@ -13331,37 +13951,37 @@ p, li { white-space: pre-wrap; } [loading problem] - + No SVN number supplied. Please read plugin development manual. - + Loading error. - + Missing symbol. Wrong version? - + No plugin object - + Plugins is loaded. - + Unknown status. - + @@ -13369,18 +13989,18 @@ p, li { white-space: pre-wrap; } be checked for the hash. However, in normal times, checking the hash protects you from malicious behavior of crafted plugins. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + Plugins - + @@ -13396,17 +14016,17 @@ malicious behavior of crafted plugins. Clear offline messages - + Hide Avatar - + Show Avatar - + @@ -13414,36 +14034,36 @@ malicious behavior of crafted plugins. Avatar - + Set your Avatar Picture - + Dock tab - + Undock tab - + Set Chat Window Color - + Set window on top - + @@ -13451,32 +14071,32 @@ malicious behavior of crafted plugins. Chat remotely closed. Please close this window. - + The person you're talking to has deleted the secured chat tunnel. You may remove the chat window now. - + Closing this window will end the conversation, notify the peer and remove the encrypted tunnel. - + Kill the tunnel? - + Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13484,12 +14104,12 @@ malicious behavior of crafted plugins. Signed by: - + Notes - + @@ -13499,42 +14119,42 @@ malicious behavior of crafted plugins. Please create or choose a Signing Id first - + Submit Post - + You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + Submit - + Submit a new Post - + Please add a Title - + Title - + Link - + @@ -13542,42 +14162,42 @@ malicious behavior of crafted plugins. Posted Links - + Posted - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + My Topics - + Subscribed Topics - + Popular Topics - + Other Topics - + @@ -13585,32 +14205,32 @@ malicious behavior of crafted plugins. Posted Topic - + Add Topic Admins - + Select Topic Admins - + Create New Topic - + Edit Topic - + Update Topic - + @@ -13623,7 +14243,7 @@ malicious behavior of crafted plugins. Subscribe to Posted - + @@ -13639,7 +14259,7 @@ malicious behavior of crafted plugins. Posted Description - + @@ -13649,7 +14269,7 @@ malicious behavior of crafted plugins. New Posted - + @@ -13660,20 +14280,20 @@ malicious behavior of crafted plugins. PostedItem - + 0 - + 0 Site - + - + Comments - + @@ -13683,22 +14303,22 @@ malicious behavior of crafted plugins. Vote up - + Vote down - + \/ - + Set as read and remove item - + @@ -13706,7 +14326,17 @@ malicious behavior of crafted plugins. 新規 - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status 未読/既読の切り替え @@ -13716,14 +14346,14 @@ malicious behavior of crafted plugins. アイテムを削除 - + Loading ロード中 By - + @@ -13736,7 +14366,7 @@ malicious behavior of crafted plugins. Hot - + @@ -13746,42 +14376,42 @@ malicious behavior of crafted plugins. Top - + Today - + Yesterday - + This Week - + This Month - + This Year - + Submit a new Post - + Next - + @@ -13791,17 +14421,17 @@ malicious behavior of crafted plugins. Please create or choose a Signing Id before Voting - + Previous - + 1-10 - + 1-10 @@ -13809,17 +14439,17 @@ malicious behavior of crafted plugins. Tabs - + Posted - + Open each topic in a new tab - + @@ -13827,7 +14457,7 @@ malicious behavior of crafted plugins. Posted - + @@ -13835,37 +14465,37 @@ malicious behavior of crafted plugins. RetroShare Message - Print Preview - + Print - + &Print... - + Page Setup... - + Zoom In - + Zoom Out - + &Close - + @@ -13874,7 +14504,7 @@ malicious behavior of crafted plugins. Profile Manager - + @@ -13889,24 +14519,24 @@ malicious behavior of crafted plugins. GID - + Export Identity - + RetroShare Identity files (*.asc) - + Identity saved - + @@ -13915,42 +14545,42 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Identity not saved - + Your identity was not saved. An error occurred. - + Import Identity - + Identity not loaded - + Your identity was not loaded properly: - + New identity imported - + Your identity was imported successfully: - + @@ -13967,28 +14597,28 @@ and use the import button to load it <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + You can use it now to create a new node. - + @@ -13997,22 +14627,22 @@ p, li { white-space: pre-wrap; } Edit status message - + Copy Certificate - + Profile Manager - + Public Information - + @@ -14027,52 +14657,52 @@ p, li { white-space: pre-wrap; } Peer ID: - + Number of Friends: - + Version: - + Online since: - + Other Information - + My Address - + Local Address: - + External Address: - + Dynamic DNS: - + Addresses list: - + @@ -14083,12 +14713,12 @@ p, li { white-space: pre-wrap; } Sorry, create certificate failed - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -14096,51 +14726,51 @@ p, li { white-space: pre-wrap; } Post From: - + Account 1 - + Account 2 - + Account 3 - + Add to Pulse - + filter - + URL Adder - + Display As - + URL - + @@ -14150,7 +14780,7 @@ p, li { white-space: pre-wrap; } Post Pulse to Wire - + @@ -14158,12 +14788,12 @@ p, li { white-space: pre-wrap; } From - + Date - + @@ -14176,305 +14806,320 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation - + Do you want this link to be handled by your system? - + - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. - + - + Add file - + Add files - + Do you want to process the link ? - + Do you want to process %1 links ? - + - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. - + %1 of %2 RetroShare links processed. - + File added - + Files added - + File exist - + Files exist - + Friend added - + Friends added - + Friend exist - + Friends exist - + Friend not added - + Friends not added - + Friend not found - + Friends not found - + Forum not found - + Forums not found - + Forum message not found - + Forum messages not found - + Channel not found - + Channels not found - + Channel message not found - + Channel messages not found - + + + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + Recipient not accepted - + Recipients not accepted - + Unkown recipient - + Unkown recipients - + Malformed links - + Invalid links - + Warning: forbidden characters found in filenames. Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. - + Result - + - + Unable to make path - + Unable to make path: - + Failed to process collection file - + - + Deny friend - + Make friend - + Peer details - + File Request canceled - + - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. - + Choose between:<br><ul><li><b>Ok</b> to copy the existing keyring from gnupg (safest bet), or </li><li><b>Close without saving</b> to start fresh with an empty keyring (you will be asked to create a new PGP key to work with RetroShare, or import a previously saved pgp keypair). </li><li><b>Cancel</b> to quit and forge a keyring by yourself (needs some PGP skills)</li></ul> - + - + RetroShare RetroShare - + Initialization failed. Wrong or missing installation of PGP. - + An unexpected error occurred. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + Multiple instances - + Another RetroShare using the same profile is already running on your system. Please close that instance first Lock file: - + An unexpected error occurred when Retroshare tried to acquire the single instance lock Lock file: - - - - - Start with a RetroShare link is only supported for Windows. - + Distant peer has closed the chat - + Tunnel is pending... - + Secured tunnel is working. You can talk! - + @@ -14482,186 +15127,186 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Reported error is: %2 - + - + Click to send a private message to %1 (%2). - + %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + secs - + TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + %1 days ago - + Subject: - + Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error - + unable to parse XML file! - + @@ -14669,19 +15314,19 @@ Security: no anonymous IDs Quick Start Wizard - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14690,7 +15335,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Choose which files you share.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Get started using RetroShare.</span></p></body></html> - + @@ -14698,7 +15343,7 @@ p, li { white-space: pre-wrap; } Next > - + @@ -14707,73 +15352,73 @@ p, li { white-space: pre-wrap; } Exit - + For best performance, RetroShare needs to know a little about your connection to the internet. - + Choose your download speed limit: - + KB/s - + Choose your upload speed limit: - + Connection : - + Automatic (UPnP) - + Firewalled - + Manually forwarded port - + Discovery : - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + @@ -14781,35 +15426,35 @@ p, li { white-space: pre-wrap; } < Back - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> - + Directory - + Network Wide - + Browseable - + @@ -14824,110 +15469,110 @@ p, li { white-space: pre-wrap; } Automatically share incoming directory (Recommended) - + RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + Do not show a message when Closing RetroShare - + Start Minimized - + Start RetroShare when my System Starts. - + Start minimized on system start - + Finish - + Select A Folder To Share - + Shared Directory Added! - + Warning! - + Browsable - + Universal - + If checked, the share is anonymously shared to anybody. - + If checked, the share is browsable by your friends. - + @@ -14935,12 +15580,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + @@ -14948,17 +15593,17 @@ p, li { white-space: pre-wrap; } %1 KB - + %1 MB - + %1 GB - + @@ -14971,12 +15616,12 @@ p, li { white-space: pre-wrap; } The loading of embedded images is blocked. - + Load images - + @@ -14984,60 +15629,60 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15045,17 +15690,17 @@ p, li { white-space: pre-wrap; } Down - + Up - + <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15063,49 +15708,49 @@ p, li { white-space: pre-wrap; } Enable Relay Connections - + Use Relay Servers - + Relay options - + Number - + Bandwidth per link - + Total Bandwidth - + Friends - + kB/s - + Friends of Friends - + @@ -15115,37 +15760,37 @@ p, li { white-space: pre-wrap; } Total: - + Relay Server Setup - + Add Server - + Server DHT Key - + Remove Server - + Relay - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15158,12 +15803,12 @@ p, li { white-space: pre-wrap; } Recommend in a message to - + Collection - + @@ -15171,7 +15816,7 @@ p, li { white-space: pre-wrap; } NEW - + @@ -15179,27 +15824,27 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + Unknown - + @@ -15207,33 +15852,33 @@ p, li { white-space: pre-wrap; } Add IP to whitelist - + Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15241,17 +15886,17 @@ p, li { white-space: pre-wrap; } Collection - + File name : - + Total size : - + @@ -15262,39 +15907,39 @@ p, li { white-space: pre-wrap; } Download! - + - + File - + - + Size - + Hash - + Bad filenames have been cleaned - + Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. - + Selected files : - + @@ -15304,27 +15949,27 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + >> - + <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + + - + @@ -15332,103 +15977,108 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace 保存 - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + Real Size=%1 - + Real File Count=%1 - + Save Collection File. - + What do you want to do? - + Overwrite - + Merge - + Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + File already exists. - + <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15437,17 +16087,17 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Cannot open file %1 - + Error parsing xml file - + Open collection file - + @@ -15455,41 +16105,41 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Collection files - + Create collection file - + This file contains the string "%1" and is therefore an invalid collection file. If you believe it is correct, remove the corresponding line from the file and re-open it with Retroshare. - + Save Collection File. - + What do you want to do? - + Overwrite - + Merge - + @@ -15499,16 +16149,16 @@ If you believe it is correct, remove the corresponding line from the file and re File already exists. - + RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? - + @@ -15516,13 +16166,13 @@ Reducing image to %1x%2 pixels? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. 保存された Retoroshare の設定をすべてリセット. @@ -15539,7 +16189,7 @@ Reducing image to %1x%2 pixels? Sets the verbosity of RetroShare's logging. - + @@ -15562,39 +16212,48 @@ Reducing image to %1x%2 pixels? Retoroshare の使用方法 - + Unable to open log file '%1': %2 ログファイル '%1" が開けません: %2 built-in - + Could not create data directory: %1 - + - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -15602,7 +16261,7 @@ Reducing image to %1x%2 pixels? RTT Statistics - + @@ -15610,12 +16269,12 @@ Reducing image to %1x%2 pixels? Enter a keyword here (at least 3 char long) - + Start Search - + @@ -15625,83 +16284,83 @@ Reducing image to %1x%2 pixels? Advanced Search - + Advanced - + Search inside "browsable" files of your friends - + Browsable files - + Multi-hop search at distance 6 in the network (always reports available files) - + Distant - + Include files from your own file list in the search result - + Own files - + Close all Search Results - + Clear - + KeyWords - + Results - + Search Id - + Filename - + Size - + Sources - + @@ -15711,87 +16370,87 @@ Reducing image to %1x%2 pixels? Age - + Hash - + Filter: - + Filter Search Result - + Max results: - + Any - + Archive - + Audio - + CD-Image - + Document - + Picture - + Program - + Video - + Directory - + Download Selected - + Download selected - + File Name - + @@ -15807,7 +16466,7 @@ Reducing image to %1x%2 pixels? Send RetroShare Link - + @@ -15817,24 +16476,24 @@ Reducing image to %1x%2 pixels? Skipping Local Files - + Sorry - + This function is not yet implemented. - + Search again - + @@ -15844,48 +16503,48 @@ Reducing image to %1x%2 pixels? Remove All - + Folder - + New RetroShare Link(s) - + Open Folder - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + Collection - + @@ -15893,7 +16552,7 @@ Reducing image to %1x%2 pixels? Peer details - + @@ -15909,12 +16568,12 @@ Reducing image to %1x%2 pixels? IP address: - + Peer ID: - + @@ -15924,14 +16583,14 @@ Reducing image to %1x%2 pixels? Peer Name: - + Unknown Peer - + @@ -15941,33 +16600,33 @@ Reducing image to %1x%2 pixels? but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -15975,22 +16634,22 @@ Reducing image to %1x%2 pixels? wants to be friend with you on RetroShare - + Accept Friend Request - + Peer details - + Deny friend - + @@ -16021,12 +16680,12 @@ Reducing image to %1x%2 pixels? Peer ID: - + Trust: - + @@ -16036,12 +16695,12 @@ Reducing image to %1x%2 pixels? IP Address: - + Connection Method: - + @@ -16056,27 +16715,27 @@ Reducing image to %1x%2 pixels? Connect Attempt - + Connection refused by remote peer - + Unknown (Incoming) Connect Attempt - + Unknown (Outgoing) Connect Attempt - + Unknown Security Issue - + @@ -16085,7 +16744,7 @@ Reducing image to %1x%2 pixels? Unknown Peer - + @@ -16095,32 +16754,32 @@ Reducing image to %1x%2 pixels? Do you want to remove this Friend? - + Certificate has wrong signature!! This peer is not who he claims to be. - + Missing/Damaged certificate. Not a real Retroshare user. - + Certificate caused an internal error. - + Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16128,52 +16787,52 @@ Reducing image to %1x%2 pixels? Network Configuration - + Network Mode - + Nat - + Automatic (UPnP) - + Firewalled - + Manually Forwarded Port - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + @@ -16195,195 +16854,195 @@ Reducing image to %1x%2 pixels? Port: - + Local network - + External ip address finder - + UPnP - + Known / Previous IPs: - + Show Discovery information in statusbar - + If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. - + Allow RetroShare to ask my ip to these websites: - + kB/s - + Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + Onion Address - + Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + Clear - + Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + Test - + Network - + IP Filters - + IP blacklist - + IP range - + @@ -16397,13 +17056,13 @@ Also check your ports! Origin - + Reason - + @@ -16415,158 +17074,158 @@ Also check your ports! IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + @@ -16579,78 +17238,78 @@ If you have issues connecting over Tor check the Tor logs too. Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16658,27 +17317,27 @@ If you have issues connecting over Tor check the Tor logs too. Service permissions - + Service Permissions - + Use as direct source, when available - + Auto-download recommended files - + Require whitelist - + @@ -16686,7 +17345,7 @@ If you have issues connecting over Tor check the Tor logs too. ServicePermissions - + @@ -16696,17 +17355,17 @@ If you have issues connecting over Tor check the Tor logs too. Permissions - + hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16714,7 +17373,7 @@ If you have issues connecting over Tor check the Tor logs too. Options - + @@ -16722,18 +17381,18 @@ If you have issues connecting over Tor check the Tor logs too. RetroShare Share Folder - + Share Folder - + Local Path - + @@ -16743,27 +17402,27 @@ If you have issues connecting over Tor check the Tor logs too. Virtual Folder - + Share Flags - + Edit Shared Folder - + Select A Folder To Share - + Share flags and groups: - + @@ -16771,23 +17430,23 @@ If you have issues connecting over Tor check the Tor logs too. check peers you would like to share private publish key with - + Share for Friend - + Share - + You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -16795,37 +17454,37 @@ Select the Friends with which you want to Share your Channel. RetroShare Share Manager - + Shared Folder Manager - + Directory - + Virtual Folder - + Share flags - + Groups - + Add a Share Directory - + @@ -16835,7 +17494,7 @@ Select the Friends with which you want to Share your Channel. Stop sharing selected Directory - + @@ -16846,59 +17505,59 @@ Select the Friends with which you want to Share your Channel. Apply and close - + Edit selected Shared Directory - + Edit - + Share Manager - + Edit Shared Folder - + Warning! - + Do you really want to stop sharing this directory ? - + Drop file error. - + File can't be dropped, only directories are accepted. - + Directory not found or directory name not accepted. - + This is a list of shared folders. You can add and remove folders using the buttons at the bottom. When you add a new folder, intially all files in that folder are shared. You can separately setup share flags for each shared directory. - + @@ -16911,12 +17570,12 @@ Select the Friends with which you want to Share your Channel. Search files - + Start Search - + @@ -16926,42 +17585,42 @@ Select the Friends with which you want to Share your Channel. Tree view - + Flat view - + All - + One day old - + One Week old - + One month old - + check files - + Download selected - + @@ -16971,63 +17630,63 @@ Select the Friends with which you want to Share your Channel. Copy retroshare Links to Clipboard - + Copy retroshare Links to Clipboard (HTML) - + Send retroshare Links - + Send retroshare Links to Cloud - + Add Links to Cloud - + RetroShare Link - + Recommendation(s) - + Add Share - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + @@ -17035,48 +17694,48 @@ Select the Friends with which you want to Share your Channel. Friend - + Go Online - + Chatmessage - + New Msg - + Message - + Message arrived - + Download - + ダウンロード Download complete - + Lobby - + @@ -17084,12 +17743,12 @@ Select the Friends with which you want to Share your Channel. Event: - + Filename: - + @@ -17099,27 +17758,27 @@ Select the Friends with which you want to Share your Channel. Event - + Filename - + Open File - + Sound - + Default - + @@ -17127,30 +17786,30 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile - + Load configuration - + Create interface - + @@ -17163,17 +17822,17 @@ Select the Friends with which you want to Share your Channel. Login - + Name (PGP Id) - location: - + Remember Password - + @@ -17185,33 +17844,33 @@ Select the Friends with which you want to Share your Channel. Opens a dialog for creating a new profile or adding locations to an existing profile. The current identities/locations will not be affected. - + Load Person Failure - + Missing PGP Certificate - + Warning - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17220,7 +17879,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17229,7 +17888,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17238,7 +17897,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17246,27 +17905,27 @@ This choice can be reverted in settings. Add Friend - + Add a Friend Wizard - + Add Share - + Options - + Messenger - + @@ -17276,7 +17935,7 @@ This choice can be reverted in settings. SMPlayer - + @@ -17287,42 +17946,42 @@ This choice can be reverted in settings. Quick Start Wizard - + ServicePermissions - + Service permissions matrix - + DHT - + Bandwidth - + Turtle Router - + Global Router - + RTT Statistics - + @@ -17331,165 +17990,165 @@ This choice can be reverted in settings. Offline - + Away - + Busy - + Online - + Idle - + Friend is offline - + Friend is away - + Friend is busy - + Friend is online - + Friend is idle - + Connected - + Unreachable - + Available - + Neighbor - + Trying TCP - + Trying UDP - + Connected: TCP - + Connected: UDP - + Connected: I2P - + Connected: Unknown - + DHT: Contact - + TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17497,30 +18156,30 @@ This choice can be reverted in settings. Status message - + Message: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> - + @@ -17529,23 +18188,23 @@ p, li { white-space: pre-wrap; } Define Style - + Choose color - + Color 2 - + Color 1 - + @@ -17555,17 +18214,17 @@ p, li { white-space: pre-wrap; } None - + Solid - + Gradient - + @@ -17583,7 +18242,7 @@ p, li { white-space: pre-wrap; } Download File - + @@ -17595,7 +18254,7 @@ p, li { white-space: pre-wrap; } Play File - + @@ -17605,23 +18264,23 @@ p, li { white-space: pre-wrap; } Save File - + ERROR - + EXTRA - + REMOTE - + @@ -17631,43 +18290,43 @@ p, li { white-space: pre-wrap; } LOCAL - + UPLOAD - + Remove Attachment - + File %1 does not exist at location. - + File %1 is not completed. - + Save Channel File - + Open - + Open File - + @@ -17678,17 +18337,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed - + - + Unsubscribe 購読中止 - + Subscribe 購読 @@ -17698,7 +18357,7 @@ p, li { white-space: pre-wrap; } Pause - + @@ -17706,27 +18365,27 @@ p, li { white-space: pre-wrap; } Important - + Work - + Personal - + Todo - + Later - + @@ -17734,12 +18393,12 @@ p, li { white-space: pre-wrap; } Remove All Tags - + New tag ... - + @@ -17747,12 +18406,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17760,90 +18419,90 @@ p, li { white-space: pre-wrap; } Transfer options - + Maximum simultaneous downloads: - + Slots reserved for non-cache transfers: - + Default chunk strategy: - + Safety disk space limit : - + Streaming - + Progressive - + Random - + MB - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> - + Max. tunnel req. forwarded per second: - + <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -17851,45 +18510,45 @@ p, li { white-space: pre-wrap; } Download completed - + You have %1 completed downloads - + You have %1 completed download - + %1 completed downloads - + %1 completed download - + TransfersDialog - + Downloads - + Uploads - + - + Name i.e: file name @@ -17900,31 +18559,31 @@ p, li { white-space: pre-wrap; } Size i.e: file size - + Completed - + Speed i.e: Download speed - + Progress / Availability i.e: % downloaded - + Sources i.e: Sources - + @@ -17937,49 +18596,49 @@ p, li { white-space: pre-wrap; } Speed / Queue position - + Remaining - + Download time i.e: Estimated Time of Arrival / Time left - + Peer i.e: user name - + Progress i.e: % uploaded - + Speed i.e: upload speed - + Transferred - + Hash - + @@ -17989,32 +18648,32 @@ p, li { white-space: pre-wrap; } Friends files - + My files - + Download from collection file... - + Pause - + Resume - + Force Check - + @@ -18025,27 +18684,27 @@ p, li { white-space: pre-wrap; } Open Folder - + Open File - + Preview File - + Details... - + Clear Completed - + @@ -18061,56 +18720,56 @@ p, li { white-space: pre-wrap; } Down - + Up - + Top - + Bottom - + Streaming - + Slower - + Average - + Faster - + Random - + Progressive - + @@ -18120,98 +18779,98 @@ p, li { white-space: pre-wrap; } Rename file... - + Specify... - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + Move in Queue... - + Priority (Speed)... - + Chunk strategy - + Set destination directory - + Choose directory - + - + Failed - + - - + + Okay OK - - + + Waiting - - - - - Downloading - - - - - - - - Complete - + + Downloading + + + + + + + + Complete + + + + Queued - + Paused - + Checking... - + Unknown - + - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18222,22 +18881,22 @@ map of the data; it will compare and invalidate bad blocks, and download them again Try to be patient! - + Transferring - + Uploading - + Are you sure that you want to cancel and delete these files? - + @@ -18250,229 +18909,229 @@ Try to be patient! File preview - + Can't create link for file %1. - + File %1 preview failed. - + Click OK when program terminates! - + Open Transfer - + File %1 is not completed. If it is a media file, try to preview it. - + Change file name - + Please enter a new file name - + Please enter a new--and valid--filename - + - + Last Time Seen i.e: Last Time Receiced Data - + UserID - + Expand all - + Collapse all - + Size - + Show Size Column - + Show Completed Column - + Speed - + Show Speed Column - + Progress / Availability - + Show Progress / Availability Column - + Sources - + Show Sources Column - + Show Status Column - + Show Speed / Queue position Column - + Show Remaining Column - + Download time - + Show Download time Column - + Show Hash Column - + Last Time Seen - + Show Last Time Seen Column - + Columns - + File Transfers - + Path i.e: Where file is saved - + Path - + Show Path Column - + - + Could not delete preview file - + Try it again? - + - + Create Collection... - + Modify Collection... - + View Collection... - + Collection - + - + File sharing - + - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: - + @@ -18481,13 +19140,13 @@ Try to be patient! My files - + FILE - + @@ -18497,53 +19156,53 @@ Try to be patient! File - + DIR - + Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + What's new - + Groups - + @@ -18552,13 +19211,13 @@ Try to be patient! Search requests - + Tunnel requests - + @@ -18567,28 +19226,28 @@ Try to be patient! Unknown hashes - + Tunnel id - + last transfer - + Speed - + Request id: %1 from [%2] %3 secs ago - + @@ -18596,12 +19255,12 @@ Try to be patient! Router Statistics - + F2F router information - + @@ -18609,42 +19268,42 @@ Try to be patient! Router Statistics - + Age in seconds - + Depth - + total - + Anonymous tunnels - + Authenticated tunnels - + Unknown Peer - + Turtle Router - + @@ -18652,47 +19311,47 @@ Try to be patient! Search requests repartition - + Tunnel requests repartition - + Turtle router traffic - + Tunnel requests Up - + Tunnel requests Dn - + Incoming file data - + Outgoing file data - + TR Forward probabilities - + Forwarded data - + @@ -18712,22 +19371,22 @@ Try to be patient! B - + KB - + MB - + GB - + @@ -18735,22 +19394,22 @@ Try to be patient! You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + @@ -18821,57 +19480,57 @@ Try to be patient! Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -18879,58 +19538,58 @@ Try to be patient! Basic Details - + Group Name: - + Category: - + Travel - + Holiday - + Friends - + Family - + Work - + Random - + Description: - + Share Options - + @@ -18940,62 +19599,62 @@ Try to be patient! All Friends - + Restricted - + N/A - + University Friends - + This List Contains - + All your Groups - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with XXX Key - + Cancel - + Create Group - + @@ -19004,57 +19663,57 @@ Try to be patient! Wiki Pages - + New Group - + Page Name - + Page Id - + Orig Id - + << - + >> - + Republish - + Edit - + New Page - + Refresh - + @@ -19064,47 +19723,47 @@ Try to be patient! My Groups - + Subscribed Groups - + Popular Groups - + Other Groups - + Subscribe to Group - + Unsubscribe to Group - + Todo - + Show Wiki Group - + Edit Wiki Group - + @@ -19112,74 +19771,74 @@ Try to be patient! Page Edit History - + Enable Obsolete Edits - + Choose for Merge - + Merge for Republish (TODO) - + Publish Date - + By - + PageId - + \/ - + /\ - + Wiki Group: - + Page Name: - + Previous Version - + Tags - + Show Edit History - + @@ -19190,7 +19849,7 @@ Try to be patient! Preview - + @@ -19200,39 +19859,39 @@ Try to be patient! Revert - + Submit - + Hide Edit History - + Edit Page - + Create New Wiki Page - + Republish - + Edit Wiki Page - + @@ -19240,37 +19899,37 @@ Try to be patient! Create New Wiki Group - + Wiki Group - + Edit Wiki Group - + Add Wiki Moderators - + Select Wiki Moderators - + Create Group - + Update Group - + @@ -19278,28 +19937,28 @@ Try to be patient! TimeRange - + All - + Last Month - + Last Week - + Today - + @@ -19309,67 +19968,67 @@ Try to be patient! from - + until - + Search/Filter - + Network Wide - + Manage Accounts - + Showing: - + Yourself - + Friends - + Following - + Custom - + Account 1 - + Account 2 - + Account 3 - + @@ -19378,12 +20037,12 @@ Try to be patient! CheckBox - + Post Pulse to Wire - + @@ -19392,112 +20051,112 @@ Try to be patient! Unknown Unknown (size) - + B bytes - + KB kilobytes (1024 bytes) - + MB megabytes (1024 kilobytes) - + GB gigabytes (1024 megabytes) - + TB, terabytes (1024 gigabytes) - + TB terabytes (1024 gigabytes) - + Unknown - + < 1m < 1 minute - + %1 minutes e.g: 10minutes - + %1h %2m e.g: 3hours 5minutes - + %1d %2h e.g: 2days 10hours - + %1y %2d e.g: 2 years 2days - + k e.g: 3.1 k - + M e.g: 3.1 M - + G e.g: 3.1 G - + T e.g: 3.1 T - + Load avatar image - + Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_ko.ts b/retroshare-gui/src/lang/retroshare_ko.ts index 41e6e72da..72de96f13 100644 --- a/retroshare-gui/src/lang/retroshare_ko.ts +++ b/retroshare-gui/src/lang/retroshare_ko.ts @@ -1,15 +1,17 @@ - + + + AWidget version - + RetroShare version - + @@ -28,7 +30,7 @@ Copy Info - + @@ -61,7 +63,7 @@ Add Comment - + @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file 죄송하지만 이 파일에 대한 시스템 기본 명령을 결정할 수 없습니다 @@ -143,87 +145,87 @@ Create Album - + Album Name: - + Category: - + Animals - + Family - + Friends - + Flowers - + Holiday - + Landscapes - + Pets - + Portraits - + Travel - + Work - + Random - + Caption: - + Where: - + Photographer: - + @@ -233,12 +235,12 @@ Share Options - + Policy: - + @@ -248,12 +250,12 @@ Comments: - + Identity: - + @@ -263,86 +265,86 @@ Restricted - + Resize Images (< 1Mb) - + Resize Images (< 10Mb) - + Send Original Images - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with Identity - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Back - + Add Photos - + Publish Album - + Untitle Album - + Say something about this album... - + Where were these taken? - + Load Album Thumbnail - + @@ -351,47 +353,47 @@ p, li { white-space: pre-wrap; } Album - + Album Thumbnail - + TextLabel - + Summary - + Album Title: - + Category: - + Caption - + Where: - + When - + @@ -401,51 +403,51 @@ p, li { white-space: pre-wrap; } Share Options - + Comments - + Publish Identity - + Visibility - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Add Photo - + Edit Photo - + Delete Photo - + Publish Photos - + @@ -460,25 +462,25 @@ p, li { white-space: pre-wrap; } TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + @@ -491,12 +493,12 @@ p, li { white-space: pre-wrap; } Changes to language will only take effect after restarting RetroShare! - + Choose the language used in RetroShare - + @@ -506,7 +508,7 @@ p, li { white-space: pre-wrap; } Choose RetroShare's interface style - + @@ -521,134 +523,134 @@ p, li { white-space: pre-wrap; } Tool Bar - + On Tool Bar - + On List Item - + Where do you want to have the buttons for menu? - + On List Ite&m - + Where do you want to have the buttons for the page? - + Icon Only - + Text Only - + Text Beside Icon - + Text Under Icon - + Choose the style of Tool Buttons. - + Choose the style of List Items. - + Icon Size = 8x8 - + Icon Size = 16x16 - + Icon Size = 24x24 - + Icon Size = 64x64 - + Icon Size = 128x128 - + Status Bar - + Remove surplus text in status bar. - + Compact Mode - + Hide Sound Status - + Hide Toaster Disable - + Show SysTray on Status Bar - + Disable SysTray ToolTip - + Icon Size = 32x32 - + @@ -663,37 +665,37 @@ p, li { white-space: pre-wrap; } Warning: The services here are experimental. Please help us test them. But Remember: Any data here *WILL* be lost when we upgrade the protocols. - + Identities - + Circles - + GxsForums - + GxsChannels - + The Wire - + Photos - + @@ -719,17 +721,17 @@ p, li { white-space: pre-wrap; } Change Avatar - + Your Avatar Picture - + Add Avatar - + @@ -739,12 +741,12 @@ p, li { white-space: pre-wrap; } Set your Avatar picture - + Load Avatar - + @@ -758,9 +760,9 @@ p, li { white-space: pre-wrap; } BWGraphSource - + KB/s - + @@ -768,7 +770,7 @@ p, li { white-space: pre-wrap; } N/A - + @@ -851,23 +853,23 @@ p, li { white-space: pre-wrap; } Sum - + All - + KB/s - + Count - + @@ -885,62 +887,62 @@ p, li { white-space: pre-wrap; } In (KB/s) - + InMax (KB/s) - + InQueue - + InAllocated (KB/s) - + Allocated Sent - + Out (KB/s) - + OutMax (KB/s) - + OutQueue - + OutAllowed (KB/s) - + Allowed Recvd - + TOTALS - + Totals - + @@ -953,42 +955,42 @@ p, li { white-space: pre-wrap; } Form - + 양식 Friend: - + Type: - + 유형: Up - + Down - + Service: - + Unit: - + Log scale - + @@ -996,12 +998,12 @@ p, li { white-space: pre-wrap; } Channels - + Tabs - + @@ -1011,12 +1013,12 @@ p, li { white-space: pre-wrap; } Load posts in background (Thread) - + Open each channel in a new tab - + @@ -1024,7 +1026,7 @@ p, li { white-space: pre-wrap; } Participants - + @@ -1034,45 +1036,50 @@ p, li { white-space: pre-wrap; } Mute participant - + + + + + Ban this person (Sets negative opinion) + Send Message - + Sort by Name - + Sort by Activity - + - + Invite friends to this lobby - + Leave this lobby (Unsubscribe) - + Invite friends - + Select friends to invite: - + - + Welcome to lobby %1 %1 대기방에서 환영합니다 @@ -1085,10 +1092,10 @@ p, li { white-space: pre-wrap; } Lobby chat - + - + Lobby management @@ -1122,57 +1129,57 @@ p, li { white-space: pre-wrap; } Right click to mute/unmute participants<br/>Double click to address this person<br/> - + This participant is not active since: - + seconds - + - + Start private chat - + - + Decryption failed. - + Signature mismatch - + Unknown key - + Unknown hash - + Unknown error. - + Cannot start distant chat - + Distant chat cannot be initiated: - + @@ -1188,49 +1195,49 @@ p, li { white-space: pre-wrap; } Chat Lobbies - + You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + Unknown Lobby - + Remove All - + ChatLobbyWidget - + Chat lobbies - + - + Name 이름 @@ -1238,7 +1245,7 @@ p, li { white-space: pre-wrap; } Count - + @@ -1268,9 +1275,9 @@ p, li { white-space: pre-wrap; } [설정한 주제가 없습니다] - + Selected lobby info - + @@ -1285,82 +1292,82 @@ p, li { white-space: pre-wrap; } Anonymous IDs accepted - + You're not subscribed to this lobby; Double click-it to enter and chat. - + Remove Auto Subscribe - + Add Auto Subscribe - + %1 invites you to chat lobby named %2 - + - + Search Chat lobbies - + Search Name - + Subscribed - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + Columns - + Yes - + No - + - + Lobby Name: - + Lobby Id: - + Topic: - + @@ -1370,12 +1377,12 @@ p, li { white-space: pre-wrap; } Security: - + Peers: - + @@ -1385,93 +1392,93 @@ p, li { white-space: pre-wrap; } TextLabel - + No lobby selected. Select lobbies at left to show details. Double click lobbies to enter and chat. - + Private Subscribed Lobbies - + Public Subscribed Lobbies - + Chat Lobbies - + Leave this lobby - + Enter this lobby - + Enter this lobby as... - + Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + You will need to create an identity in order to join chat lobbies. - + Choose an identity for this lobby: - + Create an identity and enter this lobby - + Show - + 표시 column - + @@ -1513,7 +1520,7 @@ Double click lobbies to enter and chat. 취소 - + Quick Message 간단한 메시지 @@ -1522,34 +1529,34 @@ Double click lobbies to enter and chat. ChatPage - + General 일반 - + Distant Chat - + Everyone - + Contacts - + Nobody - + Accept encrypted distant chat from - + @@ -1559,7 +1566,7 @@ Double click lobbies to enter and chat. Enable Emoticons Private Chat - + @@ -1569,47 +1576,52 @@ Double click lobbies to enter and chat. Enable custom fonts - + Enable custom font size - + Minimum font size - + Enable bold - + Enable italics - + Minimum text contrast - + Send message with Ctrl+Return Ctrl+Return 으로 메시지 보내기 + + + Send as plain text by default + + Chat Lobby - + Blink tab icon - + @@ -1619,22 +1631,22 @@ Double click lobbies to enter and chat. Open Window for new chat - + Grab Focus when chat arrives - + Use a single tabbed window - + Blink window/tab icon - + @@ -1673,7 +1685,7 @@ Double click lobbies to enter and chat. Variant - + @@ -1698,37 +1710,37 @@ Double click lobbies to enter and chat. Incoming - + Outgoing - + - + Incoming message in history - + Outgoing message in history - + Incoming message - + Outgoing message - + Outgoing offline message - + @@ -1743,12 +1755,12 @@ Double click lobbies to enter and chat. UserName - + /me is sending a message with /me - + @@ -1758,37 +1770,37 @@ Double click lobbies to enter and chat. <html><head/><body><p align="justify">In this tab you can setup how many chat messages Retroshare will keep saved on the disc and how much of the previous conversation it will display, for the different chat systems. The max storage period allows to discard old messages and prevents the chat history from filling up with volatile chat (e.g. chat lobbies and distant chat).</p></body></html> - + Chatlobbies - + Enabled: - + Saved messages (0 = unlimited): - + Number of messages restored (0 = off): - + Maximum storage period, in days (0=keep all): - + Search by default - + @@ -1798,73 +1810,73 @@ Double click lobbies to enter and chat. Whole Words - + Move to cursor - + Color All Text Found - + Color of found text - + Choose color of found text - + Maximum count for coloring matching text - + Threshold for automatic search - + Default identity for chat lobbies: - + Show Bar by default - + - + Private chat invite from - + Name : - + PGP id : - + Valid until : - + ChatStyle - + Standard style for group chat 집단 대화에 표준 스타일 @@ -1876,22 +1888,22 @@ Double click lobbies to enter and chat. Standard style for private chat - + Compact style for private chat - + Standard style for history - + Compact style for history - + @@ -1918,12 +1930,12 @@ Double click lobbies to enter and chat. 닫기 - + Send 보내기 - + Bold 굵게 @@ -1938,12 +1950,12 @@ Double click lobbies to enter and chat. 기울임 - + Attach a Picture 그림 첨부 - + Strike 취소선 @@ -1994,42 +2006,70 @@ Double click lobbies to enter and chat. 글꼴을 기본으로 재설정 - + Quote - + Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... 입력중 ... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? 실제 기록을 정말로 삭제하시겠습니까? - + Add Extra File 추가 파일 추가 @@ -2051,7 +2091,7 @@ Double click lobbies to enter and chat. appears to be Offline. - + @@ -2074,122 +2114,102 @@ Double click lobbies to enter and chat. 다른 용무중이며 응답하지 않을 수도 있습니다 - + Find Case Sensitively - + Find Whole Words - + Move To Cursor - + Don't stop to color after X items found (need more CPU) - + - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> - + <b>Find Next </b><br/><i>Ctrl+G</i> - + <b>Find </b><br/><i>Ctrl+F</i> - + - + (Status) - + - + Set text font & color - + Attach a File - + - + WARNING: Could take a long time on big history. - + Choose color - + - + <b>Mark this selected text</b><br><i>Ctrl+M</i> - + - - %1This message consists of %2 characters. - - - - + items found. - + No items found. - + <b>Return to marked text</b><br><i>Ctrl+M</i> - + - - Display Search Box - - - - - Search Box - - - - + Type a message here - + - + Don't stop to color after - + items found (need more CPU) - - - - - Warning: - + @@ -2197,25 +2217,25 @@ Double click lobbies to enter and chat. TextLabel - + Empty Circle - + CirclesDialog - + Showing details: - + Membership - + @@ -2230,19 +2250,19 @@ Double click lobbies to enter and chat. - + Personal Circles - + Public Circles - + Peers - + @@ -2256,98 +2276,98 @@ Double click lobbies to enter and chat. - + Friends - + Friends of Friends - + Others - + Permissions - + Anon Transfers - + Discovery - + Share Category - + Create Personal Circle - + Create External Circle - + Edit Circle - + Todo - + Friends Of Friends - + - + External Circles (Admin) - + External Circles (Subscribed) - + External Circles (Other) - + Circles - + ConfCertDialog - + Details 세부 정보 Node info - + @@ -2356,7 +2376,7 @@ Double click lobbies to enter and chat. - + Local Address 지역 주소 @@ -2383,113 +2403,97 @@ Double click lobbies to enter and chat. 주소록 - + + Use this certificate to make friends: + + + + Include signatures 서명 포함 - - + + RetroShare 레트로 쉐어 - - + + Error : cannot get peer details. 오류 : 동료 세부 정보를 가져올 수 없습니다 - - Use as direct source, when available - - - - - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - - - - + Encryption - + Not connected - + Peer Addresses - + - Options - 옵션 + 옵션 - + Retroshare node details - + - + Node name : - + Status : - + Last Contact : - + Retroshare version : - + Node ID : - + PGP key : - + Retroshare Certificate - + - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + @@ -2500,57 +2504,47 @@ Double click lobbies to enter and chat. <p>This certificate contains: - + <li>a <b>node ID</b> and <b>name</b> - + an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + <p>You can use this certificate to make new friends. Send it by email, or give it hand to hand.</p> - + - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + with - + external signatures</li> - + @@ -2563,27 +2557,27 @@ Double click lobbies to enter and chat. Add a new Friend - + &You get a certificate file from your friend - + &Make friend with selected friends of my friends - + Text certificate - + Use text representation of the PGP certificates. - + @@ -2594,82 +2588,82 @@ Double click lobbies to enter and chat. Copy your Cert to Clipboard - + Save your Cert into a File - + Run Email program - + Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + Certificate files - + Use PGP certificates saved in files. - + Import friend's certificate... - + You have to generate a file with your certificate and give it to your friend. Also, you can use a file generated before. - + Export my certificate... - + Drag and Drop your friends's certificate in this Window or specify path in the box below - + Browse - + Friends of friends - + Select now who you want to make friends with. - + Show me: - + Make friend with these peers - + @@ -2679,7 +2673,7 @@ Double click lobbies to enter and chat. Use RetroShare ID for adding a Friend which is available in your network. - + @@ -2689,72 +2683,72 @@ Double click lobbies to enter and chat. Paste Friends RetroShare ID in the box below - + Enter the RetroShare ID of your Friend, e.g. Peer@BDE8D16A46D938CF - + RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + GMail - + Yahoo - + Outlook - + AOL - + Yandex - + Email - + 이메일 Invite Friends by Email - + Enter your friends' email addresses (separate each one with a semicolon) - + Your friends' email addresses: - + Enter Friends Email addresses - + @@ -2766,20 +2760,20 @@ Double click lobbies to enter and chat. Friend request - + Details about the request - + Peer details - + @@ -2791,18 +2785,18 @@ Double click lobbies to enter and chat. Email: - + Node: - + Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + @@ -2819,67 +2813,67 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + Add friend to group: - + Authenticate friend (Sign PGP Key) - + Add as friend to connect with - + To accept the Friend Request, click the Finish button. - + Sorry, some error appeared - + Here is the error message: - + @@ -2889,62 +2883,62 @@ resources. Details about your friend: - + Key validity: - + Signers - + This peer is already on your friend list. Adding it might just set it's ip address. - + Abnormal size read is bigger than memory block. - + Invalid external IP. - + Invalid local IP. - + Invalid checksum section. - + Checksum mismatch. Certificate is corrupted. - + Unknown section type found (Certificate might be corrupted). - + Missing checksum. - + Unknown certificate error - + @@ -2955,37 +2949,37 @@ resources. Cannot get peer details of PGP key %1 - + Any peer I've not signed - + Friends of my friends who already trust me - + Signed peers showing as denied - + Peer name - + Also signed by - + Peer id - + @@ -2996,17 +2990,17 @@ resources. Ultimate - + Full - + Marginal - + @@ -3016,38 +3010,38 @@ resources. No Trust - + You have a friend request from - + Certificate Load Failed:file %1 not found - + This Peer %1 is not available in your Network - + Use new certificate format (safer, more robust) - + Use old (backward compatible) certificate format - + Remove signatures - + @@ -3057,37 +3051,37 @@ resources. No or misspelled BEGIN tag found - + No or misspelled END tag found - + No checksum found (the last 5 chars should be separated by a '=' char), or no newline after tag line (e.g. line beginning with Version:) - + Unknown error. Your cert is probably not even a certificate. - + Connect Friend Help - + You can copy this text and send it to your friend via email or some other way - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -3104,98 +3098,98 @@ resources. Select Certificate - + Sorry, create certificate failed - + Please choose a filename - + Certificate file successfully created - + Sorry, certificate file creation failed - + *** None *** - + Use as direct source, when available - + IP-Addr: - + IP-Address - + Recommend many friends to each others - + Friend Recommendations - + The text below is your Retroshare certificate. You have to provide it to your friend - + Message: - + Recommend friends - + To - + Please select at least one friend for recommendation. - + Please select at least one friend as recipient. - + Add key to keyring - + This key is already in your keyring - + @@ -3203,69 +3197,69 @@ resources. This might be useful for sending distant messages to this peer even if you don't make friends. - + Certificate has wrong version number. Remember that v0.6 and v0.5 networks are incompatible. - + Invalid node id. - + Auto-download recommended files - + Can be used as direct source - + Require whitelist clearance to connect - + Add IP to whitelist - + No IP in this certificate! - + <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + Added with certificate from %1 - + Paste Cert of your friend from Clipboard - + Certificate Load Failed:can't read from file %1 - + Certificate Load Failed:something is wrong with %1 - + @@ -3273,228 +3267,228 @@ even if you don't make friends. Connection Progress - + Connecting to: - + TextLabel - + Network - + Net Result - + Connect Status - + Contact Result - + DHT Startup - + DHT Result - + Peer Lookup - + Peer Result - + UDP Setup - + UDP Result - + Connection Assistant - + Invalid Peer ID - + Unknown State - + Offline - + Behind Symmetric NAT - + Behind NAT & No DHT - + NET Restart - + Behind NAT - + No DHT - + NET STATE GOOD! - + DHT Failed - + DHT Disabled - + DHT Okay - + Finding RS Peers - + Lookup requires DHT - + Searching DHT - + Lookup Timeout - + Peer DHT NOT ACTIVE - + Lookup Failure - + Peer Offline - + Peer Firewalled - + Peer Online - + Connection In Progress - + Initial connections can take a while, please be patient - + If an error is detected it will be displayed here - + You can close this dialog at any time - + Retroshare will continue connecting in the background - + Connection Timeout - + Connection Attempt has taken too long - + But no error has been detected - + Try again shortly, Retroshare will continue connecting in the background - + @@ -3503,214 +3497,214 @@ even if you don't make friends. If you continue to get this message, please contact developers - + DHT Lookup Timeout - + DHT Lookup has taken too long - + UDP Connection Timeout - + UDP Connection has taken too long - + UDP Connection Failed - + We are continually working to improve connectivity. - + In this case the UDP connection attempt has failed. - + Improve connectivity by opening a Port in your Firewall. - + Connected - + Congratulations, you are connected - + DHT startup Failed - + Your DHT has not started properly - + Common causes of this problem are: - + - You are not connected to the Internet - + - You have a missing or out-of-date DHT bootstrap file (bdboot.txt) - + DHT is Disabled - + The DHT is OFF, so Retroshare cannot find your Friends. - + Retroshare has tried All Known Addresses, with no success - + The DHT is needed if your friends have Dynamic IP Addresses. - + Go to Settings->Server and change config to "Public: DHT and Discovery" - + Peer Denied Connection - + We successfully reached your Friend. - + but they have not added you as a Friend. - + Please contact them to add your Certificate - + Your Retroshare Node is configured Okay - + We successfully reached your Friend via UDP. - + Please contact them to add your Full Certificate - + We Cannot find your Friend. - + They are either offline or their DHT is Off - + Peer DHT is Disabled - + Your Friend has configured Retroshare with DHT Disabled. - + You have previously connected to this Friend - + Retroshare has determined that they have DHT switched off - + Without the DHT it is hard for Retroshare to locate your friend - + Try importing a fresh Certificate to get up-to-date connection information - + Incomplete Friend Details - + You have imported an incomplete Certificate - + Please retry importing the full Certificate - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> - + @@ -3718,109 +3712,97 @@ p, li { white-space: pre-wrap; } N/A - + UNVERIFIABLE FORWARD! - + UNVERIFIABLE FORWARD & NO DHT - + Searching - + UDP Connect Timeout - + Only Advanced Retroshare users should switch off the DHT. - + Retroshare cannot connect without this information - + They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details - + - - + Name 이름 - - Creator - - - - - Distribution - - - - + Public 공용 - - Self-Restricted - - - - - Restricted to: - - - - - Circle Membership - - - - + IDs ID - - Known Identities - - - - + Filter - + - + Nickname - + - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ID @@ -3830,136 +3812,214 @@ p, li { white-space: pre-wrap; } 형식 - - - - + + Name: + 이름: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + 개인용 + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare 레트로 쉐어 - + Please set a name for your Circle - + - - Personal Circle Details - - - - - External Circle Details - - - - - Cannot Edit Existing Circles Yet - - - - + No Restriction Circle Selected - + - + No Circle Limitations Selected - + - - Create New Personal Circle - - - - - Create New External Circle - - - - + Add 추가 Remove - + - + Search 검색 - + All - + Signed - + Signed by known nodes - + - + Edit Circle - + - - + PGP Identity - + - - - + + + Anon Id - + + + + + Circle name + + + + + Update + + Close + 닫기 + + + + + Create New Circle + + + + + Create + 만들기 + + + PGP Linked Id - + + + + + Add Member + + + + + Remove Member + CreateGroup - + Create a Group - + + + + + Group Name: + + + + + Group ID: + - Group Name - 이름 + 이름 - + Enter a name for your group - + - + + To be defined + + + + Friends - + Edit Group - + @@ -3968,43 +4028,43 @@ p, li { white-space: pre-wrap; } New Channel Post - + Channel Post - + Channel Post to: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> - + Add File to Attach - + Add Channel Thumbnail - + Message - + @@ -4015,22 +4075,22 @@ p, li { white-space: pre-wrap; } Attachments - + Allow channels to get frame for message thumbnail from movie media attachments or not - + Auto Thumbnail - + Drag and Drop Files from Search Results - + @@ -4046,17 +4106,17 @@ p, li { white-space: pre-wrap; } Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + @@ -4072,7 +4132,7 @@ p, li { white-space: pre-wrap; } File already Added and Hashed - + @@ -4082,37 +4142,37 @@ p, li { white-space: pre-wrap; } Load thumbnail picture - + Generate mass data - + Do you really want to generate %1 messages ? - + You are about to add files you're not actually sharing. Do you still want this to happen? - + About to post un-owned files to a channel. - + CreateGxsForumMsg - + Post Forum Message - + @@ -4127,42 +4187,42 @@ p, li { white-space: pre-wrap; } Attach File - + Sign Message - + Forum Post - + Attach files via drag and drop - + You can attach files via drag and drop here in this window - + Start New Thread - + - + No Forum - + - + In Reply to - + @@ -4179,49 +4239,59 @@ p, li { white-space: pre-wrap; } Please choose Signing Id, it is required - + Add Extra File 추가 파일 추가 + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data - + Do you really want to generate %1 messages ? - + - + Send 보내기 - + Forum Message - + Forum Message has not been Sent. Do you want to reject this message? - + Post as - + Congrats, you found a bug! - + @@ -4230,82 +4300,82 @@ Do you want to reject this message? Create Chat Lobby - + A chat lobby is a decentralized and anonymous chat group. All participants receive all messages. Once the lobby is created you can invite other friends from the Friends tab. - + Lobby name: - + Lobby topic: - + Visibility: - + Public (Visible by friends) - + Private (Works on invitation only) - + <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + Security: - + Select the Friends with which you want to group chat. - + Invited friends - + Put a sensible lobby name here - + Set a descriptive topic here - + Contacts: - + Identity to use: - + @@ -4313,7 +4383,7 @@ Do you want to reject this message? Public Information - + @@ -4328,22 +4398,22 @@ Do you want to reject this message? Location ID: - + Software Version: - + Online since: - + Other Information - + @@ -4358,7 +4428,7 @@ Do you want to reject this message? Save Key into a file - + @@ -4368,12 +4438,12 @@ Do you want to reject this message? Error - + Your certificate could not be parsed correctly. Please contact the developers. - + @@ -4383,7 +4453,7 @@ Do you want to reject this message? Your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -4398,52 +4468,52 @@ Do you want to reject this message? TextLabel - + PGP fingerprint: - + Node information - + PGP Id : - + Friend nodes: - + Copy certificate to clipboard - + Save certificate to file - + Node - + Create new node... - + show statistics window - + @@ -4451,7 +4521,7 @@ Do you want to reject this message? users - + @@ -4459,17 +4529,17 @@ Do you want to reject this message? DHT - + <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + DHT Off - + @@ -4485,12 +4555,12 @@ Do you want to reject this message? DHT Good - + No peer found in DHT - + @@ -4498,27 +4568,27 @@ Do you want to reject this message? B - + KB - + MB - + GB - + File Never Seen - + @@ -4536,22 +4606,22 @@ Do you want to reject this message? Done - + Active - + Outstanding - + Needs checking - + @@ -4571,17 +4641,17 @@ Do you want to reject this message? Rating - + Comments - + File Name - + @@ -4589,27 +4659,27 @@ Do you want to reject this message? Net Status - + Connect Options - + Network Mode - + Nat Type - + Nat Hole - + @@ -4624,83 +4694,83 @@ Do you want to reject this message? PeerId - + DHT Status - + ConnectLogic - + Connect Status - + Connect Mode - + Request Status - + Cb Status - + RsId - + Bucket - + IP:Port - + Key - + Status Flags - + Found - + Last Sent - + Last Recv - + Relay Mode - + @@ -4720,202 +4790,202 @@ Do you want to reject this message? Class - + Age - + Bandwidth - + IP - + Search IP - + Copy %1 to clipboard - + Unknown NetState - + Offline - + Local Net - + Behind NAT - + External IP - + UNKNOWN NAT STATE - + SYMMETRIC NAT - + DETERMINISTIC SYM NAT - + RESTRICTED CONE NAT - + FULL CONE NAT - + OTHER NAT - + NO NAT - + UNKNOWN NAT HOLE STATUS - + NO NAT HOLE - + UPNP FORWARD - + NATPMP FORWARD - + MANUAL FORWARD - + NET BAD: Unknown State - + NET BAD: Offline - + NET BAD: Behind Symmetric NAT - + NET BAD: Behind NAT & No DHT - + NET WARNING: NET Restart - + NET WARNING: Behind NAT - + NET WARNING: No DHT - + NET STATE GOOD! - + CAUTION: UNVERIFIABLE FORWARD! - + CAUTION: UNVERIFIABLE FORWARD & NO DHT - + Not Active (Maybe Connected!) - + Searching - + Failed - + offline - + Unreachable - + ONLINE - + Direct - + @@ -4925,27 +4995,27 @@ Do you want to reject this message? Disconnected - + Udp Started - + Connected - + Request Active - + No Request - + @@ -4955,34 +5025,34 @@ Do you want to reject this message? RELAY END - + Yourself - + unknown - + unlimited - + Own Relay - + RELAY PROXY - + @@ -4991,27 +5061,27 @@ Do you want to reject this message? %1 secs ago - + %1B/s - + Relays - + 0x%1 EX:0x%2 - + never - + @@ -5019,113 +5089,113 @@ Do you want to reject this message? DHT - + Net Status: - + Network Mode: - + Nat Type: - + Nat Hole: - + Connect Mode: - + Peer Address: - + Unreach: - + Online: - + Offline: - + DHT Peers: - + Disconnected: - + Direct: - + Proxy: - + Relay: - + Filter: - + Search Network - + Peers - + Relay - + DHT Graph - + Proxy VIA - + Relay VIA - + @@ -5133,98 +5203,98 @@ Do you want to reject this message? Incoming Directory - + Browse - + Partials Directory - + Shared Directories - + Automatically share incoming directory (Recommended) - + Edit Share - + Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. - + Remember hashed files for - + days - + Forget any hashed file that is not anymore shared. - + Clean Hash Cache - + Auto-check shared directories every - + minute(s) - + Cache cleaning confirmation - + This will forget any former hash of non shared files. Do you confirm ? - + Set Incoming Directory - + Set Partials Directory - + Directories - + @@ -5232,12 +5302,12 @@ you plug it in. Waiting outgoing discovery operations - + Waiting incoming discovery operations - + @@ -5245,7 +5315,7 @@ you plug it in. Start file - + @@ -5255,36 +5325,36 @@ you plug it in. to - + ignore case - + dd.MM.yyyy - + KB - + MB - + GB - + @@ -5292,12 +5362,12 @@ you plug it in. Expression Widget - + Delete this expression - + @@ -5305,52 +5375,52 @@ you plug it in. &New - + Add new Association - + &Edit - + Edit this Association - + &Remove - + Remove this Association - + File type - + Friend Help - + You this - + Associations - + @@ -5358,47 +5428,47 @@ you plug it in. Chunk map - + Active chunks - + Availability map (%1 active source) - + Availability map (%1 active sources) - + File info - + File name - + Destination folder - + File hash - + File size - + @@ -5406,52 +5476,52 @@ you plug it in. bytes - + Chunk size - + Number of chunks - + Transferred - + Remaining - + Number of sources - + Chunk strategy - + Transfer type - + Anonymous F2F - + Direct friend transfer / Availability assumed - + @@ -5459,38 +5529,38 @@ you plug it in. Picture - + Video - + Audio - + Archive - + Program - + CD/DVD-Image - + Document - + @@ -5500,32 +5570,32 @@ you plug it in. Subtitles - + Nintendo DS Rom - + Patch - + C++ - + Header - + C - + @@ -5533,37 +5603,37 @@ you plug it in. Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + Directory - + @@ -5581,7 +5651,7 @@ you plug it in. Expand new messages - + @@ -5591,17 +5661,17 @@ you plug it in. Load embedded images - + Tabs - + Open each forum in a new tab - + @@ -5614,59 +5684,59 @@ you plug it in. Hide Offline Friends - + export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + Show State - + Show Groups - + - + Group - + Friend - + Edit Group - + Remove Group - + @@ -5677,198 +5747,198 @@ you plug it in. Recommend this Friend to... - + Copy certificate link - + Add to group - + - + Search - + 검색 Sort by state - + - + Move to group - + Groups - + Remove from group - + Remove from all groups - + Expand all - + Collapse all - + Available - + - + Do you want to remove this Friend? - + - + Done! - + Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + Error - + Failed to get a file! - + File is not writeable! - + File is not readable! - + IP - + - + Attempt to connect - + Create new group - + Display - + 표시 Paste certificate link - + Node - + Remove Friend Node - + - + Do you want to remove this node? - + Friend nodes - + - + Send message to whole group - + @@ -5879,13 +5949,13 @@ at least one peer was not added to a group Deny - + Send message - + @@ -5893,7 +5963,7 @@ at least one peer was not added to a group Confirm Friend Request - + @@ -5903,7 +5973,7 @@ at least one peer was not added to a group Unknown (Incoming) Connect Attempt - + @@ -5911,12 +5981,12 @@ at least one peer was not added to a group Search : - + Sort by state - + @@ -5926,17 +5996,17 @@ at least one peer was not added to a group Search Friends - + - + Mark all - + Mark none - + @@ -5944,13 +6014,13 @@ at least one peer was not added to a group Edit status message - + Broadcast - + @@ -5960,27 +6030,27 @@ at least one peer was not added to a group Add Friend - + Add your Avatar Picture - + A - + Set your status message - + Edit your status message - + @@ -6002,7 +6072,7 @@ at least one peer was not added to a group Add a new Group - + @@ -6018,12 +6088,12 @@ at least one peer was not added to a group Create new Chat lobby - + Choose Font - + @@ -6033,33 +6103,33 @@ at least one peer was not added to a group Keyring - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + Retroshare broadcast chat: messages are sent to all connected friends. - + Network - + Network graph - + Set your status message here. - + @@ -6067,7 +6137,7 @@ at least one peer was not added to a group Create new Profile - + @@ -6077,7 +6147,7 @@ at least one peer was not added to a group Enter your nickname here - + @@ -6089,7 +6159,7 @@ at least one peer was not added to a group Be careful: this email will be visible to your friends and friends of your friends. This information is required by PGP, but to stay anonymous, you can use a fake email. - + @@ -6099,17 +6169,17 @@ anonymous, you can use a fake email. [Optional] Visible to your friends, and friends of friends. - + [Required] Examples: Home, Laptop,... - + [Required] Visible to your friends, and friends of friends. - + @@ -6119,22 +6189,27 @@ anonymous, you can use a fake email. Password (check) - + - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> - + [Required] Type the same password again here. - + Passwords do not match - + @@ -6145,227 +6220,222 @@ anonymous, you can use a fake email. This password is for PGP - + Node - + Create new node - + Generate new node - + Create a new node - + You can use it now to create a new node. - + Invalid hidden node - + Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile - + Import new profile - + Export selected profile - + Advanced options - + Create a hidden node - + Use profile - + hidden address - + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + Create new profile - + Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + Export profile - + RetroShare profile files (*.asc) - + Profile saved - + @@ -6374,77 +6444,77 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + Import profile - + Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6452,7 +6522,7 @@ Fill in your PGP password when asked, to sign your new key. Startup - + @@ -6462,22 +6532,22 @@ Fill in your PGP password when asked, to sign your new key. Start minimized - + Start minimized on system start - + For Advanced Users - + Enable Advanced Mode (Restart Required) - + @@ -6492,43 +6562,73 @@ Fill in your PGP password when asked, to sign your new key. Auto Login - + - Register retroshare:// as URL protocol (Restart required) - + Register retroshare:// as URL protocol + You need administrator rights to change this option. - + - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle - + Idle Time - + seconds - + Launch startup wizard - + - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error - + @@ -6546,9 +6646,9 @@ Fill in your PGP password when asked, to sign your new key. 일반 - + Minimize to Tray Icon - + @@ -6557,27 +6657,27 @@ Fill in your PGP password when asked, to sign your new key. Getting Started - + Invite Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be sure to get their invitation back as well... </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can only connect with friends if you have both added each other.</span></p></body></html> - + @@ -6587,25 +6687,25 @@ p, li { white-space: pre-wrap; } Add Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6617,31 +6717,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6654,47 +6754,47 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + Connect To Friends - + Advanced: Open Firewall Port - + Further Help and Support - + Open RS Website - + Open FAQ Wiki - + Open Online Forums - + Email Support - + Email Feedback - + @@ -6719,12 +6819,12 @@ p, li { white-space: pre-wrap; } forums and channels, all of which are as secure as the file-sharing. - + Here is your friends ID Certificate. - + @@ -6734,12 +6834,12 @@ p, li { white-space: pre-wrap; } and send them your ID Certificate to get securely connected. - + Cut Below Here - + @@ -6754,7 +6854,7 @@ p, li { white-space: pre-wrap; } It has many features, including built-in chat, messaging, - + @@ -6762,82 +6862,82 @@ p, li { white-space: pre-wrap; } Router Statistics - + GroupBox - + ID - + ID Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + Unknown Peer - + Pending packets - + Unknown - + 알 수 없음 @@ -6845,22 +6945,22 @@ p, li { white-space: pre-wrap; } Managed keys - + Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6868,7 +6968,15 @@ p, li { white-space: pre-wrap; } Show Group Chat - + + + + + GroupChooser + + + [Unknown] + @@ -6876,27 +6984,27 @@ p, li { white-space: pre-wrap; } Friends - + Family - + Co-Workers - + Other Contacts - + Favorites - + @@ -6904,78 +7012,78 @@ p, li { white-space: pre-wrap; } Directory is browsable for friends from groups - + Directory is NOT browsable for friends from groups - + Directory is accessible by anonymous tunnels from friends from groups - + Directory is NOT accessible by anonymous tunnels from friends from groups - + Directory is browsable for any friend - + Directory is NOT browsable for any friend - + Directory is accessible by anonymous tunnels from any friend - + Directory is NOT accessible by anonymous tunnels from any friend - + No one can browse this directory - + No one can anonymously access this directory. - + All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -6988,7 +7096,7 @@ p, li { white-space: pre-wrap; } Hide tabbar with one open tab - + @@ -6996,47 +7104,47 @@ p, li { white-space: pre-wrap; } Share - + Contacts: - + - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer - + - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7059,42 +7167,47 @@ p, li { white-space: pre-wrap; } Search Description - + Sort by Name - + Sort by Popularity - + Sort by Last Post - + Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + Display - + 표시 - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7102,17 +7215,17 @@ p, li { white-space: pre-wrap; } and - + and / or - + or - + @@ -7127,12 +7240,12 @@ p, li { white-space: pre-wrap; } Extension - + Hash - + @@ -7142,7 +7255,7 @@ p, li { white-space: pre-wrap; } Size - + @@ -7152,47 +7265,47 @@ p, li { white-space: pre-wrap; } contains - + contains all - + is - + less than - + less than or equal - + equals - + greater than or equal - + greater than - + is in range - + @@ -7201,7 +7314,7 @@ p, li { white-space: pre-wrap; } Channels - + @@ -7216,12 +7329,12 @@ p, li { white-space: pre-wrap; } My Channels - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + @@ -7241,7 +7354,7 @@ p, li { white-space: pre-wrap; } Select channel download directory - + @@ -7251,18 +7364,18 @@ p, li { white-space: pre-wrap; } Set download directory - + [Default directory] - + Specify... - + @@ -7280,42 +7393,42 @@ p, li { white-space: pre-wrap; } TextLabel - + Open folder - + Error - + Paused - + Waiting - + Checking - + Are you sure that you want to cancel and delete the file? - + Can't open folder - + @@ -7328,12 +7441,12 @@ p, li { white-space: pre-wrap; } Filename - + Size - + @@ -7343,7 +7456,7 @@ p, li { white-space: pre-wrap; } Published - + @@ -7356,32 +7469,32 @@ p, li { white-space: pre-wrap; } Create New Channel - + Channel - + Edit Channel - + Add Channel Admins - + Select Channel Admins - + Update Channel - + @@ -7437,8 +7550,18 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status - + @@ -7447,15 +7570,15 @@ p, li { white-space: pre-wrap; } - + Play - + Comments - + @@ -7484,19 +7607,19 @@ p, li { white-space: pre-wrap; } 항목 제거 - + Channel Feed 채널 피드 - + Files - + Warning! You have less than %1 hours and %2 minute before this file is deleted Consider saving it. - + @@ -7511,7 +7634,7 @@ p, li { white-space: pre-wrap; } 0 - + 0 @@ -7521,27 +7644,27 @@ p, li { white-space: pre-wrap; } I like this - + I dislike this - + - + Loading 불러오는 중 - + Open 열기 Open File - + @@ -7552,7 +7675,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel 채널에 게시하기 @@ -7564,10 +7687,10 @@ p, li { white-space: pre-wrap; } Search channels - + - + Title 제목 @@ -7579,22 +7702,22 @@ p, li { white-space: pre-wrap; } Message - + Search Message - + Filename - + Search Filename - + @@ -7602,7 +7725,32 @@ p, li { white-space: pre-wrap; } 선택한 채널 없음 - + + Public + 공용 + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download 자동 다운로드 비활성화 @@ -7614,37 +7762,53 @@ p, li { white-space: pre-wrap; } Show feeds - + Show files - + - + + Administrator: + + + + + + unknown + + + + + Distribution: + + + + Feeds 피드 Files - + - + Subscribers - + - + Description: 설명: - + Posts (at neighbor nodes): - + @@ -7652,7 +7816,7 @@ p, li { white-space: pre-wrap; } Channel Post - + @@ -7660,7 +7824,7 @@ p, li { white-space: pre-wrap; } Comment Container - + @@ -7673,7 +7837,7 @@ p, li { white-space: pre-wrap; } Hot - + @@ -7683,17 +7847,17 @@ p, li { white-space: pre-wrap; } Top - + Voter ID: - + Refresh - + @@ -7718,17 +7882,17 @@ p, li { white-space: pre-wrap; } UpVotes - + DownVotes - + OwnVote - + @@ -7736,22 +7900,22 @@ p, li { white-space: pre-wrap; } Reply to Comment - + Submit Comment - + Vote Up - + Vote Down - + @@ -7759,32 +7923,32 @@ p, li { white-space: pre-wrap; } Make Comment - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> - + Signed by - + Comment Signing Error - + You need to create an Identity before you can comment - + @@ -7792,7 +7956,7 @@ before you can comment Create New Forum - + @@ -7802,22 +7966,22 @@ before you can comment Edit Forum - + Update Forum - + Add Forum Admins - + Select Forum Admins - + @@ -7830,7 +7994,7 @@ before you can comment Subscribe to Forum - + @@ -7846,7 +8010,7 @@ before you can comment Forum Description - + @@ -7856,7 +8020,7 @@ before you can comment New Forum - + @@ -7875,7 +8039,7 @@ before you can comment Unsubscribe To Forum - + @@ -7896,7 +8060,7 @@ before you can comment In Reply to: - + @@ -7906,7 +8070,7 @@ before you can comment Forum Feed - + @@ -7922,9 +8086,9 @@ before you can comment 양식 - + Start new Thread for Selected Forum - + @@ -7939,16 +8103,16 @@ before you can comment Threaded View - + Flat View - + - + Title 제목 @@ -7961,45 +8125,45 @@ before you can comment - + Author 작성자 Save image - + - + Loading 불러오는 중 Reply Message - + Previous Thread - + Next Thread - + Download all files - + Next unread - + @@ -8019,12 +8183,12 @@ before you can comment Content - + Search Content - + @@ -8034,32 +8198,32 @@ before you can comment Reply - + Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + Start New Thread - + Expand all - + Collapse all - + @@ -8071,7 +8235,7 @@ before you can comment with children - + @@ -8097,43 +8261,83 @@ before you can comment This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + 공용 + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + + + + Anti-spam - + [ ... Redacted message ... ] - + Anonymous - + signed - + @@ -8143,27 +8347,27 @@ before you can comment [ ... Missing Message ... ] - + <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8178,25 +8382,25 @@ before you can comment No Forum Selected! - + You cant reply to a non-existant Message - + You cant reply to an Anonymous Author - + Original Message - + @@ -8206,7 +8410,7 @@ before you can comment Sent - + @@ -8216,42 +8420,42 @@ before you can comment On %1, %2 wrote: - + - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description 설명 By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8259,7 +8463,7 @@ before you can comment Forum Post - + @@ -8267,38 +8471,38 @@ before you can comment <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + Forums - + Create Forum - + My Forums - + Subscribed Forums - + Popular Forums - + Other Forums - + @@ -8306,12 +8510,12 @@ before you can comment Waiting - + Retrieving - + @@ -8322,69 +8526,69 @@ before you can comment GxsGroupDialog - - + + Name 이름 - + Add Icon - + Key recipients can publish to restricted-type group and can view and publish for private-type channels - + Share Publish Key - + - + check peers you would like to share private publish key with - + Share Key With - + - - + + Description 설명 - + Message Distribution - + - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public 공용 - - - Restricted to Group - - - - - + Only For Your Friends - + - + Publish Signatures - + @@ -8394,184 +8598,253 @@ before you can comment New Thread - + Required - + Encrypted Msgs - + Personal Signatures - + PGP Required - + Signature Required - + If No Publish Signature - + - Comments - + - + Allow Comments - + No Comments - + Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: - + - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name 이름을 입력해주십시오 - + + PGP signature from known ID required + + + + Load Group Logo - + - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback - + Owner: - + - + Set a descriptive description here - + - + Info 정보 - - Comments allowed - - - - - Comments not allowed - - - - + ID ID - + Last Post 최신 게시글 + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity 인기도 - - - Posts - - - Type - 형식 + Posts + - + Type + 형식 + + + Author 작성자 GxsIdLabel - + @@ -8584,17 +8857,17 @@ before you can comment Todo - + Print - + PrintPreview - + @@ -8614,15 +8887,20 @@ before you can comment Show Details - + Edit Details - + - + + Share publish permissions + + + + Copy RetroShare Link 레트로 쉐어 링크 복사 @@ -8634,91 +8912,86 @@ before you can comment Mark all as unread - + - + AUTHD - - - - - Share admin permissions - + GxsIdChooser - + No Signature - + - + Create new Identity - + GxsIdDetails - + Loading 불러오는 중 Not found - + No Signature - + [Banned] - + Authentication - + unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8739,42 +9012,42 @@ before you can comment Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + @@ -8783,17 +9056,17 @@ before you can comment Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + @@ -8807,17 +9080,17 @@ before you can comment Find: - + Find Previous - + Find Next - + @@ -8827,17 +9100,17 @@ before you can comment Whole words only - + Contents - + Help Topics - + @@ -8848,74 +9121,74 @@ before you can comment Searching for: - + Found Documents - + Back - + Move to previous page (Backspace) - + Backspace - + Forward - + Move to next page (Shift+Backspace) - + Shift+Backspace - + Home - + Move to the Home page (Ctrl+H) - + Ctrl+H - + Find - + Search for a word or phrase on current page (Ctrl+F) - + Ctrl+F - + @@ -8925,43 +9198,43 @@ before you can comment Close Vidalia Help - + Esc - + Supplied XML file is not a valid Contents document. - + Search reached end of document - + Search reached start of document - + Text not found in document - + Found %1 results - + Error Loading Help Contents: - + @@ -8974,22 +9247,22 @@ before you can comment Authors - + Thanks to - + Translation - + License Agreement - + @@ -8998,14 +9271,14 @@ before you can comment p, li { white-space: pre-wrap; } </style></head><body style=" font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; font-weight:600;">About RetroShare</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9016,14 +9289,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Swedish: </span><span style=" font-size:8pt;"> Daniel Wester</span><span style=" font-size:8pt; font-weight:600;"> &lt;</span><span style=" font-size:8pt;">wester@speedmail.se</span><span style=" font-size:8pt; font-weight:600;">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">German: </span><span style=" font-size:8pt;">Jan</span><span style=" font-size:8pt; font-weight:600;"> </span><span style=" font-size:8pt;">Keller</span> &lt;<span style=" font-size:8pt;">trilarion@users.sourceforge.net</span>&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polish: </span>Maciej Mrug</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9033,16 +9306,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + Libraries - + @@ -9050,7 +9323,7 @@ p, li { white-space: pre-wrap; } Opening External Link - + @@ -9065,7 +9338,7 @@ p, li { white-space: pre-wrap; } Unable to Open Link - + @@ -9075,26 +9348,26 @@ p, li { white-space: pre-wrap; } Error opening help file: - + IdDetailsDialog - + Person Details - + Identity Info - + Owner node ID : - + @@ -9104,61 +9377,61 @@ p, li { white-space: pre-wrap; } Owner node name : - + Identity name : - + Identity ID : - + Last used: - + Your Avatar Click here to change your avatar - + Reputation - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9168,119 +9441,120 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + Unknown real name - + Anonymous Id - + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + 확인 Banned - + IdDialog - + + New ID - + - - + + All - + Reputation - + @@ -9288,97 +9562,129 @@ p, li { white-space: pre-wrap; } 검색 - - Unknown real name - - - - + Anonymous Id - + - + Create new Identity - + + + + + Create new circle + Persons - + - + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + + + + + Circle name + + + + + Membership + + + + + Public Circles + + + + + Personal Circles + + + + Edit identity - + Delete identity - + Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID - + - + Send message - + - + Identity info - + Identity ID : - + Owner node name : - + @@ -9388,277 +9694,480 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous - + - + ID - + ID Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + 공용 + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + OK - + 확인 Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People - + Your Avatar Click here to change your avatar - + - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9666,43 +10175,43 @@ p, li { white-space: pre-wrap; } Nickname - + Key ID - + PGP Name - + PGP Hash - + PGP Id - + Pseudonym - + New identity - + To be generated - + @@ -9715,38 +10224,38 @@ p, li { white-space: pre-wrap; } N/A - + Edit identity - + Error getting key! - + Error KeyID invalid - + Unknown GpgId - + Unknown real name - + Create New Identity - + @@ -9761,7 +10270,7 @@ p, li { white-space: pre-wrap; } TextLabel - + @@ -9770,7 +10279,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9781,32 +10290,32 @@ p, li { white-space: pre-wrap; } Your Avatar Click here to change your avatar - + Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9819,12 +10328,12 @@ p, li { white-space: pre-wrap; } KeyId - + GXSId - + @@ -9834,27 +10343,27 @@ p, li { white-space: pre-wrap; } - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9863,11 +10372,11 @@ p, li { white-space: pre-wrap; } Message History - + - + Copy 복사하기 @@ -9879,7 +10388,7 @@ p, li { white-space: pre-wrap; } Mark all - + @@ -9889,7 +10398,7 @@ p, li { white-space: pre-wrap; } Clear history - + @@ -9903,17 +10412,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -9922,69 +10431,69 @@ p, li { white-space: pre-wrap; } Open File - + Open Folder - + Edit Share Permissions - + Checking... - + Check files - + Edit Shared Folder - + Recommend in a message to - + Set command for opening this file - + Collection - + MainWindow - + Add Friend - + Add a Friend Wizard - + Add Share - + - + Options 옵션 @@ -9992,7 +10501,7 @@ p, li { white-space: pre-wrap; } Messenger - + @@ -10003,34 +10512,34 @@ p, li { white-space: pre-wrap; } SMPlayer - + Quit - + Quick Start Wizard - + - + RetroShare %1 a secure decentralized communication platform - + - + Unfinished - + Low disk space warning - + @@ -10048,7 +10557,7 @@ p, li { white-space: pre-wrap; } Show/Hide - + @@ -10058,27 +10567,27 @@ p, li { white-space: pre-wrap; } Notify - + Open Messenger - + Open Messages - + Bandwidth Graph - + Applications - + @@ -10088,17 +10597,17 @@ p, li { white-space: pre-wrap; } Minimize - + Maximize - + &Quit - + @@ -10108,32 +10617,32 @@ p, li { white-space: pre-wrap; } %1 new message - + %1 new messages - + Down: %1 (kB/s) - + Up: %1 (kB/s) - + %1 friend connected - + %1 friends connected - + @@ -10141,9 +10650,9 @@ p, li { white-space: pre-wrap; } 정말로 레트로 쉐어를 나가시겠습니까? - + Internal Error - + @@ -10158,12 +10667,12 @@ p, li { white-space: pre-wrap; } Make sure this link has not been forged to drag you to a malicious website. - + Don't ask me again - + @@ -10173,107 +10682,107 @@ p, li { white-space: pre-wrap; } The file link is malformed. - + ServicePermissions - + Service permissions matrix - + - + Add 추가 Statistics - + Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose - + Contacts - + Paragraph - + Heading 1 - + Heading 2 - + Heading 3 - + Heading 4 - + Heading 5 - + Heading 6 - + Font size - + Increase font size - + @@ -10293,17 +10802,17 @@ p, li { white-space: pre-wrap; } Alignment - + Add an Image - + Sets text font to code style - + @@ -10318,53 +10827,53 @@ p, li { white-space: pre-wrap; } Tags: - + - + Tags - + Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + Recommended Files - + File Name - + Size - + Hash - + @@ -10374,17 +10883,17 @@ p, li { white-space: pre-wrap; } Send this message now - + Reply - + Toggle Contacts View - + @@ -10394,82 +10903,82 @@ p, li { white-space: pre-wrap; } Save this message - + Attach - + Attach File - + Quote - + Add Blockquote - + Send To: - + &Left - + C&enter - + &Right - + &Justify - + All addresses (mixed) - + All people - + My contacts - + Hello,<br>I recommend a good friend of mine; you can trust them too when you trust me. <br> - + You have a friend recommendation - + This friend is suggested by - + @@ -10479,19 +10988,19 @@ p, li { white-space: pre-wrap; } Hi %1,<br><br>%2 wants to be friends with you on RetroShare.<br><br>Respond now:<br>%3<br><br>Thanks,<br>The RetroShare Team - + - + Save Message - + Message has not been Sent. Do you want to save message to draft box? - + @@ -10501,27 +11010,27 @@ Do you want to save message to draft box? Add to "To" - + Add to "CC" - + Add to "BCC" - + Add as Recommend - + Original Message - + @@ -10533,19 +11042,19 @@ Do you want to save message to draft box? To - + Cc - + Sent - + @@ -10555,17 +11064,17 @@ Do you want to save message to draft box? On %1, %2 wrote: - + Re: - + Fwd: - + @@ -10582,13 +11091,13 @@ Do you want to save message to draft box? Please insert at least one recipient. - + Bcc - + @@ -10598,123 +11107,123 @@ Do you want to save message to draft box? &File - + &New - + &Open... - + &Save - + Save &As File - + Save &As Draft - + &Print... - + &Export PDF... - + &Quit - + &Edit - + &Undo - + &Redo - + Cu&t - + &Copy - + &Paste - + &View - + &Contacts Sidebar - + &Insert - + &Image - + &Horizontal Line - + &Format - + Details - + Open File... - + HTML-Files (*.htm *.html);;All Files (*) - + @@ -10724,28 +11233,28 @@ Do you want to save message to draft box? Print Document - + Export PDF - + Message has not been Sent. Do you want to save message ? - + Choose Image - + Image Files supported (*.png *.jpeg *.jpg *.gif) - + @@ -10763,74 +11272,74 @@ Do you want to save message ? 어디에서 : - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10838,27 +11347,27 @@ Do you want to save message ? Everyone - + Contacts - + Nobody - + Accept encrypted distant messages from - + Reading - + @@ -10868,17 +11377,17 @@ Do you want to save message ? Open messages in - + Tags - + Tags can be used to categorize and prioritize your messages - + @@ -10903,32 +11412,32 @@ Do you want to save message ? A new tab - + A new window - + Edit Tag - + Message - + Distant messages: - + Load embedded images - + @@ -10936,7 +11445,7 @@ Do you want to save message ? Sub: - + @@ -10944,7 +11453,7 @@ Do you want to save message ? Message - + @@ -10952,12 +11461,12 @@ Do you want to save message ? Recommended Files - + Download all Recommended Files - + @@ -10977,52 +11486,52 @@ Do you want to save message ? Cc: - + Bcc: - + Tags: - + File Name - + Size - + Hash - + Print - + Print Preview - + Confirm %1 as friend - + Add %1 as friend - + @@ -11038,12 +11547,12 @@ Do you want to save message ? Download all - + Print Document - + @@ -11053,22 +11562,22 @@ Do you want to save message ? HTML-Files (*.htm *.html);;All Files (*) - + Load images always for this message - + Hide the attachment pane - + Show the attachment pane - + @@ -11076,47 +11585,47 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Forward - + Remove selected message - + @@ -11126,13 +11635,13 @@ Do you want to save message ? Print selected message - + Print - + @@ -11144,63 +11653,63 @@ Do you want to save message ? Tags - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + &File - + Save &As File - + &Print... - + Print Preview... - + &Quit - + @@ -11209,47 +11718,47 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Foward - + Remove selected message - + @@ -11259,12 +11768,12 @@ Do you want to save message ? Print selected message - + Print - + @@ -11278,7 +11787,7 @@ Do you want to save message ? Tags - + @@ -11286,7 +11795,7 @@ Do you want to save message ? Inbox - + @@ -11294,18 +11803,18 @@ Do you want to save message ? Outbox - + Draft - + Sent - + @@ -11313,80 +11822,80 @@ Do you want to save message ? Trash - + Total Inbox: - + Folders - + Quick View - + Print... - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + Save As... - + Reply to Message - + Reply to All - + Forward Message - + @@ -11411,12 +11920,12 @@ Do you want to save message ? Content - + Click to sort by attachments - + @@ -11426,33 +11935,33 @@ Do you want to save message ? Click to sort by read - + Click to sort by from - + Click to sort by date - + Click to sort by tags - + Click to sort by star - + Forward selected Message - + @@ -11462,7 +11971,7 @@ Do you want to save message ? Search From - + @@ -11472,32 +11981,32 @@ Do you want to save message ? Search Content - + Search Tags - + Attachments - + Search Attachments - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + Starred - + @@ -11507,12 +12016,12 @@ Do you want to save message ? Open in a new window - + Open in a new tab - + @@ -11527,7 +12036,7 @@ Do you want to save message ? Add Star - + @@ -11537,59 +12046,59 @@ Do you want to save message ? Edit as new - + Remove Messages - + Remove Message - + Undelete - + Empty trash - + Drafts - + No starred messages available. Stars let you give messages a special status to make them easier to find. To star a message, click on the light gray star beside any message. - + No system messages available. - + To - + Click to sort by to - + This message goes to a distant person. - + @@ -11598,33 +12107,33 @@ Do you want to save message ? Total: - + Messages - + Click to sort by signature - + This message was signed and the signature checks - + This message was signed but the signature doesn't check - + This message comes from a distant person. - + @@ -11635,14 +12144,14 @@ Do you want to save message ? 레트로 쉐어 메신저 - + Add a Friend - + Share files for your friends - + @@ -11650,17 +12159,17 @@ Do you want to save message ? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + @@ -11670,7 +12179,7 @@ Do you want to save message ? Paste my certificate link - + @@ -11678,17 +12187,17 @@ Do you want to save message ? Reply to Message - + Reply Message - + Delete Message - + @@ -11709,22 +12218,22 @@ Do you want to save message ? Message From - + Sent Msg - + Draft Msg - + Pending Msg - + @@ -11737,42 +12246,42 @@ Do you want to save message ? <strong>NAT:</strong> - + Network Status Unknown - + Offline - + Nasty Firewall - + DHT Disabled and Firewalled - + Network Restarting - + Behind Firewall - + DHT Disabled - + @@ -11782,7 +12291,7 @@ Do you want to save message ? Forwarded Port - + @@ -11790,12 +12299,12 @@ Do you want to save message ? Filter: - + Search Network - + @@ -11807,89 +12316,89 @@ Do you want to save message ? Did I authenticated peer - + Did I sign his PGP key - + Did peer authenticated me - + Cert Id - + Last used - + Clear - + Set Tabs Right - + Set Tabs North - + Set Tabs South - + Set Tabs Left - + Set Tabs Rounded - + Set Tabs Triangular - + Add Friend - + Copy My Key to Clipboard - + Export My Key - + Create New Profile - + Create a new Profile - + @@ -11899,37 +12408,37 @@ Do you want to save message ? Deny friend - + Peer details... - + Remove unused keys... - + Clean keyring - + - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. The removal may fail when running multiple Retroshare instances on the same machine. - + Keyring info - + @@ -11937,7 +12446,7 @@ Notes: Your old keyring will be backed up. For security, your keyring was previously backed-up to file - + @@ -11947,42 +12456,42 @@ For security, your keyring was previously backed-up to file Cannot delete secret keys - + Cannot create backup file. Check for permissions in pgp directory, disk space, etc. - + Personal signature - + PGP key signed by you - + Marginally trusted peer - + Fully trusted peer - + Untrusted peer - + Has authenticated me - + @@ -11992,12 +12501,12 @@ For security, your keyring was previously backed-up to file Last hour - + Today - + @@ -12007,95 +12516,95 @@ For security, your keyring was previously backed-up to file %1 days ago - + has authenticated you. Right-click and select 'make friend' to be able to connect. - + yourself - + Data inconsistency in the keyring. This is most probably a bug. Please contact the developers. - + Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12103,7 +12612,7 @@ Reported error: Network - + @@ -12111,22 +12620,22 @@ Reported error: Redraw - + Friendship level: - + Edge length: - + Freeze - + @@ -12134,7 +12643,7 @@ Reported error: New Tag - + @@ -12144,7 +12653,7 @@ Reported error: Choose color - + @@ -12172,12 +12681,12 @@ Reported error: Remove All - + This is a test. - + @@ -12187,17 +12696,17 @@ Reported error: Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12210,22 +12719,22 @@ Reported error: Channels - + Forums - + Blogs - + Messages - + @@ -12235,7 +12744,7 @@ Reported error: Security - + @@ -12246,45 +12755,45 @@ Reported error: Systray Icon - + Message - + Connect attempt - + Toasters - + Friend Connect - + Ip security - + New Message - + Download completed - + @@ -12299,27 +12808,27 @@ Reported error: Chat Lobby - + Position - + X Margin - + Y Margin - + Systray message - + @@ -12329,62 +12838,62 @@ Reported error: Chat lobbies - + Combined - + Blink - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + Top Left - + Top Right - + Bottom Left - + Bottom Right - + Notify - + Disable All Toasters - + Posted - + Disable All Toaster temporarily - + @@ -12394,70 +12903,70 @@ Reported error: Systray - + Chat Lobbies - + Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase - + Wrong password ! - + Unregistered plugin/executable - + RetroShare has detected an unregistered plugin. This happens in two cases:<UL><LI>Your RetroShare executable has changed.</LI><LI>The plugin has changed</LI></UL>Click on Yes to authorize this plugin, or No to deny it. You can change your mind later in Options -> Plugins, then restart. - + - + Please check your system clock. - + - + Examining shared files... - + Hashing file - + Saving file index... - + @@ -12467,28 +12976,28 @@ Reported error: This is a test. - + Unknown title - + Encrypted message - + - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12496,7 +13005,7 @@ Reported error: Friend Online - + @@ -12504,30 +13013,30 @@ Reported error: Normal Mode - + No Anon D/L - + Gaming Mode - + Low Traffic - + - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers - + @@ -12535,42 +13044,42 @@ Reported error: Dialog - + PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + @@ -12580,165 +13089,226 @@ Reported error: No trust - + Marginal - + Full - + Ultimate - + Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign PGP key - + <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures 서명 포함 + + + Options + 옵션 + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details - + - - + + RetroShare Retroshare (뒤에몫) - - - + + + Error : cannot get peer details. 오류 : 동료 세부 정보를 가져올 수 없습니다 - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) - + - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + Your trust in this peer is full. - + Your trust in this peer is marginal. - + Your trust in this peer is none. - + - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure 서명 실패 @@ -12748,19 +13318,19 @@ p, li { white-space: pre-wrap; } 비밀번호가 잘못된 것 같습니다 - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12807,12 +13377,12 @@ p, li { white-space: pre-wrap; } Peer ID: - + Trust: - + @@ -12822,12 +13392,12 @@ p, li { white-space: pre-wrap; } IP Address: - + Connection Method: - + @@ -12842,27 +13412,27 @@ p, li { white-space: pre-wrap; } Friend - + Friend Connected - + Connect Attempt - + Friend of Friend - + Peer - + @@ -12875,7 +13445,7 @@ p, li { white-space: pre-wrap; } Unknown Peer - + @@ -12885,7 +13455,7 @@ p, li { white-space: pre-wrap; } Send Message - + @@ -12893,42 +13463,96 @@ p, li { white-space: pre-wrap; } Friends: 0/0 - + Online Friends/Total Friends - + Friends - + PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -12944,17 +13568,17 @@ p, li { white-space: pre-wrap; } PhotoShare - + Photo - + TextLabel - + @@ -12964,27 +13588,27 @@ p, li { white-space: pre-wrap; } Summary - + Caption - + Where: - + Photo Title: - + When - + @@ -12994,12 +13618,12 @@ p, li { white-space: pre-wrap; } Add Comment - + Write a comment... - + @@ -13012,34 +13636,34 @@ p, li { white-space: pre-wrap; } TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> - + @@ -13052,53 +13676,53 @@ p, li { white-space: pre-wrap; } Create Album - + View Album - + Subscribe To Album - + Slide Show - + My Albums - + Subscribed Albums - + Shared Albums - + View Photo - + PhotoShare - + Please select an album before requesting to edit it! - + @@ -13106,33 +13730,33 @@ requesting to edit it! Album Name - + Image - + Show/Hide Details - + << - + Stop - + >> - + @@ -13142,17 +13766,17 @@ requesting to edit it! Start - + Start Slide Show - + Stop Slide Show - + @@ -13168,26 +13792,26 @@ requesting to edit it! TextLabel - + Show more details about this plugin - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> - + Enable this plugin (restart required) - + @@ -13197,22 +13821,22 @@ p, li { white-space: pre-wrap; } Disable this plugin (restart required) - + Disable - + Launch configuration panel, if provided by the plugin - + Configure - + @@ -13222,17 +13846,17 @@ p, li { white-space: pre-wrap; } File name: - + File hash: - + Status: - + @@ -13245,37 +13869,37 @@ p, li { white-space: pre-wrap; } base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13283,22 +13907,22 @@ p, li { white-space: pre-wrap; } Install New Plugin... - + Open Plugin to install - + Plugins (*.so *.dll) - + Widget for plugin %1 not found on plugins frame - + @@ -13306,27 +13930,27 @@ p, li { white-space: pre-wrap; } Authorize all plugins - + Plugin look-up directories - + Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + No API number supplied. Please read plugin development manual. - + @@ -13335,37 +13959,37 @@ p, li { white-space: pre-wrap; } [loading problem] - + No SVN number supplied. Please read plugin development manual. - + Loading error. - + Missing symbol. Wrong version? - + No plugin object - + Plugins is loaded. - + Unknown status. - + @@ -13373,18 +13997,18 @@ p, li { white-space: pre-wrap; } be checked for the hash. However, in normal times, checking the hash protects you from malicious behavior of crafted plugins. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + Plugins - + @@ -13400,17 +14024,17 @@ malicious behavior of crafted plugins. Clear offline messages - + Hide Avatar - + Show Avatar - + @@ -13418,36 +14042,36 @@ malicious behavior of crafted plugins. Avatar - + Set your Avatar Picture - + Dock tab - + Undock tab - + Set Chat Window Color - + Set window on top - + @@ -13455,32 +14079,32 @@ malicious behavior of crafted plugins. Chat remotely closed. Please close this window. - + The person you're talking to has deleted the secured chat tunnel. You may remove the chat window now. - + Closing this window will end the conversation, notify the peer and remove the encrypted tunnel. - + Kill the tunnel? - + Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13488,12 +14112,12 @@ malicious behavior of crafted plugins. Signed by: - + Notes - + @@ -13503,32 +14127,32 @@ malicious behavior of crafted plugins. Please create or choose a Signing Id first - + Submit Post - + You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + Submit - + Submit a new Post - + Please add a Title - + @@ -13538,7 +14162,7 @@ malicious behavior of crafted plugins. Link - + @@ -13546,42 +14170,42 @@ malicious behavior of crafted plugins. Posted Links - + Posted - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + My Topics - + Subscribed Topics - + Popular Topics - + Other Topics - + @@ -13589,32 +14213,32 @@ malicious behavior of crafted plugins. Posted Topic - + Add Topic Admins - + Select Topic Admins - + Create New Topic - + Edit Topic - + Update Topic - + @@ -13627,7 +14251,7 @@ malicious behavior of crafted plugins. Subscribe to Posted - + @@ -13643,7 +14267,7 @@ malicious behavior of crafted plugins. Posted Description - + @@ -13653,7 +14277,7 @@ malicious behavior of crafted plugins. New Posted - + @@ -13664,20 +14288,20 @@ malicious behavior of crafted plugins. PostedItem - + 0 - + 0 Site - + - + Comments - + @@ -13687,17 +14311,17 @@ malicious behavior of crafted plugins. Vote up - + Vote down - + \/ - + @@ -13710,9 +14334,19 @@ malicious behavior of crafted plugins. 새 글 - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status - + @@ -13720,14 +14354,14 @@ malicious behavior of crafted plugins. 항목 제거 - + Loading 불러오는 중 By - + @@ -13740,7 +14374,7 @@ malicious behavior of crafted plugins. Hot - + @@ -13750,37 +14384,37 @@ malicious behavior of crafted plugins. Top - + Today - + Yesterday - + This Week - + This Month - + This Year - + Submit a new Post - + @@ -13795,7 +14429,7 @@ malicious behavior of crafted plugins. Please create or choose a Signing Id before Voting - + @@ -13805,7 +14439,7 @@ malicious behavior of crafted plugins. 1-10 - + 1-10 @@ -13813,17 +14447,17 @@ malicious behavior of crafted plugins. Tabs - + Posted - + Open each topic in a new tab - + @@ -13831,7 +14465,7 @@ malicious behavior of crafted plugins. Posted - + @@ -13844,32 +14478,32 @@ malicious behavior of crafted plugins. Print - + &Print... - + Page Setup... - + Zoom In - + Zoom Out - + &Close - + @@ -13878,7 +14512,7 @@ malicious behavior of crafted plugins. Profile Manager - + @@ -13893,13 +14527,13 @@ malicious behavior of crafted plugins. GID - + Export Identity - + @@ -13910,7 +14544,7 @@ malicious behavior of crafted plugins. Identity saved - + @@ -13919,42 +14553,42 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Identity not saved - + Your identity was not saved. An error occurred. - + Import Identity - + Identity not loaded - + Your identity was not loaded properly: - + New identity imported - + Your identity was imported successfully: - + @@ -13971,28 +14605,28 @@ and use the import button to load it <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + You can use it now to create a new node. - + @@ -14001,22 +14635,22 @@ p, li { white-space: pre-wrap; } Edit status message - + Copy Certificate - + Profile Manager - + Public Information - + @@ -14031,52 +14665,52 @@ p, li { white-space: pre-wrap; } Peer ID: - + Number of Friends: - + Version: - + Online since: - + Other Information - + My Address - + Local Address: - + External Address: - + Dynamic DNS: - + Addresses list: - + @@ -14087,12 +14721,12 @@ p, li { white-space: pre-wrap; } Sorry, create certificate failed - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -14100,51 +14734,51 @@ p, li { white-space: pre-wrap; } Post From: - + Account 1 - + Account 2 - + Account 3 - + Add to Pulse - + filter - + URL Adder - + Display As - + URL - + @@ -14154,7 +14788,7 @@ p, li { white-space: pre-wrap; } Post Pulse to Wire - + @@ -14180,118 +14814,123 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation - + Do you want this link to be handled by your system? - + - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. - + - + Add file - + Add files - + Do you want to process the link ? - + Do you want to process %1 links ? - + - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. - + %1 of %2 RetroShare links processed. - + File added - + Files added - + File exist - + Files exist - + Friend added - + Friends added - + Friend exist - + Friends exist - + Friend not added - + Friends not added - + Friend not found - + Friends not found - + @@ -14301,150 +14940,165 @@ and open the Make Friend Wizard. Forums not found - + Forum message not found - + Forum messages not found - + Channel not found - + Channels not found - + Channel message not found - + Channel messages not found - + + + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + Recipient not accepted - + Recipients not accepted - + Unkown recipient - + Unkown recipients - + Malformed links - + Invalid links - + Warning: forbidden characters found in filenames. Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. - + Result - + - + Unable to make path - + Unable to make path: - + Failed to process collection file - + - + Deny friend - + Make friend - + Peer details - + File Request canceled - + - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. - + Choose between:<br><ul><li><b>Ok</b> to copy the existing keyring from gnupg (safest bet), or </li><li><b>Close without saving</b> to start fresh with an empty keyring (you will be asked to create a new PGP key to work with RetroShare, or import a previously saved pgp keypair). </li><li><b>Cancel</b> to quit and forge a keyring by yourself (needs some PGP skills)</li></ul> - + - + RetroShare 레트로 쉐어 - + Initialization failed. Wrong or missing installation of PGP. - + An unexpected error occurred. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. 예상치 못한 오류가 발생했습니다. 'RsInit::InitRetroShare unexpexted return code %1' 을 보고해 주십시오. - + Multiple instances - + @@ -14460,27 +15114,22 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace An unexpected error occurred when Retroshare tried to acquire the single instance lock Lock file: - - - - - Start with a RetroShare link is only supported for Windows. - + Distant peer has closed the chat - + Tunnel is pending... - + Secured tunnel is working. You can talk! - + @@ -14488,186 +15137,186 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Reported error is: %2 - + - + Click to send a private message to %1 (%2). - + %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + secs - + TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + %1 days ago - + Subject: - + 제목: Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error - + unable to parse XML file! - + @@ -14675,19 +15324,19 @@ Security: no anonymous IDs Quick Start Wizard - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14696,7 +15345,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Choose which files you share.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Get started using RetroShare.</span></p></body></html> - + @@ -14704,7 +15353,7 @@ p, li { white-space: pre-wrap; } Next > - + @@ -14713,73 +15362,73 @@ p, li { white-space: pre-wrap; } Exit - + For best performance, RetroShare needs to know a little about your connection to the internet. - + Choose your download speed limit: - + KB/s - + Choose your upload speed limit: - + Connection : - + Automatic (UPnP) - + Firewalled - + Manually forwarded port - + Discovery : - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + @@ -14787,35 +15436,35 @@ p, li { white-space: pre-wrap; } < Back - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> - + Directory - + Network Wide - + Browseable - + @@ -14830,60 +15479,60 @@ p, li { white-space: pre-wrap; } Automatically share incoming directory (Recommended) - + RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + Do not show a message when Closing RetroShare - + Start Minimized - + @@ -14893,47 +15542,47 @@ p, li { white-space: pre-wrap; } Start minimized on system start - + Finish - + Select A Folder To Share - + Shared Directory Added! - + Warning! - + Browsable - + Universal - + If checked, the share is anonymously shared to anybody. - + If checked, the share is browsable by your friends. - + @@ -14941,12 +15590,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + @@ -14954,17 +15603,17 @@ p, li { white-space: pre-wrap; } %1 KB - + %1 MB - + %1 GB - + @@ -14977,12 +15626,12 @@ p, li { white-space: pre-wrap; } The loading of embedded images is blocked. - + Load images - + @@ -14990,60 +15639,60 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15051,17 +15700,17 @@ p, li { white-space: pre-wrap; } Down - + Up - + <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15069,49 +15718,49 @@ p, li { white-space: pre-wrap; } Enable Relay Connections - + Use Relay Servers - + Relay options - + Number - + Bandwidth per link - + Total Bandwidth - + Friends - + kB/s - + Friends of Friends - + @@ -15121,37 +15770,37 @@ p, li { white-space: pre-wrap; } Total: - + Relay Server Setup - + Add Server - + Server DHT Key - + Remove Server - + Relay - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15164,12 +15813,12 @@ p, li { white-space: pre-wrap; } Recommend in a message to - + Collection - + @@ -15177,7 +15826,7 @@ p, li { white-space: pre-wrap; } NEW - + @@ -15185,22 +15834,22 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + @@ -15213,33 +15862,33 @@ p, li { white-space: pre-wrap; } Add IP to whitelist - + Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15247,17 +15896,17 @@ p, li { white-space: pre-wrap; } Collection - + File name : - + Total size : - + @@ -15268,39 +15917,39 @@ p, li { white-space: pre-wrap; } Download! - + - + File - + - + Size - + Hash - + Bad filenames have been cleaned - + Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. - + Selected files : - + @@ -15310,27 +15959,27 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + >> - + <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + + - + @@ -15338,58 +15987,63 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace 저장 - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + Real Size=%1 - + Real File Count=%1 - + Save Collection File. - + What do you want to do? - + @@ -15399,42 +16053,42 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Merge - + Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + File already exists. - + <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15443,17 +16097,17 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Cannot open file %1 - + Error parsing xml file - + Open collection file - + @@ -15461,31 +16115,31 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Collection files - + Create collection file - + This file contains the string "%1" and is therefore an invalid collection file. If you believe it is correct, remove the corresponding line from the file and re-open it with Retroshare. - + Save Collection File. - + What do you want to do? - + @@ -15495,7 +16149,7 @@ If you believe it is correct, remove the corresponding line from the file and re Merge - + @@ -15505,16 +16159,16 @@ If you believe it is correct, remove the corresponding line from the file and re File already exists. - + RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? - + @@ -15522,13 +16176,13 @@ Reducing image to %1x%2 pixels? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. 저장한 모든 레트로 쉐어 설정을 초기화합니다. @@ -15568,39 +16222,48 @@ Reducing image to %1x%2 pixels? 레트로 쉐어 사용 정보 - + Unable to open log file '%1': %2 - + built-in - + Could not create data directory: %1 - + - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -15608,7 +16271,7 @@ Reducing image to %1x%2 pixels? RTT Statistics - + @@ -15616,12 +16279,12 @@ Reducing image to %1x%2 pixels? Enter a keyword here (at least 3 char long) - + Start Search - + @@ -15631,83 +16294,83 @@ Reducing image to %1x%2 pixels? Advanced Search - + Advanced - + Search inside "browsable" files of your friends - + Browsable files - + Multi-hop search at distance 6 in the network (always reports available files) - + Distant - + Include files from your own file list in the search result - + Own files - + Close all Search Results - + Clear - + KeyWords - + Results - + Search Id - + Filename - + Size - + Sources - + @@ -15717,87 +16380,87 @@ Reducing image to %1x%2 pixels? Age - + Hash - + Filter: - + Filter Search Result - + Max results: - + Any - + Archive - + Audio - + CD-Image - + Document - + Picture - + Program - + Video - + Directory - + Download Selected - + Download selected - + File Name - + @@ -15823,24 +16486,24 @@ Reducing image to %1x%2 pixels? Skipping Local Files - + Sorry - + This function is not yet implemented. - + Search again - + @@ -15850,7 +16513,7 @@ Reducing image to %1x%2 pixels? Remove All - + @@ -15866,32 +16529,32 @@ Reducing image to %1x%2 pixels? Open Folder - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + Collection - + @@ -15899,7 +16562,7 @@ Reducing image to %1x%2 pixels? Peer details - + @@ -15915,12 +16578,12 @@ Reducing image to %1x%2 pixels? IP address: - + Peer ID: - + @@ -15930,14 +16593,14 @@ Reducing image to %1x%2 pixels? Peer Name: - + Unknown Peer - + @@ -15947,33 +16610,33 @@ Reducing image to %1x%2 pixels? but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -15986,17 +16649,17 @@ Reducing image to %1x%2 pixels? Accept Friend Request - + Peer details - + Deny friend - + @@ -16027,12 +16690,12 @@ Reducing image to %1x%2 pixels? Peer ID: - + Trust: - + @@ -16042,12 +16705,12 @@ Reducing image to %1x%2 pixels? IP Address: - + Connection Method: - + @@ -16062,27 +16725,27 @@ Reducing image to %1x%2 pixels? Connect Attempt - + Connection refused by remote peer - + Unknown (Incoming) Connect Attempt - + Unknown (Outgoing) Connect Attempt - + Unknown Security Issue - + @@ -16091,7 +16754,7 @@ Reducing image to %1x%2 pixels? Unknown Peer - + @@ -16101,32 +16764,32 @@ Reducing image to %1x%2 pixels? Do you want to remove this Friend? - + Certificate has wrong signature!! This peer is not who he claims to be. - + Missing/Damaged certificate. Not a real Retroshare user. - + Certificate caused an internal error. - + Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16134,52 +16797,52 @@ Reducing image to %1x%2 pixels? Network Configuration - + Network Mode - + Nat - + Automatic (UPnP) - + Firewalled - + Manually Forwarded Port - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + @@ -16201,40 +16864,40 @@ Reducing image to %1x%2 pixels? Port: - + Local network - + External ip address finder - + UPnP - + Known / Previous IPs: - + Show Discovery information in statusbar - + If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. - + @@ -16245,125 +16908,125 @@ behind a firewall or a VPN. kB/s - + Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + Onion Address - + Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + Clear - + Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16373,23 +17036,23 @@ Also check your ports! Network - + IP Filters - + IP blacklist - + IP range - + @@ -16403,13 +17066,13 @@ Also check your ports! Origin - + Reason - + @@ -16421,158 +17084,158 @@ Also check your ports! IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + @@ -16585,78 +17248,78 @@ If you have issues connecting over Tor check the Tor logs too. Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16664,27 +17327,27 @@ If you have issues connecting over Tor check the Tor logs too. Service permissions - + Service Permissions - + Use as direct source, when available - + Auto-download recommended files - + Require whitelist - + @@ -16692,7 +17355,7 @@ If you have issues connecting over Tor check the Tor logs too. ServicePermissions - + @@ -16702,17 +17365,17 @@ If you have issues connecting over Tor check the Tor logs too. Permissions - + hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16734,42 +17397,42 @@ If you have issues connecting over Tor check the Tor logs too. Share Folder - + Local Path - + Browse - + Virtual Folder - + Share Flags - + Edit Shared Folder - + Select A Folder To Share - + Share flags and groups: - + @@ -16777,23 +17440,23 @@ If you have issues connecting over Tor check the Tor logs too. check peers you would like to share private publish key with - + Share for Friend - + Share - + You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -16806,32 +17469,32 @@ Select the Friends with which you want to Share your Channel. Shared Folder Manager - + Directory - + Virtual Folder - + Share flags - + Groups - + Add a Share Directory - + @@ -16841,7 +17504,7 @@ Select the Friends with which you want to Share your Channel. Stop sharing selected Directory - + @@ -16852,12 +17515,12 @@ Select the Friends with which you want to Share your Channel. Apply and close - + Edit selected Shared Directory - + @@ -16868,43 +17531,43 @@ Select the Friends with which you want to Share your Channel. Share Manager - + Edit Shared Folder - + Warning! - + Do you really want to stop sharing this directory ? - + Drop file error. - + File can't be dropped, only directories are accepted. - + Directory not found or directory name not accepted. - + This is a list of shared folders. You can add and remove folders using the buttons at the bottom. When you add a new folder, intially all files in that folder are shared. You can separately setup share flags for each shared directory. - + @@ -16912,17 +17575,17 @@ Select the Friends with which you want to Share your Channel. Files - + Search files - + Start Search - + @@ -16932,42 +17595,42 @@ Select the Friends with which you want to Share your Channel. Tree view - + Flat view - + All - + One day old - + One Week old - + One month old - + check files - + Download selected - + @@ -16997,7 +17660,7 @@ Select the Friends with which you want to Share your Channel. Add Links to Cloud - + @@ -17008,32 +17671,32 @@ Select the Friends with which you want to Share your Channel. Recommendation(s) - + Add Share - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + @@ -17041,48 +17704,48 @@ Select the Friends with which you want to Share your Channel. Friend - + Go Online - + Chatmessage - + New Msg - + Message - + Message arrived - + Download - + 다운로드 Download complete - + Lobby - + @@ -17090,7 +17753,7 @@ Select the Friends with which you want to Share your Channel. Event: - + @@ -17100,32 +17763,32 @@ Select the Friends with which you want to Share your Channel. Browse - + Event - + Filename - + Open File - + Sound - + Default - + 기본값 @@ -17133,30 +17796,30 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile - + Load configuration - + Create interface - + @@ -17169,17 +17832,17 @@ Select the Friends with which you want to Share your Channel. Login - + Name (PGP Id) - location: - + Remember Password - + @@ -17191,33 +17854,33 @@ Select the Friends with which you want to Share your Channel. Opens a dialog for creating a new profile or adding locations to an existing profile. The current identities/locations will not be affected. - + Load Person Failure - + Missing PGP Certificate - + Warning - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17226,7 +17889,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17235,7 +17898,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17244,7 +17907,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17252,17 +17915,17 @@ This choice can be reverted in settings. Add Friend - + Add a Friend Wizard - + Add Share - + @@ -17272,7 +17935,7 @@ This choice can be reverted in settings. Messenger - + @@ -17282,53 +17945,53 @@ This choice can be reverted in settings. SMPlayer - + Quit - + Quick Start Wizard - + ServicePermissions - + Service permissions matrix - + DHT - + Bandwidth - + Turtle Router - + Global Router - + RTT Statistics - + @@ -17337,165 +18000,165 @@ This choice can be reverted in settings. Offline - + Away - + Busy - + Online - + Idle - + Friend is offline - + Friend is away - + Friend is busy - + Friend is online - + Friend is idle - + Connected - + Unreachable - + Available - + Neighbor - + Trying TCP - + Trying UDP - + Connected: TCP - + Connected: UDP - + Connected: I2P - + Connected: Unknown - + DHT: Contact - + TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17503,30 +18166,30 @@ This choice can be reverted in settings. Status message - + Message: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> - + @@ -17535,23 +18198,23 @@ p, li { white-space: pre-wrap; } Define Style - + Choose color - + Color 2 - + Color 1 - + @@ -17566,12 +18229,12 @@ p, li { white-space: pre-wrap; } Solid - + Gradient - + @@ -17589,7 +18252,7 @@ p, li { white-space: pre-wrap; } Download File - + @@ -17601,33 +18264,33 @@ p, li { white-space: pre-wrap; } Play File - + Play - + Save File - + ERROR - + EXTRA - + REMOTE - + @@ -17637,33 +18300,33 @@ p, li { white-space: pre-wrap; } LOCAL - + UPLOAD - + Remove Attachment - + File %1 does not exist at location. - + File %1 is not completed. - + Save Channel File - + @@ -17673,7 +18336,7 @@ p, li { white-space: pre-wrap; } Open File - + @@ -17684,17 +18347,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed - + - + Unsubscribe 탈퇴 - + Subscribe 가입 @@ -17704,7 +18367,7 @@ p, li { white-space: pre-wrap; } Pause - + @@ -17712,27 +18375,27 @@ p, li { white-space: pre-wrap; } Important - + Work - + Personal - + Todo - + Later - + @@ -17740,12 +18403,12 @@ p, li { white-space: pre-wrap; } Remove All Tags - + New tag ... - + @@ -17753,12 +18416,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17766,90 +18429,90 @@ p, li { white-space: pre-wrap; } Transfer options - + Maximum simultaneous downloads: - + Slots reserved for non-cache transfers: - + Default chunk strategy: - + Safety disk space limit : - + Streaming - + Progressive - + Random - + MB - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> - + Max. tunnel req. forwarded per second: - + <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -17857,45 +18520,45 @@ p, li { white-space: pre-wrap; } Download completed - + You have %1 completed downloads - + You have %1 completed download - + %1 completed downloads - + %1 completed download - + TransfersDialog - + Downloads - + Uploads - + - + Name i.e: file name @@ -17906,31 +18569,31 @@ p, li { white-space: pre-wrap; } Size i.e: file size - + Completed - + Speed i.e: Download speed - + Progress / Availability i.e: % downloaded - + Sources i.e: Sources - + @@ -17943,49 +18606,49 @@ p, li { white-space: pre-wrap; } Speed / Queue position - + Remaining - + Download time i.e: Estimated Time of Arrival / Time left - + Peer i.e: user name - + Progress i.e: % uploaded - + Speed i.e: upload speed - + Transferred - + Hash - + @@ -17995,32 +18658,32 @@ p, li { white-space: pre-wrap; } Friends files - + My files - + Download from collection file... - + Pause - + Resume - + Force Check - + @@ -18031,27 +18694,27 @@ p, li { white-space: pre-wrap; } Open Folder - + Open File - + Preview File - + Details... - + Clear Completed - + @@ -18067,149 +18730,149 @@ p, li { white-space: pre-wrap; } Down - + Up - + Top - + Bottom - + Streaming - + Slower - + Average - + Faster - + Random - + Progressive - + Play - + Rename file... - + Specify... - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + Move in Queue... - + Priority (Speed)... - + Chunk strategy - + Set destination directory - + Choose directory - + - + Failed - + - - + + Okay 확인 - - + + Waiting - + - + Downloading 다운로드중 - + Complete - + - + Queued - + Paused - + Checking... - + @@ -18217,7 +18880,7 @@ p, li { white-space: pre-wrap; } 알 수 없음 - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18228,22 +18891,22 @@ map of the data; it will compare and invalidate bad blocks, and download them again Try to be patient! - + Transferring - + Uploading - + Are you sure that you want to cancel and delete these files? - + @@ -18256,163 +18919,163 @@ Try to be patient! File preview - + Can't create link for file %1. - + File %1 preview failed. - + Click OK when program terminates! - + Open Transfer - + File %1 is not completed. If it is a media file, try to preview it. - + Change file name - + Please enter a new file name - + Please enter a new--and valid--filename - + - + Last Time Seen i.e: Last Time Receiced Data - + UserID - + Expand all - + Collapse all - + Size - + Show Size Column - + Show Completed Column - + Speed - + Show Speed Column - + Progress / Availability - + Show Progress / Availability Column - + Sources - + Show Sources Column - + Show Status Column - + Show Speed / Queue position Column - + Show Remaining Column - + Download time - + Show Download time Column - + Show Hash Column - + Last Time Seen - + Show Last Time Seen Column - + Columns - + File Transfers - + @@ -18428,57 +19091,57 @@ Try to be patient! Show Path Column - + - + Could not delete preview file - + Try it again? - + - + Create Collection... - + Modify Collection... - + View Collection... - + Collection - + - + File sharing - + - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: - + @@ -18487,69 +19150,69 @@ Try to be patient! My files - + FILE - + Files - + File - + DIR - + Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + What's new - + Groups - + @@ -18558,13 +19221,13 @@ Try to be patient! Search requests - + Tunnel requests - + @@ -18573,28 +19236,28 @@ Try to be patient! Unknown hashes - + Tunnel id - + last transfer - + Speed - + Request id: %1 from [%2] %3 secs ago - + @@ -18602,12 +19265,12 @@ Try to be patient! Router Statistics - + F2F router information - + @@ -18615,42 +19278,42 @@ Try to be patient! Router Statistics - + Age in seconds - + Depth - + total - + Anonymous tunnels - + Authenticated tunnels - + Unknown Peer - + Turtle Router - + @@ -18658,47 +19321,47 @@ Try to be patient! Search requests repartition - + Tunnel requests repartition - + Turtle router traffic - + Tunnel requests Up - + Tunnel requests Dn - + Incoming file data - + Outgoing file data - + TR Forward probabilities - + Forwarded data - + @@ -18718,22 +19381,22 @@ Try to be patient! B - + KB - + MB - + GB - + @@ -18741,22 +19404,22 @@ Try to be patient! You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + @@ -18774,12 +19437,12 @@ Try to be patient! Yes - + No - + @@ -18789,12 +19452,12 @@ Try to be patient! Retry - + Show Log - + @@ -18809,12 +19472,12 @@ Try to be patient! Quit - + Browse - + @@ -18827,57 +19490,57 @@ Try to be patient! Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -18885,48 +19548,48 @@ Try to be patient! Basic Details - + Group Name: - + Category: - + Travel - + Holiday - + Friends - + Family - + Work - + Random - + @@ -18936,7 +19599,7 @@ Try to be patient! Share Options - + @@ -18946,62 +19609,62 @@ Try to be patient! All Friends - + Restricted - + N/A - + University Friends - + This List Contains - + All your Groups - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with XXX Key - + Cancel - + Create Group - + @@ -19010,42 +19673,42 @@ Try to be patient! Wiki Pages - + New Group - + Page Name - + Page Id - + Orig Id - + << - + >> - + Republish - + @@ -19055,12 +19718,12 @@ Try to be patient! New Page - + Refresh - + @@ -19070,47 +19733,47 @@ Try to be patient! My Groups - + Subscribed Groups - + Popular Groups - + Other Groups - + Subscribe to Group - + Unsubscribe to Group - + Todo - + Show Wiki Group - + Edit Wiki Group - + @@ -19118,74 +19781,74 @@ Try to be patient! Page Edit History - + Enable Obsolete Edits - + Choose for Merge - + Merge for Republish (TODO) - + Publish Date - + By - + PageId - + \/ - + /\ - + Wiki Group: - + Page Name: - + Previous Version - + Tags - + Show Edit History - + @@ -19206,39 +19869,39 @@ Try to be patient! Revert - + Submit - + Hide Edit History - + Edit Page - + Create New Wiki Page - + Republish - + Edit Wiki Page - + @@ -19246,37 +19909,37 @@ Try to be patient! Create New Wiki Group - + Wiki Group - + Edit Wiki Group - + Add Wiki Moderators - + Select Wiki Moderators - + Create Group - + Update Group - + @@ -19284,28 +19947,28 @@ Try to be patient! TimeRange - + All - + Last Month - + Last Week - + Today - + @@ -19315,67 +19978,67 @@ Try to be patient! from - + until - + Search/Filter - + Network Wide - + Manage Accounts - + Showing: - + Yourself - + Friends - + Following - + Custom - + Account 1 - + Account 2 - + Account 3 - + @@ -19384,12 +20047,12 @@ Try to be patient! CheckBox - + Post Pulse to Wire - + @@ -19404,37 +20067,37 @@ Try to be patient! B bytes - + KB kilobytes (1024 bytes) - + MB megabytes (1024 kilobytes) - + GB gigabytes (1024 megabytes) - + TB, terabytes (1024 gigabytes) - + TB terabytes (1024 gigabytes) - + @@ -19445,65 +20108,65 @@ Try to be patient! < 1m < 1 minute - + %1 minutes e.g: 10minutes - + %1h %2m e.g: 3hours 5minutes - + %1d %2h e.g: 2days 10hours - + %1y %2d e.g: 2 years 2days - + k e.g: 3.1 k - + M e.g: 3.1 M - + G e.g: 3.1 G - + T e.g: 3.1 T - + Load avatar image - + Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_nl.ts b/retroshare-gui/src/lang/retroshare_nl.ts index 571cbfd0c..38123c70d 100644 --- a/retroshare-gui/src/lang/retroshare_nl.ts +++ b/retroshare-gui/src/lang/retroshare_nl.ts @@ -1,4 +1,6 @@ - + + + AWidget @@ -29,7 +31,7 @@ Copy Info - + @@ -89,7 +91,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file Sorry, ik kan het standaard systeem commando niet definiëren. @@ -305,7 +307,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -427,7 +429,7 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -475,7 +477,7 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -488,7 +490,7 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -558,7 +560,7 @@ p, li { white-space: pre-wrap; }⏎ On List Ite&m - + @@ -658,7 +660,7 @@ p, li { white-space: pre-wrap; }⏎ Disable SysTray ToolTip - + @@ -775,7 +777,7 @@ Maar onthoudt: Elke data hier *ZAL* verloren gaan als de protocollen een update BWGraphSource - + KB/s KB/s @@ -1005,7 +1007,7 @@ Maar onthoudt: Elke data hier *ZAL* verloren gaan als de protocollen een update Log scale - + @@ -1053,6 +1055,11 @@ Maar onthoudt: Elke data hier *ZAL* verloren gaan als de protocollen een update Mute participant Demp deelnemer + + + Ban this person (Sets negative opinion) + + Send Message @@ -1061,15 +1068,15 @@ Maar onthoudt: Elke data hier *ZAL* verloren gaan als de protocollen een update Sort by Name - + Sorteer op naam Sort by Activity - + - + Invite friends to this lobby Nodig vrienden uit voor dit chat Portaal @@ -1089,7 +1096,7 @@ Maar onthoudt: Elke data hier *ZAL* verloren gaan als de protocollen een update Kies vrienden om uit te nodigen: - + Welcome to lobby %1 Welkom bij dit Portaal %1 @@ -1105,7 +1112,7 @@ Maar onthoudt: Elke data hier *ZAL* verloren gaan als de protocollen een update Portaal chat - + Lobby management @@ -1152,12 +1159,12 @@ Maar onthoudt: Elke data hier *ZAL* verloren gaan als de protocollen een update seconden - + Start private chat Prive-chat starten - + Decryption failed. Decodering is mislukt. @@ -1242,12 +1249,12 @@ Maar onthoudt: Elke data hier *ZAL* verloren gaan als de protocollen een update ChatLobbyWidget - + Chat lobbies Chat portaal - + Name Naam @@ -1285,7 +1292,7 @@ Maar onthoudt: Elke data hier *ZAL* verloren gaan als de protocollen een update [Geen onderwerp ingevoerd] - + Selected lobby info Gekozen portaal gegevens @@ -1302,7 +1309,7 @@ Maar onthoudt: Elke data hier *ZAL* verloren gaan als de protocollen een update Anonymous IDs accepted - + @@ -1325,7 +1332,7 @@ Maar onthoudt: Elke data hier *ZAL* verloren gaan als de protocollen een update %1 heeft je uitgenodigd voor chatlobby genaamd %2 - + Search Chat lobbies Zoek Chat lobby 's @@ -1347,7 +1354,7 @@ Maar onthoudt: Elke data hier *ZAL* verloren gaan als de protocollen een update Create a non anonymous identity and enter this lobby - + @@ -1365,7 +1372,7 @@ Maar onthoudt: Elke data hier *ZAL* verloren gaan als de protocollen een update Nee - + Lobby Name: Lobby naam: @@ -1446,22 +1453,22 @@ Tweevoudig tikken lobby te betreden en chat. Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + @@ -1483,14 +1490,14 @@ Tweevoudig tikken lobby te betreden en chat. Show - + Toon column - + @@ -1532,7 +1539,7 @@ Tweevoudig tikken lobby te betreden en chat. Annuleren - + Quick Message Korte boodschap @@ -1541,34 +1548,34 @@ Tweevoudig tikken lobby te betreden en chat. ChatPage - + General Algemeen - + Distant Chat - + Everyone - + Contacts - + Contacten Nobody - + Accept encrypted distant chat from - + @@ -1598,7 +1605,7 @@ Tweevoudig tikken lobby te betreden en chat. Minimum font size - + @@ -1620,6 +1627,11 @@ Tweevoudig tikken lobby te betreden en chat. Send message with Ctrl+Return Stuur een bericht met Ctrl+Return + + + Send as plain text by default + + Chat Lobby @@ -1725,7 +1737,7 @@ Tweevoudig tikken lobby te betreden en chat. Uitgaand - + Incoming message in history Ingekomen bericht in de geschiedenis @@ -1762,12 +1774,12 @@ Tweevoudig tikken lobby te betreden en chat. UserName - + /me is sending a message with /me - + @@ -1852,38 +1864,38 @@ Tweevoudig tikken lobby te betreden en chat. Default identity for chat lobbies: - + Show Bar by default - + - + Private chat invite from - + Name : - + PGP id : - + Valid until : - + ChatStyle - + Standard style for group chat Standaard stijl voor groeps chat @@ -1937,12 +1949,12 @@ Tweevoudig tikken lobby te betreden en chat. Sluiten - + Send Verstuur - + Bold Vet @@ -1957,12 +1969,12 @@ Tweevoudig tikken lobby te betreden en chat. Schuin - + Attach a Picture Koppel een plaatje - + Strike Strike @@ -2013,42 +2025,70 @@ Tweevoudig tikken lobby te betreden en chat. Reset lettertype naar standaard - + Quote - + Citaat Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... typt.... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? Wil je echt voorgoed de geschiedenis verwijderen? - + Add Extra File Voeg extra bestand toe @@ -2093,7 +2133,7 @@ Tweevoudig tikken lobby te betreden en chat. is bezig en kan mogelijk niet reageren - + Find Case Sensitively Zoek hoofdlettergevoelig @@ -2115,7 +2155,7 @@ Tweevoudig tikken lobby te betreden en chat. Niet stoppen met kleuren na X items gevonden (meer CPU nodig) - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> <b>Zoek vorige</b> <br/><i>Ctrl + Shift + G</i> @@ -2130,12 +2170,12 @@ Tweevoudig tikken lobby te betreden en chat. <b>Vinden</b> <br/><i>Ctrl + F</i> - + (Status) (Status) - + Set text font & color Tekst instellen lettertype & kleur @@ -2145,7 +2185,7 @@ Tweevoudig tikken lobby te betreden en chat. Een bestand toevoegen - + WARNING: Could take a long time on big history. Waarschuwing: Kan lang duren bij een grote geschiedenis. @@ -2156,17 +2196,16 @@ Tweevoudig tikken lobby te betreden en chat. - + <b>Mark this selected text</b><br><i>Ctrl+M</i> <b>Markeer deze geselecteerde tekst</b><br><i>Ctrl + M</i> - %1This message consists of %2 characters. - % 1Dit bericht bestaat uit %2 tekens. + % 1Dit bericht bestaat uit %2 tekens. - + items found. objecten gevonden. @@ -2181,34 +2220,27 @@ Tweevoudig tikken lobby te betreden en chat. <b>Terugkeer naar gemarkeerde tekst</b><br><i>Ctrl + M</i> - Display Search Box - Zoekvak weergeven + Zoekvak weergeven - Search Box - Zoekvak + Zoekvak - + Type a message here Typ een bericht hier - + Don't stop to color after - + items found (need more CPU) - - - - - Warning: - + @@ -2227,7 +2259,7 @@ Tweevoudig tikken lobby te betreden en chat. CirclesDialog - + Showing details: Toon details: @@ -2249,7 +2281,7 @@ Tweevoudig tikken lobby te betreden en chat. - + Personal Circles Persoonlijke Cirkels @@ -2275,7 +2307,7 @@ Tweevoudig tikken lobby te betreden en chat. - + Friends Vrienden @@ -2335,7 +2367,7 @@ Tweevoudig tikken lobby te betreden en chat. Vrienden van Vrienden - + External Circles (Admin) Externe Cirkels (Administrator) @@ -2359,14 +2391,14 @@ Tweevoudig tikken lobby te betreden en chat. ConfCertDialog - + Details Gegevens Node info - + @@ -2375,7 +2407,7 @@ Tweevoudig tikken lobby te betreden en chat. - + Local Address Lokaal adres @@ -2402,36 +2434,39 @@ Tweevoudig tikken lobby te betreden en chat. Adres lijst - + + Use this certificate to make friends: + + + + Include signatures Inclusief handtekeningen - - + + RetroShare RetroShare - - + + Error : cannot get peer details. Error: kan geen verbindings gegevens vinden. - Use as direct source, when available - Gebruiken als directe bron indien mogelijk + Gebruiken als directe bron indien mogelijk - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - <html><head/><body><p align="justify">Retroshare controleert regelmatig of een van de downloads direct van een vriend kan worden gedownload om een directe verbinding te starten. In dat geval kan de vriend zien dat jij het bestand aan het downloaden bent.</p><p align="justify">Om dit tegen te gaan kan je dit hier uitzetten. Je kan nog steeds een directe verbinding opzetten door er expliciet om te vragen door bijvoorbeeld een bestand te downloaden van de bestandenlijst van je de vriend.</p></body></html> + <html><head/><body><p align="justify">Retroshare controleert regelmatig of een van de downloads direct van een vriend kan worden gedownload om een directe verbinding te starten. In dat geval kan de vriend zien dat jij het bestand aan het downloaden bent.</p><p align="justify">Om dit tegen te gaan kan je dit hier uitzetten. Je kan nog steeds een directe verbinding opzetten door er expliciet om te vragen door bijvoorbeeld een bestand te downloaden van de bestandenlijst van je de vriend.</p></body></html> - + Encryption Versleuteling @@ -2446,19 +2481,18 @@ Tweevoudig tikken lobby te betreden en chat. Verbindings adres - Options - Opties + Opties - + Retroshare node details - + - + Node name : - + @@ -2468,47 +2502,37 @@ Tweevoudig tikken lobby te betreden en chat. Last Contact : - + Retroshare version : - + Node ID : - + PGP key : - + Retroshare Certificate - + - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + @@ -2519,57 +2543,47 @@ Tweevoudig tikken lobby te betreden en chat. <p>This certificate contains: - + <li>a <b>node ID</b> and <b>name</b> - + an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + <p>You can use this certificate to make new friends. Send it by email, or give it hand to hand.</p> - + - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + with - + external signatures</li> - + @@ -2628,12 +2642,12 @@ Tweevoudig tikken lobby te betreden en chat. Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + @@ -2718,12 +2732,12 @@ Tweevoudig tikken lobby te betreden en chat. RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + @@ -2753,7 +2767,7 @@ Tweevoudig tikken lobby te betreden en chat. Email - + Email @@ -2821,7 +2835,7 @@ Tweevoudig tikken lobby te betreden en chat. Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + @@ -2838,7 +2852,7 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + @@ -2848,23 +2862,23 @@ resources. Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + @@ -3179,7 +3193,7 @@ resources. The text below is your Retroshare certificate. You have to provide it to your friend - + @@ -3243,13 +3257,13 @@ even if you don't make friends. Can be used as direct source - + Require whitelist clearance to connect - + @@ -3264,7 +3278,7 @@ even if you don't make friends. <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + @@ -3284,7 +3298,7 @@ even if you don't make friends. Certificate Load Failed:something is wrong with %1 - + @@ -3723,11 +3737,11 @@ even if you don't make friends. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> <! DOCTYPE HTML OPENBARE "-//W3C//DTD HTML 4.0 / / NL" "http://www.w3.org/TR/REC-html40/strict.dtd" > <html><head><meta name="qrichtext" content="1" /> <style type="text/css"> p, li {witruimte: vooraf laten teruglopen;}</style></head><body style="font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;-qt-block-indent:0; text-indent:0px;"> <span style="font-family:'Lucida Grande'; font-size:13pt;"> Deze Widget toont de voortgang van uw verbinding naar uw nieuwe peer.</span></p> <p style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;-qt-block-indent:0; text-indent:0px;"> <span style="font-family:'Lucida Grande'; font-size:13pt;"> het is nuttig voor probleemoplossing.</span></p> @@ -3774,74 +3788,86 @@ p, li { white-space: pre-wrap; } They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details Cirkel Gegevens - - + Name Naam - Creator - Maker + Maker - Distribution - Distributie + Distributie - + Public Publiek - Self-Restricted - Zelf Beperkt + Zelf Beperkt - Restricted to: - Beperkt tot: + Beperkt tot: - Circle Membership - Cirkel Lidmaatschap + Cirkel Lidmaatschap - + IDs IDs - Known Identities - Bekende Identiteiten + Bekende Identiteiten - + Filter Filter - + Nickname Gebruikersnaam - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ID @@ -3851,55 +3877,104 @@ p, li { white-space: pre-wrap; } Type - - - - + + Name: + Naam: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + Prive + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare RetroShare - + Please set a name for your Circle Kies een naam voor uw Cirkel - Personal Circle Details - Persoonlijke Cirkel Gegevens + Persoonlijke Cirkel Gegevens - External Circle Details - Externe Cirkel Gegevens + Externe Cirkel Gegevens - Cannot Edit Existing Circles Yet - Het is nog niet mogelijk om huidige cirkels aan te passen + Het is nog niet mogelijk om huidige cirkels aan te passen - + No Restriction Circle Selected Geen Restrictie Cirkel Geselecteerd - + No Circle Limitations Selected Geen Cirkel Limitaties Geselecteerd - Create New Personal Circle - Nieuwe persoonlijke cirkel maken + Nieuwe persoonlijke cirkel maken - Create New External Circle - Nieuwe externe cirkel maken + Nieuwe externe cirkel maken - + Add Toevoegen @@ -3909,13 +3984,13 @@ p, li { white-space: pre-wrap; } Verwijder - + Search Zoek - + All Alles @@ -3930,49 +4005,98 @@ p, li { white-space: pre-wrap; } Ondertekend door bekende knooppunten - + Edit Circle Bewerk Cirkel - - + PGP Identity PGP identiteit - - - + + + Anon Id Anoniem ID + + + Circle name + + + + + Update + + + Close + Sluiten + + + + + Create New Circle + + + + + Create + Maak + + + PGP Linked Id PGP geaccocieerd ID + + + Add Member + + + + + Remove Member + + CreateGroup - + Create a Group Maak een groep - - Group Name - Groeps naam + + Group Name: + Groeps Naam: - + + Group ID: + + + + Group Name + Groeps naam + + + Enter a name for your group Geef een naam voor de groep - + + To be defined + + + + Friends Vrienden @@ -4006,9 +4130,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -4137,7 +4261,7 @@ p, li { white-space: pre-wrap; }⏎ CreateGxsForumMsg - + Post Forum Message Post forum bericht @@ -4182,12 +4306,12 @@ p, li { white-space: pre-wrap; }⏎ Start nieuw draadje - + No Forum Geen Forum - + In Reply to In antwoord op @@ -4213,9 +4337,19 @@ p, li { white-space: pre-wrap; }⏎ Add Extra File Extra bestand toevoegen + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data Massa gegevens genereren @@ -4225,12 +4359,12 @@ p, li { white-space: pre-wrap; }⏎ Wilt u echt %1 berichten genereren? - + Send Verstuur - + Forum Message Forum bericht @@ -4244,7 +4378,7 @@ Wilt u dit bericht negeren? Post as - + @@ -4293,7 +4427,7 @@ Wilt u dit bericht negeren? <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + @@ -4318,12 +4452,12 @@ Wilt u dit bericht negeren? Put a sensible lobby name here - + Set a descriptive topic here - + @@ -4333,7 +4467,7 @@ Wilt u dit bericht negeren? Identity to use: - + @@ -4492,7 +4626,7 @@ Wilt u dit bericht negeren? <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + @@ -4518,7 +4652,7 @@ Wilt u dit bericht negeren? No peer found in DHT - + @@ -4773,7 +4907,7 @@ Wilt u dit bericht negeren? Copy %1 to clipboard - + @@ -5029,7 +5163,7 @@ Wilt u dit bericht negeren? Relays - + @@ -5133,12 +5267,12 @@ Wilt u dit bericht negeren? Peers - + Verbindingen Relay - + Relais @@ -5148,12 +5282,12 @@ Wilt u dit bericht negeren? Proxy VIA - + Relay VIA - + @@ -5192,7 +5326,7 @@ Wilt u dit bericht negeren? Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. Onthou de geindexeerde bestanden ook als ze niet gedeeld zijn⏎ @@ -5678,7 +5812,7 @@ Dit kan handig zijn als je bijv. een externe HD deelt en wilt⏎ voorkomen dat e Toon groepen - + Group Groep @@ -5719,7 +5853,7 @@ Dit kan handig zijn als je bijv. een externe HD deelt en wilt⏎ voorkomen dat e Voeg toe aan groep - + Search Zoeken @@ -5729,7 +5863,7 @@ Dit kan handig zijn als je bijv. een externe HD deelt en wilt⏎ voorkomen dat e Sorteer per datum - + Move to group Verplaats naar groep @@ -5764,12 +5898,12 @@ Dit kan handig zijn als je bijv. een externe HD deelt en wilt⏎ voorkomen dat e Beschikbaar - + Do you want to remove this Friend? Wil je deze vriend verwijderen= - + Done! Klaar! @@ -5778,20 +5912,20 @@ Dit kan handig zijn als je bijv. een externe HD deelt en wilt⏎ voorkomen dat e Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + @@ -5802,28 +5936,28 @@ Dit kan handig zijn als je bijv. een externe HD deelt en wilt⏎ voorkomen dat e at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + @@ -5835,19 +5969,19 @@ at least one peer was not added to a group Failed to get a file! - + File is not writeable! - + File is not readable! - + @@ -5855,7 +5989,7 @@ at least one peer was not added to a group IP - + Attempt to connect Probeer te verbinden @@ -5882,22 +6016,22 @@ at least one peer was not added to a group Remove Friend Node - + - + Do you want to remove this node? - + Friend nodes - + - + Send message to whole group - + @@ -5958,7 +6092,7 @@ at least one peer was not added to a group Zoek vrienden - + Mark all Selecteer alles @@ -6067,7 +6201,7 @@ at least one peer was not added to a group <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + @@ -6153,7 +6287,12 @@ Om anoniem te blijven kun je een niet bestaand mail adres opgeven. Wachtwoord (controle) - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> <html><head/> <body><p align="justify"> voordat u verdergaat, beweeg uw muis rond om te helpen Retroshare verzamelen zo veel willekeur als mogelijk. Vullen van de progressbar tot 20% is nodig, 100% wordt geadviseerd.</p></body></html> @@ -6176,7 +6315,7 @@ Om anoniem te blijven kun je een niet bestaand mail adres opgeven. This password is for PGP - + @@ -6199,204 +6338,199 @@ Om anoniem te blijven kun je een niet bestaand mail adres opgeven. Create a new node - + You can use it now to create a new node. - + Invalid hidden node - + Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile - + Import new profile - + Export selected profile - + Advanced options - + Create a hidden node - + Use profile - + hidden address - + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + Create new profile - + Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + Export profile - + RetroShare profile files (*.asc) - + Profile saved - + @@ -6405,77 +6539,77 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + Import profile - + Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6527,8 +6661,12 @@ Fill in your PGP password when asked, to sign your new key. + Register retroshare:// as URL protocol + + + Register retroshare:// as URL protocol (Restart required) - Registreer retroshare:// als URL protocol (Herstart benodigd) + Registreer retroshare:// als URL protocol (Herstart benodigd) @@ -6536,7 +6674,27 @@ Fill in your PGP password when asked, to sign your new key. Je hebt administrator rechten nodig om deze optie aan te passen. - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle Bezig @@ -6556,7 +6714,17 @@ Fill in your PGP password when asked, to sign your new key. Eerste start wizzard - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error Error @@ -6577,7 +6745,7 @@ Fill in your PGP password when asked, to sign your new key. Algemeen - + Minimize to Tray Icon Minimalizeer naar Tray @@ -6601,7 +6769,7 @@ Fill in your PGP password when asked, to sign your new key. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> @@ -6634,18 +6802,18 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6657,31 +6825,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6694,7 +6862,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + @@ -6794,7 +6962,7 @@ p, li { white-space: pre-wrap; } It has many features, including built-in chat, messaging, - + @@ -6807,62 +6975,62 @@ p, li { white-space: pre-wrap; } GroupBox - + ID - + ID Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + Gegevens @@ -6872,12 +7040,12 @@ p, li { white-space: pre-wrap; } Pending packets - + Unknown - + Onbekend @@ -6895,12 +7063,12 @@ p, li { white-space: pre-wrap; } [Unknown identity] - + : Service ID = - + @@ -6911,6 +7079,14 @@ p, li { white-space: pre-wrap; } Toon groeps chat + + GroupChooser + + + [Unknown] + + + GroupDefs @@ -6995,27 +7171,27 @@ p, li { white-space: pre-wrap; } All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -7044,39 +7220,39 @@ p, li { white-space: pre-wrap; } Contacts: - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer Kies minstens één verbinding - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7119,7 +7295,17 @@ p, li { white-space: pre-wrap; } Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + @@ -7127,14 +7313,9 @@ p, li { white-space: pre-wrap; } Toon - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7261,7 +7442,7 @@ p, li { white-space: pre-wrap; } <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + @@ -7281,7 +7462,7 @@ p, li { white-space: pre-wrap; } Select channel download directory - + @@ -7291,18 +7472,18 @@ p, li { white-space: pre-wrap; } Set download directory - + [Default directory] - + Specify... - + Specificeer... @@ -7477,6 +7658,16 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Verander boodschap gelezen status @@ -7487,7 +7678,7 @@ p, li { white-space: pre-wrap; } - + Play Bespelen @@ -7524,12 +7715,12 @@ p, li { white-space: pre-wrap; } Item verwijderen - + Channel Feed Input - + Files Bestanden @@ -7569,12 +7760,12 @@ p, li { white-space: pre-wrap; } Ik vindt dit niet leuk - + Loading Laden - + Open Open @@ -7592,7 +7783,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel Post op dit kanaal @@ -7607,7 +7798,7 @@ p, li { white-space: pre-wrap; } Zoek kanalen - + Title Titel @@ -7642,7 +7833,32 @@ p, li { white-space: pre-wrap; } Geen kanaal geselecteerd - + + Public + Publiek + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download Automatisch downloaden uitschakelen @@ -7662,7 +7878,23 @@ p, li { white-space: pre-wrap; } Bestanden weergeven - + + Administrator: + + + + + + unknown + onbekend + + + + Distribution: + + + + Feeds Feeds @@ -7672,19 +7904,19 @@ p, li { white-space: pre-wrap; } Bestanden - + Subscribers - + - + Description: Beschrijving: - + Posts (at neighbor nodes): - + @@ -7806,7 +8038,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -7967,7 +8199,7 @@ voor je een opmerking kan doen Formulier - + Start new Thread for Selected Forum Start een nieuw draadje in het geselecteerde forum @@ -7993,7 +8225,7 @@ voor je een opmerking kan doen - + Title Titel @@ -8006,18 +8238,18 @@ voor je een opmerking kan doen - + Author Auteur Save image - + - + Loading Laden @@ -8084,12 +8316,12 @@ voor je een opmerking kan doen Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + @@ -8142,33 +8374,73 @@ voor je een opmerking kan doen This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + Publiek + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + Distributie + + + Anti-spam - + [ ... Redacted message ... ] - + @@ -8193,22 +8465,22 @@ voor je een opmerking kan doen <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8264,39 +8536,39 @@ voor je een opmerking kan doen Op %1, %2 schreef: - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description Beschrijving By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8312,7 +8584,7 @@ voor je een opmerking kan doen <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + @@ -8367,13 +8639,13 @@ voor je een opmerking kan doen GxsGroupDialog - - + + Name Naam - + Add Icon Ikoon toevoegen @@ -8388,7 +8660,7 @@ voor je een opmerking kan doen Deel Publieke Sleutel - + check peers you would like to share private publish key with Controleer welke verbinding je wilt delen met een openbare Privé Sleutel @@ -8398,36 +8670,40 @@ voor je een opmerking kan doen Deel sleutel met - - + + Description Beschrijving - + Message Distribution Berichten Distributie - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public Publiek - - Restricted to Group - Beperkt tot groep + Beperkt tot groep - - + Only For Your Friends Alleen voor uw vrienden - + Publish Signatures Publiceer handtekeningen @@ -8473,12 +8749,11 @@ voor je een opmerking kan doen - Comments Opmerkingen - + Allow Comments Opmerkingen toegestaan @@ -8490,71 +8765,107 @@ voor je een opmerking kan doen Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + Opmerkingen: - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + Tekst label - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: Contacts: - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name Voeg een naam toe - + + PGP signature from known ID required + + + + Load Group Logo Laad groep logo - + Submit Group Changes Groep wijzigingen verzenden - + Failed to Prepare Group MetaData - please Review Mislukt te bereiden groep metagegevens - Lees - + Will be used to send feedback Zal worden gebruikt voor het verzenden van feedback @@ -8564,59 +8875,93 @@ voor je een opmerking kan doen Eigenaar: - + Set a descriptive description here - + - + Info - + - - Comments allowed - - - - - Comments not allowed - - - - + ID ID - + Last Post Het laatste bericht + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity Populariteit - - - Posts - - - Type - Type + Posts + - + Type + Type + + + Author Auteur GxsIdLabel - + @@ -8667,7 +9012,12 @@ voor je een opmerking kan doen Bewerk Details - + + Share publish permissions + + + + Copy RetroShare Link Kopieer RetroShare Link @@ -8682,25 +9032,20 @@ voor je een opmerking kan doen Merk alles als ongelezen - + AUTHD AUTHD - - - Share admin permissions - - GxsIdChooser - + No Signature Geen handtekening - + Create new Identity Maak een nieuwe identiteit @@ -8708,7 +9053,7 @@ voor je een opmerking kan doen GxsIdDetails - + Loading Laden @@ -8727,7 +9072,7 @@ voor je een opmerking kan doen [Banned] - + @@ -8748,22 +9093,22 @@ voor je een opmerking kan doen Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8784,42 +9129,42 @@ voor je een opmerking kan doen Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + @@ -9006,7 +9351,7 @@ voor je een opmerking kan doen Error Loading Help Contents: - + @@ -9054,7 +9399,7 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9077,7 +9422,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9087,16 +9432,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + Libraries - + @@ -9129,16 +9474,16 @@ p, li { white-space: pre-wrap; } Error opening help file: - + IdDetailsDialog - + Person Details - + @@ -9173,13 +9518,13 @@ p, li { white-space: pre-wrap; } Last used: - + Your Avatar Click here to change your avatar - + @@ -9189,30 +9534,30 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9222,34 +9567,34 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + @@ -9294,39 +9639,40 @@ p, li { white-space: pre-wrap; } +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + Ok Banned - + IdDialog - + + New ID Nieuwe ID - - + + All Alles @@ -9342,47 +9688,83 @@ p, li { white-space: pre-wrap; } Zoek - Unknown real name - Onbekende echte naam + Onbekende echte naam - + Anonymous Id Anoniem Id - + Create new Identity Maak een nieuwe identiteit - - Persons - + + Create new circle + - + + Persons + + + + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + Cirkels + + + + Circle name + + + + + Membership + Lidmaatschap + + + + Public Circles + Publiceer Cirkels + + + + Personal Circles + Persoonlijke Cirkels + + + Edit identity - + Identiteit aanpassen Delete identity - + @@ -9395,7 +9777,7 @@ p, li { white-space: pre-wrap; } Start een chat met deze verbinding - + Owner node ID : Eigenaar knooppunt-ID: @@ -9405,24 +9787,24 @@ p, li { white-space: pre-wrap; } Identiteitsnaam: - + () - + - + Identity ID - + - + Send message Verstuur bericht - + Identity info - + @@ -9442,91 +9824,316 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - Owned by you - Eigendom van u + Eigendom van u - + Anonymous Anoniem - + ID - + ID Search ID - + - + This identity is owned by you Deze identiteit is eigendom van u - Unknown PGP key - Onbekende PGP sleutel + Onbekende PGP sleutel - - Unknown key ID - Onbekende sleutel ID + Onbekende sleutel ID - + + My own identities + + + + + My contacts + + + + + Owned by myself + + + + + Linked to my node + + + + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + Publiek + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + Status: + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + onbekend + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + Bewerk Cirkel + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node Identiteit eigendom van u, gekoppeld aan uw Retroshare knoop @@ -9543,37 +10150,37 @@ p, li { white-space: pre-wrap; } OK - + Ok Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + @@ -9588,28 +10195,28 @@ p, li { white-space: pre-wrap; } Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People Mensen @@ -9617,102 +10224,92 @@ p, li { white-space: pre-wrap; } Your Avatar Click here to change your avatar - + - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9835,32 +10432,32 @@ p, li { white-space: pre-wrap; } Your Avatar Click here to change your avatar - + Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9888,27 +10485,27 @@ p, li { white-space: pre-wrap; } - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9921,7 +10518,7 @@ p, li { white-space: pre-wrap; } - + Copy Kopieer @@ -9957,17 +10554,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -10022,7 +10619,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Add Friend Vriend toevoegen @@ -10038,7 +10635,7 @@ p, li { white-space: pre-wrap; } - + Options Opties @@ -10072,12 +10669,12 @@ p, li { white-space: pre-wrap; } Snel start Wizard - + RetroShare %1 a secure decentralized communication platform RetroShare %1 is een beveiligd gedecentraliseerde communicatie platform - + Unfinished Niet afgemaakt @@ -10116,7 +10713,7 @@ Maak meer ruimte vrij en klik Ok. Open Messenger - + @@ -10194,7 +10791,7 @@ Maak meer ruimte vrij en klik Ok. Wil je RetroShare stoppen? - + Internal Error Interne error @@ -10239,7 +10836,7 @@ Maak meer ruimte vrij en klik Ok. Service toestemming matrix - + Add Toevoegen @@ -10251,29 +10848,29 @@ Maak meer ruimte vrij en klik Ok. Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose Opstellen @@ -10375,29 +10972,29 @@ Maak meer ruimte vrij en klik Ok. - + Tags Labels Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + @@ -10497,17 +11094,17 @@ Maak meer ruimte vrij en klik Ok. All addresses (mixed) - + All people - + My contacts - + @@ -10535,7 +11132,7 @@ Maak meer ruimte vrij en klik Ok. Hi %1,<br><br>%2 wil vrienden met je zijn op RetroShare<br><br>Reageer nu:<br>%3<br><br>Bedankt,<br>Het RetroShare Team - + Save Message Bewaar bericht @@ -10757,7 +11354,7 @@ Wil je het bericht bewaren in de concepten map? Details - + Gegevens @@ -10818,74 +11415,74 @@ Wil je het bericht bewaren? Van: - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10893,22 +11490,22 @@ Wil je het bericht bewaren? Everyone - + Contacts - + Contacten Nobody - + Accept encrypted distant messages from - + @@ -11547,7 +12144,7 @@ Wil je het bericht bewaren? <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + @@ -11644,7 +12241,7 @@ Wil je het bericht bewaren? This message goes to a distant person. - + @@ -11679,7 +12276,7 @@ Wil je het bericht bewaren? This message comes from a distant person. - + @@ -11690,7 +12287,7 @@ Wil je het bericht bewaren? RetroShare Messenger - + Add a Friend Voeg een vriend toe @@ -11705,17 +12302,17 @@ Wil je het bericht bewaren? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + @@ -11973,7 +12570,7 @@ Wil je het bericht bewaren? - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. @@ -12091,74 +12688,74 @@ Rechts klik en selecteer "maak vriend" om verbinding te kunnen maken.< Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12250,17 +12847,17 @@ Reported error: Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12337,7 +12934,7 @@ Reported error: Ip security - + @@ -12407,7 +13004,7 @@ Reported error: <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + @@ -12457,7 +13054,7 @@ Reported error: Systray - + @@ -12467,23 +13064,23 @@ Reported error: Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase PGP Sleutel wachtwoord zin @@ -12503,12 +13100,12 @@ Reported error: RetroShare heeft een ongeregistreerde plugin gevonden. Dit gebeurt in twee gevallen:<UL><LI>Uw RetroShare executable is verandert.</LI><LI>De plugin is verandert</LI></UL> Klik op Ja om deze plugin te authoriseren of Nee om het te weigeren. Je kan dit later altijd nog veranderen in Options -> Plugins en dan herstarten. - + Please check your system clock. Controleer uw systeem klok - + Examining shared files... Onderzoek van gedeelde bestanden... @@ -12544,14 +13141,14 @@ Reported error: Versleutelde berichten - + Please enter your PGP password for key Voer uw PGP paswoord in om sleutel te krijgen - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12586,7 +13183,7 @@ Reported error: - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers @@ -12606,37 +13203,37 @@ Laag verkeer: 10% standaard verkeerd en TODO: pauseerd alle bestands overdrachte PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + @@ -12646,7 +13243,7 @@ Laag verkeer: 10% standaard verkeerd en TODO: pauseerd alle bestands overdrachte No trust - + @@ -12666,31 +13263,31 @@ Laag verkeer: 10% standaard verkeerd en TODO: pauseerd alle bestands overdrachte Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12700,73 +13297,134 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures Inclusief handtekeningen + + + Options + Opties + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details - + - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. Error: kan geen verbindings gegevens vinden. - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) De ingevoerde sleutel algoritme wordt niet ondersteund door RetroShare⏎ (Alleen RSA sleutels worden op dit moment ondersteund) - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + @@ -12784,28 +13442,28 @@ p, li { white-space: pre-wrap; } Uw heeft geen vertrouwen in deze verbinding. - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure Handtekening fout @@ -12815,19 +13473,19 @@ p, li { white-space: pre-wrap; } Misschien is uw wachtwoord fout - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12976,15 +13634,15 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People Mensen - External - Externe + Externe @@ -12997,6 +13655,64 @@ p, li { white-space: pre-wrap; } Internal Interne + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + Verre chat werkt niet + + + + Distant chat refused with this person. + + + + + Error code + Foutcode + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + Mensen + PhotoCommentItem @@ -13086,7 +13802,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -13099,7 +13815,7 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -13112,7 +13828,7 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -13260,7 +13976,7 @@ voordat je het kunt bewerken! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -13400,12 +14116,12 @@ p, li { white-space: pre-wrap; }⏎ Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + @@ -13419,7 +14135,7 @@ p, li { white-space: pre-wrap; }⏎ [loading problem] - + @@ -13462,7 +14178,7 @@ malicious behavior of crafted plugins. <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + @@ -13539,7 +14255,7 @@ malicious behavior of crafted plugins. Chat remotely closed. Please close this window. - + @@ -13559,12 +14275,12 @@ malicious behavior of crafted plugins. Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13640,7 +14356,7 @@ malicious behavior of crafted plugins. <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + @@ -13748,7 +14464,7 @@ malicious behavior of crafted plugins. PostedItem - + 0 0 @@ -13759,7 +14475,7 @@ malicious behavior of crafted plugins. - + Comments Opmerkingen @@ -13794,7 +14510,17 @@ malicious behavior of crafted plugins. Nieuw - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Verander boodschap gelezen status @@ -13804,7 +14530,7 @@ malicious behavior of crafted plugins. Item verwijderen - + Loading Laden @@ -13889,7 +14615,7 @@ malicious behavior of crafted plugins. 1-10 - + 1-10 @@ -14059,7 +14785,7 @@ en daar de importeer functie gebruiken <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> @@ -14080,7 +14806,7 @@ p, li { white-space: pre-wrap; } You can use it now to create a new node. - + @@ -14268,9 +14994,9 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation Bevestiging @@ -14280,7 +15006,7 @@ p, li { white-space: pre-wrap; } Wilt u deze link door uw systeem laten behandelen? - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. @@ -14289,7 +15015,7 @@ en open de "Maak een vriend wizzard"⏎ - + Add file Bestand toevoegen @@ -14309,12 +15035,17 @@ en open de "Maak een vriend wizzard"⏎ Wil je verder gaan met %1 link? - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. %1 van %2 RetroShare link verwerkt @@ -14423,6 +15154,21 @@ en open de "Maak een vriend wizzard"⏎ Channel messages not found Kanaal berichten niet gevonden + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + + Recipient not accepted @@ -14466,7 +15212,7 @@ Karakters <b>",|,/,\,&lt;,&gt;,*,?</b> worden vervangen Resultaat - + Unable to make path Niet mogelijk om pad te maken @@ -14481,7 +15227,7 @@ Karakters <b>",|,/,\,&lt;,&gt;,*,?</b> worden vervangen Fout tijdens voortgang verzamel bestand - + Deny friend Weiger vriend @@ -14501,7 +15247,7 @@ Karakters <b>",|,/,\,&lt;,&gt;,*,?</b> worden vervangen Bestands aanvraag gestopt - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. Deze versie van RetroShare maakt gebruik van OpenPGP-SDK. Als bijeffect gebruikt het niet de gedeelde PGP sleutelring maar heeft zijn eigen sleutelring die gebruikt wordt door alle RetroShare gevallen.<br><br> @@ -14512,12 +15258,12 @@ Karakters <b>",|,/,\,&lt;,&gt;,*,?</b> worden vervangen - + RetroShare RetroShare - + Initialization failed. Wrong or missing installation of PGP. Initialisatie fout. Verkeerde of ontbrekende installatie van PGP. @@ -14527,12 +15273,12 @@ Karakters <b>",|,/,\,&lt;,&gt;,*,?</b> worden vervangen Een onverwacht error trad op. Zend een rapport 'RsInit::InitRetroShare onverwachte return code %1'. - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. Een onverwachte error verscheen. Stuur een report 'RsInit::InitRetroShare onverwachte return code %1'. - + Multiple instances Meerdere gevallen @@ -14556,9 +15302,8 @@ Lock file:⏎ - Start with a RetroShare link is only supported for Windows. - Starten met een RetroShare link wordt alleen door Windows ondersteunt. + Starten met een RetroShare link wordt alleen door Windows ondersteunt. @@ -14585,7 +15330,7 @@ Reported error is: De error is: %2 - + Click to send a private message to %1 (%2). Klik om een prive-bericht te verzenden naar %1 (%2). @@ -14595,7 +15340,7 @@ De error is: %2 %1 (%2, extra - bron inbegrepen) - + Click this link to send a private message to %1 (%2) Klik op deze koppeling als u een prive-bericht wilt sturen naar %1 (%2) @@ -14635,80 +15380,80 @@ De error is: %2 Gegevens doorsturen - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + @@ -14719,49 +15464,49 @@ De error is: %2 Subject: - + Onderwerp: Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error Fout unable to parse XML file! - + @@ -14776,12 +15521,12 @@ Security: no anonymous IDs <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14904,10 +15649,10 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -14952,31 +15697,31 @@ p, li { white-space: pre-wrap; }⏎ RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + Waar wilt u de knoppen voor de pagina hebben? ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -14991,8 +15736,8 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> @@ -15076,7 +15821,7 @@ p, li { white-space: pre-wrap; }⏎ Do you really want to stop sharing this directory ? - + Wil je werkelijk delen voor deze directory stoppen? @@ -15120,60 +15865,60 @@ p, li { white-space: pre-wrap; }⏎ Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15191,7 +15936,7 @@ p, li { white-space: pre-wrap; }⏎ <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15281,7 +16026,7 @@ p, li { white-space: pre-wrap; }⏎ <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15315,22 +16060,22 @@ p, li { white-space: pre-wrap; }⏎ IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + @@ -15348,28 +16093,28 @@ p, li { white-space: pre-wrap; }⏎ Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15401,12 +16146,12 @@ p, li { white-space: pre-wrap; }⏎ Download! - + File Bestand - + Size Grootte @@ -15423,7 +16168,7 @@ p, li { white-space: pre-wrap; }⏎ Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. Somige bestandsnamen of directory namen bevatten verboden characters.⏎ Karakters <b>",|,/,\,&lt;,&gt;,*,?</b> worden vervangen door '_'.⏎ @@ -15470,12 +16215,17 @@ Betrokken bestanden zijn rood gekleurd Opslaan - + Collection Editor Collection Editor - + + File Path + + + + File Count Bestandstotaal @@ -15485,14 +16235,14 @@ Betrokken bestanden zijn rood gekleurd Dit is de root directory. - - + + Real Size: Waiting child... Werkelijke grootte: Wachten ... - - + + Real File Count: Waiting child... Echte Bestandstotaal: Wachten ... @@ -15645,7 +16395,7 @@ Als u denkt dat het is juist dat, de bijbehorende regel uit het bestand verwijde RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? Het plaatje is te groot om overgezonden te worden.⏎ @@ -15657,13 +16407,13 @@ Maak het plaatje kleiner tot %1x%2 pixels Invalid format - + Rshare - + Resets ALL stored RetroShare settings. Resets ALLE opgslagen RetroShare instellingen @@ -15703,7 +16453,7 @@ Maak het plaatje kleiner tot %1x%2 pixels RetroShare's gebruiks informatie - + Unable to open log file '%1': %2 Het is niet mogelijk om het log bestand '%1': %2 te openen @@ -15718,24 +16468,33 @@ Maak het plaatje kleiner tot %1x%2 pixels Kan geen gegevensmap maken: %1 - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -16051,7 +16810,7 @@ Maak het plaatje kleiner tot %1x%2 pixels IP address: - + @@ -16066,7 +16825,7 @@ Maak het plaatje kleiner tot %1x%2 pixels Peer Name: - + @@ -16083,33 +16842,33 @@ Maak het plaatje kleiner tot %1x%2 pixels but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -16257,12 +17016,12 @@ Maak het plaatje kleiner tot %1x%2 pixels Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16275,12 +17034,12 @@ Maak het plaatje kleiner tot %1x%2 pixels Network Mode - + Netwerk mode Nat - + @@ -16368,7 +17127,7 @@ Maak het plaatje kleiner tot %1x%2 pixels If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. Als je dit uitvinkt kan RetroShare alleen je ip adres bepalen⏎ als je verbonden bent met iemand. Als je dit aangevinkt laat staan⏎ @@ -16414,32 +17173,32 @@ je ook als ja achter een Firewall of VPN zit. Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + @@ -16450,29 +17209,29 @@ je ook als ja achter een Firewall of VPN zit. I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + @@ -16482,27 +17241,27 @@ Also check your ports! Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16517,18 +17276,18 @@ Also check your ports! IP Filters - + IP blacklist - + IP range - + @@ -16542,13 +17301,13 @@ Also check your ports! Origin - + Reason - + @@ -16560,158 +17319,158 @@ Also check your ports! IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + @@ -16724,78 +17483,78 @@ If you have issues connecting over Tor check the Tor logs too. Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16823,7 +17582,7 @@ If you have issues connecting over Tor check the Tor logs too. Require whitelist - + @@ -16846,12 +17605,12 @@ If you have issues connecting over Tor check the Tor logs too. hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16908,7 +17667,7 @@ If you have issues connecting over Tor check the Tor logs too. Share flags and groups: - + @@ -17181,48 +17940,48 @@ Selecteer de vrienden waarmee u uw kanaal wilt delen. Friend - + Vriend Go Online - + Chatmessage - + New Msg - + Message - + Bericht Message arrived - + Download - + Download Download complete - + Lobby - + @@ -17265,7 +18024,7 @@ Selecteer de vrienden waarmee u uw kanaal wilt delen. Default - + Standaard @@ -17273,18 +18032,18 @@ Selecteer de vrienden waarmee u uw kanaal wilt delen. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile Laad profiel @@ -17357,9 +18116,9 @@ De huidige identiteiten/locaties worden behouden. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17368,7 +18127,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17377,7 +18136,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17386,7 +18145,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17572,7 +18331,7 @@ This choice can be reverted in settings. Connected: I2P - + @@ -17587,57 +18346,57 @@ This choice can be reverted in settings. TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17657,7 +18416,7 @@ This choice can be reverted in settings. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -17670,7 +18429,7 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -17834,17 +18593,17 @@ p, li { white-space: pre-wrap; }⏎ SubscribeToolButton - + Subscribed Geabonneerd - + Unsubscribe Uitschrijven - + Subscribe Registreren @@ -17963,11 +18722,11 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -17987,27 +18746,27 @@ p, li { white-space: pre-wrap; }⏎ <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -18042,7 +18801,7 @@ p, li { white-space: pre-wrap; }⏎ TransfersDialog - + Downloads Downloads @@ -18053,7 +18812,7 @@ p, li { white-space: pre-wrap; }⏎ Uploads - + Name i.e: file name @@ -18294,7 +19053,7 @@ p, li { white-space: pre-wrap; }⏎ <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + @@ -18323,39 +19082,39 @@ p, li { white-space: pre-wrap; }⏎ - + Failed Mislukt - - + + Okay Oke - - + + Waiting Wachten - + Downloading Downloading - + Complete Kompleet - + Queued In Wachtrij @@ -18375,7 +19134,7 @@ p, li { white-space: pre-wrap; }⏎ Onbekend - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18464,7 +19223,7 @@ Even geduld a.u.b.! Vul een nieuwe -en geldige- bestandsnaam in - + Last Time Seen i.e: Last Time Receiced Data Laatst Gezien Op @@ -18596,7 +19355,7 @@ Even geduld a.u.b.! Pad kolom weergeven - + Could not delete preview file Kan geen gegevens verwijderen voorvertoningsbestand @@ -18606,7 +19365,7 @@ Even geduld a.u.b.! Probeer het opnieuw? - + Create Collection... Collectie maken.. @@ -18626,24 +19385,24 @@ Even geduld a.u.b.! Collectie - + File sharing Bestand delen - + Anonymous tunnel 0x Anonieme tunnel 0x - + Show file list transfers - + - + version: - + @@ -18800,12 +19559,12 @@ Even geduld a.u.b.! Anonymous tunnels - + Authenticated tunnels - + @@ -18863,7 +19622,7 @@ Even geduld a.u.b.! Forwarded data - + @@ -18992,57 +19751,57 @@ Even geduld a.u.b.! Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -19668,7 +20427,7 @@ Even geduld a.u.b.! Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_pl.ts b/retroshare-gui/src/lang/retroshare_pl.ts index ec4cfdd7e..78b6f4ebd 100644 --- a/retroshare-gui/src/lang/retroshare_pl.ts +++ b/retroshare-gui/src/lang/retroshare_pl.ts @@ -1,15 +1,17 @@ - + + + AWidget version - + RetroShare version - + @@ -28,7 +30,7 @@ Copy Info - + @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file Przepraszamy, domyślne polecenie systemowe dla tego pliku nie jest znane @@ -183,7 +185,7 @@ Landscapes - + @@ -193,7 +195,7 @@ Portraits - + @@ -213,7 +215,7 @@ Caption: - + @@ -233,12 +235,12 @@ Share Options - + Policy: - + @@ -253,7 +255,7 @@ Identity: - + @@ -263,22 +265,22 @@ Restricted - + Resize Images (< 1Mb) - + Resize Images (< 10Mb) - + Send Original Images - + @@ -298,16 +300,16 @@ Publish with Identity - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + @@ -327,7 +329,7 @@ p, li { white-space: pre-wrap; } Untitle Album - + @@ -337,12 +339,12 @@ p, li { white-space: pre-wrap; } Where were these taken? - + Load Album Thumbnail - + @@ -356,12 +358,12 @@ p, li { white-space: pre-wrap; } Album Thumbnail - + TextLabel - + @@ -381,7 +383,7 @@ p, li { white-space: pre-wrap; } Caption - + @@ -401,7 +403,7 @@ p, li { white-space: pre-wrap; } Share Options - + @@ -411,7 +413,7 @@ p, li { white-space: pre-wrap; } Publish Identity - + @@ -423,9 +425,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + @@ -460,14 +462,14 @@ p, li { white-space: pre-wrap; } TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -480,7 +482,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -529,33 +531,33 @@ p, li { white-space: pre-wrap; } Tool Bar - + On Tool Bar - + On List Item - + Where do you want to have the buttons for menu? - + On List Ite&m - + Where do you want to have the buttons for the page? - + @@ -609,54 +611,54 @@ p, li { white-space: pre-wrap; } Icon Size = 64x64 - + Rozmiar ikon = 64x64 {64x?} Icon Size = 128x128 - + Rozmiar ikon = 128x128 {128x?} Status Bar - + Remove surplus text in status bar. - + Compact Mode - + Hide Sound Status - + Hide Toaster Disable - + Show SysTray on Status Bar - + Disable SysTray ToolTip - + Icon Size = 32x32 - + Rozmiar ikon = 32x32 {32x?} @@ -671,12 +673,12 @@ p, li { white-space: pre-wrap; } Warning: The services here are experimental. Please help us test them. But Remember: Any data here *WILL* be lost when we upgrade the protocols. - + Identities - + @@ -686,22 +688,22 @@ p, li { white-space: pre-wrap; } GxsForums - + GxsChannels - + The Wire - + Photos - + @@ -727,17 +729,17 @@ p, li { white-space: pre-wrap; } Change Avatar - + Your Avatar Picture - + Add Avatar - + @@ -747,12 +749,12 @@ p, li { white-space: pre-wrap; } Set your Avatar picture - + Load Avatar - + @@ -766,9 +768,9 @@ p, li { white-space: pre-wrap; } BWGraphSource - + KB/s - + @@ -776,7 +778,7 @@ p, li { white-space: pre-wrap; } N/A - + @@ -859,23 +861,23 @@ p, li { white-space: pre-wrap; } Sum - + All - + Wszyscy KB/s - + Count - + Liczba @@ -893,62 +895,62 @@ p, li { white-space: pre-wrap; } In (KB/s) - + InMax (KB/s) - + InQueue - + InAllocated (KB/s) - + Allocated Sent - + Out (KB/s) - + OutMax (KB/s) - + OutQueue - + OutAllowed (KB/s) - + Allowed Recvd - + TOTALS - + Totals - + @@ -961,42 +963,42 @@ p, li { white-space: pre-wrap; } Form - + Formularz Friend: - + Type: - + Typ: Up - + Down - + Service: - + Unit: - + Log scale - + @@ -1009,7 +1011,7 @@ p, li { white-space: pre-wrap; } Tabs - + @@ -1019,12 +1021,12 @@ p, li { white-space: pre-wrap; } Load posts in background (Thread) - + Open each channel in a new tab - + @@ -1044,23 +1046,28 @@ p, li { white-space: pre-wrap; } Mute participant Wycisz uczestnika + + + Ban this person (Sets negative opinion) + + Send Message - + Sort by Name - + Sortuj według Nazwy Sort by Activity - + - + Invite friends to this lobby Zaproś przyjaciół do tego lobby @@ -1080,7 +1087,7 @@ p, li { white-space: pre-wrap; } Wybierz przyjaciół do zaproszenia: - + Welcome to lobby %1 Witamy w lobby %1 @@ -1093,10 +1100,10 @@ p, li { white-space: pre-wrap; } Lobby chat - + - + Lobby management @@ -1143,44 +1150,44 @@ p, li { white-space: pre-wrap; } sekundy - + Start private chat - + - + Decryption failed. - + Signature mismatch - + Unknown key - + Unknown hash - + Unknown error. - + Cannot start distant chat - + Distant chat cannot be initiated: - + @@ -1196,7 +1203,7 @@ p, li { white-space: pre-wrap; } Chat Lobbies - + @@ -1221,24 +1228,24 @@ p, li { white-space: pre-wrap; } Unknown Lobby - + Remove All - + ChatLobbyWidget - + Chat lobbies Lobby rozmów - + Name Nazwa @@ -1276,7 +1283,7 @@ p, li { white-space: pre-wrap; } [Nie podano tematu] - + Selected lobby info Informacje o zaznaczonym lobby @@ -1293,12 +1300,12 @@ p, li { white-space: pre-wrap; } Anonymous IDs accepted - + You're not subscribed to this lobby; Double click-it to enter and chat. - + @@ -1316,14 +1323,14 @@ p, li { white-space: pre-wrap; } %1 zaprasza cię do lobby rozmów o nazwie %2 - + Search Chat lobbies Wyszukaj lobby rozmów Search Name - + @@ -1333,12 +1340,12 @@ p, li { white-space: pre-wrap; } <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + @@ -1356,19 +1363,19 @@ p, li { white-space: pre-wrap; } Nie - + Lobby Name: - + Lobby Id: - + Topic: - + @@ -1378,12 +1385,12 @@ p, li { white-space: pre-wrap; } Security: - + Peers: - + @@ -1393,93 +1400,93 @@ p, li { white-space: pre-wrap; } TextLabel - + No lobby selected. Select lobbies at left to show details. Double click lobbies to enter and chat. - + Private Subscribed Lobbies - + Public Subscribed Lobbies - + Chat Lobbies - + Leave this lobby - + Enter this lobby - + Enter this lobby as... - + Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + You will need to create an identity in order to join chat lobbies. - + Choose an identity for this lobby: - + Create an identity and enter this lobby - + Show - + Pokaż column - + @@ -1521,7 +1528,7 @@ Double click lobbies to enter and chat. Anuluj - + Quick Message Szybka wiadomość @@ -1530,34 +1537,34 @@ Double click lobbies to enter and chat. ChatPage - + General Ogólne - + Distant Chat - + Everyone - + Contacts - + Kontakty Nobody - + Accept encrypted distant chat from - + @@ -1567,7 +1574,7 @@ Double click lobbies to enter and chat. Enable Emoticons Private Chat - + @@ -1577,27 +1584,27 @@ Double click lobbies to enter and chat. Enable custom fonts - + Enable custom font size - + Minimum font size - + Enable bold - + Enable italics - + @@ -1609,15 +1616,20 @@ Double click lobbies to enter and chat. Send message with Ctrl+Return Ctrl+Enter wysyła wiadomość + + + Send as plain text by default + + Chat Lobby - + Blink tab icon - + @@ -1627,22 +1639,22 @@ Double click lobbies to enter and chat. Open Window for new chat - + Grab Focus when chat arrives - + Use a single tabbed window - + Blink window/tab icon - + @@ -1714,7 +1726,7 @@ Double click lobbies to enter and chat. Wychodzące - + Incoming message in history Przychodzące wiadomości w historii @@ -1736,7 +1748,7 @@ Double click lobbies to enter and chat. Outgoing offline message - + @@ -1751,12 +1763,12 @@ Double click lobbies to enter and chat. UserName - + /me is sending a message with /me - + @@ -1766,37 +1778,37 @@ Double click lobbies to enter and chat. <html><head/><body><p align="justify">In this tab you can setup how many chat messages Retroshare will keep saved on the disc and how much of the previous conversation it will display, for the different chat systems. The max storage period allows to discard old messages and prevents the chat history from filling up with volatile chat (e.g. chat lobbies and distant chat).</p></body></html> - + Chatlobbies - + Enabled: - + Saved messages (0 = unlimited): - + Number of messages restored (0 = off): - + Maximum storage period, in days (0=keep all): - + Search by default - + @@ -1806,73 +1818,73 @@ Double click lobbies to enter and chat. Whole Words - + Move to cursor - + Color All Text Found - + Color of found text - + Choose color of found text - + Maximum count for coloring matching text - + Threshold for automatic search - + Default identity for chat lobbies: - + Show Bar by default - + - + Private chat invite from - + Name : - + PGP id : - + Valid until : - + ChatStyle - + Standard style for group chat Styl standardowy dla chatu grupowego @@ -1926,12 +1938,12 @@ Double click lobbies to enter and chat. Zamknij - + Send Wyślij - + Bold Pogrubienie @@ -1946,14 +1958,14 @@ Double click lobbies to enter and chat. Pochylenie - + Attach a Picture Dołącz Zdjęcie - + Strike - + @@ -2002,42 +2014,70 @@ Double click lobbies to enter and chat. Zresetuj czcionkę do domyślnej - + Quote - + Cytat Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... pisze... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? Czy naprawdę chcesz fizycznie usunąć historię? - + Add Extra File Dodaj dodatkowy plik @@ -2069,12 +2109,12 @@ Double click lobbies to enter and chat. is Idle and may not reply - + is Away and may not reply - + @@ -2082,122 +2122,102 @@ Double click lobbies to enter and chat. jest Zajęty i może nie odpowiedzieć - + Find Case Sensitively - + Find Whole Words - + Move To Cursor - + Don't stop to color after X items found (need more CPU) - + - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> - + <b>Find Next </b><br/><i>Ctrl+G</i> - + <b>Find </b><br/><i>Ctrl+F</i> - + - + (Status) - + - + Set text font & color - + Attach a File - + - + WARNING: Could take a long time on big history. - + Choose color - + - + <b>Mark this selected text</b><br><i>Ctrl+M</i> - + - - %1This message consists of %2 characters. - - - - + items found. - + No items found. - + <b>Return to marked text</b><br><i>Ctrl+M</i> - + - - Display Search Box - - - - - Search Box - - - - + Type a message here - + - + Don't stop to color after - + items found (need more CPU) - - - - - Warning: - + @@ -2205,18 +2225,18 @@ Double click lobbies to enter and chat. TextLabel - + Empty Circle - + CirclesDialog - + Showing details: Pokazywanie szczegółów: @@ -2238,7 +2258,7 @@ Double click lobbies to enter and chat. - + Personal Circles Kręgi Osobiste @@ -2250,7 +2270,7 @@ Double click lobbies to enter and chat. Peers - + @@ -2264,7 +2284,7 @@ Double click lobbies to enter and chat. - + Friends Przyjaciele @@ -2291,52 +2311,52 @@ Double click lobbies to enter and chat. Discovery - + Share Category - + Create Personal Circle - + Create External Circle - + Edit Circle - + Todo - + Friends Of Friends - + - + External Circles (Admin) - + External Circles (Subscribed) - + External Circles (Other) - + @@ -2348,14 +2368,14 @@ Double click lobbies to enter and chat. ConfCertDialog - + Details Szczegóły Node info - + @@ -2364,7 +2384,7 @@ Double click lobbies to enter and chat. - + Local Address Adres Lokalny @@ -2391,113 +2411,97 @@ Double click lobbies to enter and chat. Lista adresów - + + Use this certificate to make friends: + + + + Include signatures Załącz podpisy - - + + RetroShare RetroShare - - + + Error : cannot get peer details. - + - - Use as direct source, when available - - - - - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - - - - + Encryption - + Not connected - + Peer Addresses - + - Options - Opcje + Opcje - + Retroshare node details - + - + Node name : - + Status : - + Last Contact : - + Retroshare version : - + Node ID : - + PGP key : - + Retroshare Certificate - + - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + @@ -2508,57 +2512,47 @@ Double click lobbies to enter and chat. <p>This certificate contains: - + <li>a <b>node ID</b> and <b>name</b> - + an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + <p>You can use this certificate to make new friends. Send it by email, or give it hand to hand.</p> - + - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + with - + external signatures</li> - + @@ -2566,32 +2560,32 @@ Double click lobbies to enter and chat. Connect Friend Wizard - + Add a new Friend - + &You get a certificate file from your friend - + &Make friend with selected friends of my friends - + Text certificate - + Use text representation of the PGP certificates. - + @@ -2602,47 +2596,47 @@ Double click lobbies to enter and chat. Copy your Cert to Clipboard - + Save your Cert into a File - + Run Email program - + Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + Certificate files - + Use PGP certificates saved in files. - + Import friend's certificate... - + You have to generate a file with your certificate and give it to your friend. Also, you can use a file generated before. - + @@ -2652,7 +2646,7 @@ Double click lobbies to enter and chat. Drag and Drop your friends's certificate in this Window or specify path in the box below - + @@ -2662,87 +2656,87 @@ Double click lobbies to enter and chat. Friends of friends - + Select now who you want to make friends with. - + Show me: - + Make friend with these peers - + RetroShare ID - + Use RetroShare ID for adding a Friend which is available in your network. - + Add Friends RetroShare ID... - + Paste Friends RetroShare ID in the box below - + Enter the RetroShare ID of your Friend, e.g. Peer@BDE8D16A46D938CF - + RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + GMail - + Yahoo - + Outlook - + AOL - + Yandex - + Email - + Email @@ -2757,12 +2751,12 @@ Double click lobbies to enter and chat. Your friends' email addresses: - + Enter Friends Email addresses - + @@ -2774,20 +2768,20 @@ Double click lobbies to enter and chat. Friend request - + Details about the request - + Peer details - + @@ -2804,13 +2798,13 @@ Double click lobbies to enter and chat. Node: - + Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + @@ -2827,33 +2821,33 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + @@ -2871,53 +2865,53 @@ resources. Add as friend to connect with - + To accept the Friend Request, click the Finish button. - + Sorry, some error appeared - + Here is the error message: - + Make Friend - + Details about your friend: - + Key validity: - + Signers - + This peer is already on your friend list. Adding it might just set it's ip address. - + Abnormal size read is bigger than memory block. - + @@ -2932,22 +2926,22 @@ resources. Invalid checksum section. - + Checksum mismatch. Certificate is corrupted. - + Unknown section type found (Certificate might be corrupted). - + Missing checksum. - + @@ -2963,37 +2957,37 @@ resources. Cannot get peer details of PGP key %1 - + Any peer I've not signed - + Friends of my friends who already trust me - + Signed peers showing as denied - + Peer name - + Also signed by - + Peer id - + @@ -3004,17 +2998,17 @@ resources. Ultimate - + Full - + Marginal - + @@ -3024,33 +3018,33 @@ resources. No Trust - + You have a friend request from - + Certificate Load Failed:file %1 not found - + This Peer %1 is not available in your Network - + Use new certificate format (safer, more robust) - + Use old (backward compatible) certificate format - + @@ -3060,22 +3054,22 @@ resources. RetroShare Invite - + No or misspelled BEGIN tag found - + No or misspelled END tag found - + No checksum found (the last 5 chars should be separated by a '=' char), or no newline after tag line (e.g. line beginning with Version:) - + @@ -3085,7 +3079,7 @@ resources. Connect Friend Help - + @@ -3095,7 +3089,7 @@ resources. Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -3117,7 +3111,7 @@ resources. Sorry, create certificate failed - + @@ -3133,42 +3127,42 @@ resources. Sorry, certificate file creation failed - + *** None *** - + Use as direct source, when available - + IP-Addr: - + IP-Address - + Recommend many friends to each others - + Friend Recommendations - + The text below is your Retroshare certificate. You have to provide it to your friend - + @@ -3178,7 +3172,7 @@ resources. Recommend friends - + @@ -3188,22 +3182,22 @@ resources. Please select at least one friend for recommendation. - + Please select at least one friend as recipient. - + Add key to keyring - + This key is already in your keyring - + @@ -3211,69 +3205,69 @@ resources. This might be useful for sending distant messages to this peer even if you don't make friends. - + Certificate has wrong version number. Remember that v0.6 and v0.5 networks are incompatible. - + Invalid node id. - + Auto-download recommended files - + Can be used as direct source - + Require whitelist clearance to connect - + Add IP to whitelist - + No IP in this certificate! - + <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + Added with certificate from %1 - + Paste Cert of your friend from Clipboard - + Certificate Load Failed:can't read from file %1 - + Certificate Load Failed:something is wrong with %1 - + @@ -3281,228 +3275,228 @@ even if you don't make friends. Connection Progress - + Connecting to: - + TextLabel - + Network - + Net Result - + Connect Status - + Contact Result - + DHT Startup - + DHT Result - + Peer Lookup - + Peer Result - + UDP Setup - + UDP Result - + Connection Assistant - + Invalid Peer ID - + Unknown State - + Offline - + Behind Symmetric NAT - + Behind NAT & No DHT - + NET Restart - + Behind NAT - + No DHT - + NET STATE GOOD! - + DHT Failed - + DHT Disabled - + DHT Okay - + Finding RS Peers - + Lookup requires DHT - + Searching DHT - + Lookup Timeout - + Peer DHT NOT ACTIVE - + Lookup Failure - + Peer Offline - + Peer Firewalled - + Peer Online - + Connection In Progress - + Initial connections can take a while, please be patient - + If an error is detected it will be displayed here - + You can close this dialog at any time - + Retroshare will continue connecting in the background - + Connection Timeout - + Connection Attempt has taken too long - + But no error has been detected - + Try again shortly, Retroshare will continue connecting in the background - + @@ -3511,52 +3505,52 @@ even if you don't make friends. If you continue to get this message, please contact developers - + DHT Lookup Timeout - + DHT Lookup has taken too long - + UDP Connection Timeout - + UDP Connection has taken too long - + UDP Connection Failed - + We are continually working to improve connectivity. - + In this case the UDP connection attempt has failed. - + Improve connectivity by opening a Port in your Firewall. - + Connected - + @@ -3566,27 +3560,27 @@ even if you don't make friends. DHT startup Failed - + Your DHT has not started properly - + Common causes of this problem are: - + - You are not connected to the Internet - + - You have a missing or out-of-date DHT bootstrap file (bdboot.txt) - + @@ -3601,124 +3595,124 @@ even if you don't make friends. Retroshare has tried All Known Addresses, with no success - + The DHT is needed if your friends have Dynamic IP Addresses. - + Go to Settings->Server and change config to "Public: DHT and Discovery" - + Peer Denied Connection - + We successfully reached your Friend. - + but they have not added you as a Friend. - + Please contact them to add your Certificate - + Your Retroshare Node is configured Okay - + We successfully reached your Friend via UDP. - + Please contact them to add your Full Certificate - + We Cannot find your Friend. - + They are either offline or their DHT is Off - + Peer DHT is Disabled - + Your Friend has configured Retroshare with DHT Disabled. - + You have previously connected to this Friend - + Retroshare has determined that they have DHT switched off - + Without the DHT it is hard for Retroshare to locate your friend - + Try importing a fresh Certificate to get up-to-date connection information - + Incomplete Friend Details - + You have imported an incomplete Certificate - + Please retry importing the full Certificate - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> - + @@ -3726,109 +3720,97 @@ p, li { white-space: pre-wrap; } N/A - + UNVERIFIABLE FORWARD! - + UNVERIFIABLE FORWARD & NO DHT - + Searching - + UDP Connect Timeout - + Only Advanced Retroshare users should switch off the DHT. - + Retroshare cannot connect without this information - + They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details - + - - + Name Nazwa - - Creator - - - - - Distribution - - - - + Public Publiczny - - Self-Restricted - - - - - Restricted to: - - - - - Circle Membership - - - - + IDs ID - - Known Identities - - - - + Filter - + - + Nickname - + Ksywa - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ID @@ -3838,71 +3820,100 @@ p, li { white-space: pre-wrap; } Typ - - - - + + Name: + Nazwa: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + Prywatny + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare RetroShare - + Please set a name for your Circle - + - - Personal Circle Details - - - - - External Circle Details - - - - - Cannot Edit Existing Circles Yet - - - - + No Restriction Circle Selected - + - + No Circle Limitations Selected - + - - Create New Personal Circle - - - - - Create New External Circle - - - - + Add Dodaj Remove - + - + Search Szukaj - + All Wszyscy @@ -3914,52 +3925,101 @@ p, li { white-space: pre-wrap; } Signed by known nodes - + - + Edit Circle - + - - + PGP Identity - + - - - + + + Anon Id - + + + + + Circle name + + + + + Update + + Close + Zamknij + + + + + Create New Circle + + + + + Create + Utwórz + + + PGP Linked Id - + + + + + Add Member + + + + + Remove Member + CreateGroup - + Create a Group Utwórz Grupę - - Group Name - Nazwa + + Group Name: + Nazwa grupy: - + + Group ID: + + + + Group Name + Nazwa + + + Enter a name for your group Wprowadź nazwę grupy - + + To be defined + + + + Friends Przyjaciele @@ -3976,7 +4036,7 @@ p, li { white-space: pre-wrap; } New Channel Post - + @@ -3986,28 +4046,28 @@ p, li { white-space: pre-wrap; } Channel Post to: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> - + Add File to Attach - + Add Channel Thumbnail - + @@ -4028,22 +4088,22 @@ p, li { white-space: pre-wrap; } Allow channels to get frame for message thumbnail from movie media attachments or not - + Auto Thumbnail - + Drag and Drop Files from Search Results - + Paste RetroShare Links - + @@ -4054,12 +4114,12 @@ p, li { white-space: pre-wrap; } Drop file error. - + Directory can't be dropped, only files are accepted. - + @@ -4080,47 +4140,47 @@ p, li { white-space: pre-wrap; } File already Added and Hashed - + Please add a Subject - + Load thumbnail picture - + Generate mass data - + Do you really want to generate %1 messages ? - + You are about to add files you're not actually sharing. Do you still want this to happen? - + About to post un-owned files to a channel. - + CreateGxsForumMsg - + Post Forum Message - + @@ -4163,12 +4223,12 @@ p, li { white-space: pre-wrap; } Rozpocznij Nowy Wątek - + No Forum - + - + In Reply to W Odpowiedzi do @@ -4187,49 +4247,59 @@ p, li { white-space: pre-wrap; } Please choose Signing Id, it is required - + Add Extra File Dodaj dodatkowy plik + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data - + Do you really want to generate %1 messages ? - + - + Send Wyślij - + Forum Message - + Forum Message has not been Sent. Do you want to reject this message? - + Post as - + Congrats, you found a bug! - + @@ -4238,72 +4308,72 @@ Do you want to reject this message? Create Chat Lobby - + A chat lobby is a decentralized and anonymous chat group. All participants receive all messages. Once the lobby is created you can invite other friends from the Friends tab. - + Lobby name: - + Lobby topic: - + Visibility: - + Public (Visible by friends) - + Private (Works on invitation only) - + <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + Security: - + Select the Friends with which you want to group chat. - + Invited friends - + Put a sensible lobby name here - + Set a descriptive topic here - + @@ -4313,7 +4383,7 @@ Do you want to reject this message? Identity to use: - + @@ -4336,12 +4406,12 @@ Do you want to reject this message? Location ID: - + Software Version: - + @@ -4371,7 +4441,7 @@ Do you want to reject this message? A RetroShare link with your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -4381,7 +4451,7 @@ Do you want to reject this message? Your certificate could not be parsed correctly. Please contact the developers. - + @@ -4391,7 +4461,7 @@ Do you want to reject this message? Your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -4401,57 +4471,57 @@ Do you want to reject this message? RetroShare Certificate (*.rsc );;All Files (*) - + Certyfikat RetroShare (*.rsc);;Wszystkie Pliki (*) TextLabel - + PGP fingerprint: - + Node information - + PGP Id : - + Friend nodes: - + Copy certificate to clipboard - + Save certificate to file - + Node - + Create new node... - + show statistics window - + @@ -4459,7 +4529,7 @@ Do you want to reject this message? users - + @@ -4467,38 +4537,38 @@ Do you want to reject this message? DHT - + <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + DHT Off - + DHT Searching for RetroShare Peers - + RetroShare users in DHT (Total DHT users) - + DHT Good - + No peer found in DHT - + @@ -4526,7 +4596,7 @@ Do you want to reject this message? File Never Seen - + @@ -4544,32 +4614,32 @@ Do you want to reject this message? Done - + Active - + Outstanding - + Needs checking - + retroshare link(s) - + retroshare link - + @@ -4579,7 +4649,7 @@ Do you want to reject this message? Rating - + @@ -4597,27 +4667,27 @@ Do you want to reject this message? Net Status - + Connect Options - + Network Mode - + Nat Type - + Nat Hole - + @@ -4632,52 +4702,52 @@ Do you want to reject this message? PeerId - + DHT Status - + ConnectLogic - + Connect Status - + Connect Mode - + Request Status - + Cb Status - + RsId - + Bucket - + IP:Port - + @@ -4687,28 +4757,28 @@ Do you want to reject this message? Status Flags - + Found - + Last Sent - + Last Recv - + Relay Mode - + @@ -4738,192 +4808,192 @@ Do you want to reject this message? Bandwidth - + IP - + Search IP - + Copy %1 to clipboard - + Unknown NetState - + Offline - + Local Net - + Behind NAT - + External IP - + UNKNOWN NAT STATE - + SYMMETRIC NAT - + DETERMINISTIC SYM NAT - + RESTRICTED CONE NAT - + FULL CONE NAT - + OTHER NAT - + NO NAT - + UNKNOWN NAT HOLE STATUS - + NO NAT HOLE - + UPNP FORWARD - + NATPMP FORWARD - + MANUAL FORWARD - + NET BAD: Unknown State - + NET BAD: Offline - + NET BAD: Behind Symmetric NAT - + NET BAD: Behind NAT & No DHT - + NET WARNING: NET Restart - + NET WARNING: Behind NAT - + NET WARNING: No DHT - + NET STATE GOOD! - + CAUTION: UNVERIFIABLE FORWARD! - + CAUTION: UNVERIFIABLE FORWARD & NO DHT - + Not Active (Maybe Connected!) - + Searching - + Failed - + offline - + Unreachable - + ONLINE - + Direct - + @@ -4933,27 +5003,27 @@ Do you want to reject this message? Disconnected - + Udp Started - + Connected - + Request Active - + No Request - + @@ -4963,13 +5033,13 @@ Do you want to reject this message? RELAY END - + Yourself - + @@ -4980,17 +5050,17 @@ Do you want to reject this message? unlimited - + Own Relay - + RELAY PROXY - + @@ -4999,27 +5069,27 @@ Do you want to reject this message? %1 secs ago - + %1B/s - + Relays - + 0x%1 EX:0x%2 - + never - + @@ -5027,113 +5097,113 @@ Do you want to reject this message? DHT - + Net Status: - + Network Mode: - + Nat Type: - + Nat Hole: - + Connect Mode: - + Peer Address: - + Unreach: - + Online: - + Offline: - + DHT Peers: - + Disconnected: - + Direct: - + Proxy: - + Relay: - + Filter: - + Search Network - + Peers - + Relay - + DHT Graph - + Proxy VIA - + Relay VIA - + @@ -5141,7 +5211,7 @@ Do you want to reject this message? Incoming Directory - + @@ -5152,7 +5222,7 @@ Do you want to reject this message? Partials Directory - + @@ -5162,7 +5232,7 @@ Do you want to reject this message? Automatically share incoming directory (Recommended) - + @@ -5172,7 +5242,7 @@ Do you want to reject this message? Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. Pamiętaj hasze plików, nawet jeśli nie są współdzielone. @@ -5225,12 +5295,12 @@ plików gdy go podłączysz. Set Incoming Directory - + Set Partials Directory - + @@ -5243,12 +5313,12 @@ plików gdy go podłączysz. Waiting outgoing discovery operations - + Waiting incoming discovery operations - + @@ -5256,7 +5326,7 @@ plików gdy go podłączysz. Start file - + @@ -5266,12 +5336,12 @@ plików gdy go podłączysz. to - + ignore case - + @@ -5303,12 +5373,12 @@ plików gdy go podłączysz. Expression Widget - + Delete this expression - + @@ -5321,7 +5391,7 @@ plików gdy go podłączysz. Add new Association - + @@ -5331,7 +5401,7 @@ plików gdy go podłączysz. Edit this Association - + @@ -5341,7 +5411,7 @@ plików gdy go podłączysz. Remove this Association - + @@ -5351,17 +5421,17 @@ plików gdy go podłączysz. Friend Help - + You this - + Associations - + @@ -5369,37 +5439,37 @@ plików gdy go podłączysz. Chunk map - + Active chunks - + Availability map (%1 active source) - + Availability map (%1 active sources) - + File info - + File name - + Destination folder - + @@ -5422,17 +5492,17 @@ plików gdy go podłączysz. Chunk size - + Number of chunks - + Transferred - + @@ -5447,7 +5517,7 @@ plików gdy go podłączysz. Chunk strategy - + @@ -5462,7 +5532,7 @@ plików gdy go podłączysz. Direct friend transfer / Availability assumed - + @@ -5485,7 +5555,7 @@ plików gdy go podłączysz. Archive - + @@ -5506,7 +5576,7 @@ plików gdy go podłączysz. RetroShare collection file - + @@ -5516,27 +5586,27 @@ plików gdy go podłączysz. Nintendo DS Rom - + Patch - + C++ - + Header - + C - + @@ -5569,7 +5639,7 @@ plików gdy go podłączysz. Share Flags - + @@ -5582,12 +5652,12 @@ plików gdy go podłączysz. Misc - + Set message to read on activate - + @@ -5602,17 +5672,17 @@ plików gdy go podłączysz. Load embedded images - + Tabs - + Open each forum in a new tab - + @@ -5630,28 +5700,28 @@ plików gdy go podłączysz. export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + Show State - + @@ -5660,7 +5730,7 @@ plików gdy go podłączysz. Pokaż Grupy - + Group Grupa @@ -5701,17 +5771,17 @@ plików gdy go podłączysz. Dodaj do grupy - + Search - + Szukaj Sort by state - + - + Move to group Przenieś do grupy @@ -5746,105 +5816,105 @@ plików gdy go podłączysz. Dostępne - + Do you want to remove this Friend? Czy chcesz usunąć tego Przyjaciela? - + Done! - + Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + Error - + Błąd Failed to get a file! - + File is not writeable! - + File is not readable! - + IP - + - + Attempt to connect - + Create new group - + @@ -5854,32 +5924,32 @@ at least one peer was not added to a group Paste certificate link - + Node - + Remove Friend Node - + - + Do you want to remove this node? - + Friend nodes - + - + Send message to whole group - + @@ -5890,13 +5960,13 @@ at least one peer was not added to a group Deny - + Send message - + @@ -5904,7 +5974,7 @@ at least one peer was not added to a group Confirm Friend Request - + @@ -5922,12 +5992,12 @@ at least one peer was not added to a group Search : - + Sort by state - + @@ -5940,14 +6010,14 @@ at least one peer was not added to a group Szukaj Przyjaciół - + Mark all - + Zaznacz wszystkie Mark none - + @@ -5955,13 +6025,13 @@ at least one peer was not added to a group Edit status message - + Broadcast - + @@ -5986,12 +6056,12 @@ at least one peer was not added to a group Set your status message - + Edit your status message - + @@ -6029,7 +6099,7 @@ at least one peer was not added to a group Create new Chat lobby - + @@ -6044,33 +6114,33 @@ at least one peer was not added to a group Keyring - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + Retroshare broadcast chat: messages are sent to all connected friends. - + Network - + Network graph - + Set your status message here. - + @@ -6100,7 +6170,7 @@ at least one peer was not added to a group Be careful: this email will be visible to your friends and friends of your friends. This information is required by PGP, but to stay anonymous, you can use a fake email. - + @@ -6125,27 +6195,32 @@ anonymous, you can use a fake email. All fields are required with a minimum of 3 characters - + Password (check) - + - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> - + [Required] Type the same password again here. - + Passwords do not match - + @@ -6156,227 +6231,222 @@ anonymous, you can use a fake email. This password is for PGP - + Node - + Create new node - + Generate new node - + Create a new node - + You can use it now to create a new node. - + Invalid hidden node - + Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile - + Import new profile - + Export selected profile - + Advanced options - + Create a hidden node - + Use profile - + hidden address - + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + Create new profile - + Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + Export profile - + RetroShare profile files (*.asc) - + Profile saved - + @@ -6385,77 +6455,77 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + Import profile - + Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6463,7 +6533,7 @@ Fill in your PGP password when asked, to sign your new key. Startup - + @@ -6493,12 +6563,12 @@ Fill in your PGP password when asked, to sign your new key. Misc - + Do not show the Quit RetroShare MessageBox - + @@ -6507,8 +6577,12 @@ Fill in your PGP password when asked, to sign your new key. + Register retroshare:// as URL protocol + + + Register retroshare:// as URL protocol (Restart required) - Zarejestruj retroshare:// jako protokół URL (Wymagany restart) + Zarejestruj retroshare:// jako protokół URL (Wymagany restart) @@ -6516,7 +6590,27 @@ Fill in your PGP password when asked, to sign your new key. Potrzebujesz uprawnień administratora by zmienić tą opcję. - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle Bezczynne @@ -6533,10 +6627,20 @@ Fill in your PGP password when asked, to sign your new key. Launch startup wizard - + - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error Błąd @@ -6557,9 +6661,9 @@ Fill in your PGP password when asked, to sign your new key. Ogólne - + Minimize to Tray Icon - + @@ -6581,19 +6685,19 @@ Fill in your PGP password when asked, to sign your new key. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be sure to get their invitation back as well... </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can only connect with friends if you have both added each other.</span></p></body></html> - + Add Your Friends to RetroShare - + @@ -6605,18 +6709,18 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6628,31 +6732,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6665,12 +6769,12 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + Connect To Friends - + @@ -6695,7 +6799,7 @@ p, li { white-space: pre-wrap; } Open Online Forums - + @@ -6725,7 +6829,7 @@ p, li { white-space: pre-wrap; } RetroShare is a private Friend-2-Friend sharing network. - + @@ -6735,7 +6839,7 @@ p, li { white-space: pre-wrap; } Here is your friends ID Certificate. - + @@ -6750,7 +6854,7 @@ p, li { white-space: pre-wrap; } Cut Below Here - + @@ -6765,7 +6869,7 @@ p, li { white-space: pre-wrap; } It has many features, including built-in chat, messaging, - + @@ -6773,82 +6877,82 @@ p, li { white-space: pre-wrap; } Router Statistics - + GroupBox - + ID - + ID Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + Szczegóły Unknown Peer - + Pending packets - + Unknown - + Nieznane @@ -6856,22 +6960,22 @@ p, li { white-space: pre-wrap; } Managed keys - + Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6882,6 +6986,14 @@ p, li { white-space: pre-wrap; } Pokaż Chat Grupy + + GroupChooser + + + [Unknown] + + + GroupDefs @@ -6915,42 +7027,42 @@ p, li { white-space: pre-wrap; } Directory is browsable for friends from groups - + Directory is NOT browsable for friends from groups - + Directory is accessible by anonymous tunnels from friends from groups - + Directory is NOT accessible by anonymous tunnels from friends from groups - + Directory is browsable for any friend - + Directory is NOT browsable for any friend - + Directory is accessible by anonymous tunnels from any friend - + Directory is NOT accessible by anonymous tunnels from any friend - + @@ -6966,27 +7078,27 @@ p, li { white-space: pre-wrap; } All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -6999,7 +7111,7 @@ p, li { white-space: pre-wrap; } Hide tabbar with one open tab - + @@ -7007,7 +7119,7 @@ p, li { white-space: pre-wrap; } Share - + @@ -7015,39 +7127,39 @@ p, li { white-space: pre-wrap; } Kontakty: - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer - + - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7090,7 +7202,17 @@ p, li { white-space: pre-wrap; } Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + @@ -7098,14 +7220,9 @@ p, li { white-space: pre-wrap; } Wyświetl - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7232,7 +7349,7 @@ p, li { white-space: pre-wrap; } <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + @@ -7252,7 +7369,7 @@ p, li { white-space: pre-wrap; } Select channel download directory - + @@ -7262,18 +7379,18 @@ p, li { white-space: pre-wrap; } Set download directory - + [Default directory] - + Specify... - + @@ -7291,12 +7408,12 @@ p, li { white-space: pre-wrap; } TextLabel - + Open folder - + @@ -7306,7 +7423,7 @@ p, li { white-space: pre-wrap; } Paused - + @@ -7316,17 +7433,17 @@ p, li { white-space: pre-wrap; } Checking - + Are you sure that you want to cancel and delete the file? - + Can't open folder - + @@ -7339,7 +7456,7 @@ p, li { white-space: pre-wrap; } Filename - + @@ -7354,7 +7471,7 @@ p, li { white-space: pre-wrap; } Published - + @@ -7367,32 +7484,32 @@ p, li { white-space: pre-wrap; } Create New Channel - + Channel - + Edit Channel - + Add Channel Admins - + Select Channel Admins - + Update Channel - + @@ -7448,6 +7565,16 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Przełącz status przeczytanej wiadomości @@ -7458,7 +7585,7 @@ p, li { white-space: pre-wrap; } - + Play Odtwórz @@ -7487,7 +7614,7 @@ p, li { white-space: pre-wrap; } Set as read and remove item - + @@ -7495,12 +7622,12 @@ p, li { white-space: pre-wrap; } Usuń element - + Channel Feed Lista wiadomości kanału - + Files Pliki @@ -7532,20 +7659,20 @@ p, li { white-space: pre-wrap; } I like this - + I dislike this - + - + Loading Wczytywanie - + Open Otwórz @@ -7563,7 +7690,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel Napisz post na kanale @@ -7575,10 +7702,10 @@ p, li { white-space: pre-wrap; } Search channels - + - + Title Tytuł @@ -7595,17 +7722,17 @@ p, li { white-space: pre-wrap; } Search Message - + Filename - + Search Filename - + @@ -7613,7 +7740,32 @@ p, li { white-space: pre-wrap; } Nie wybrano kanału - + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download Wyłącz auto-pobieranie @@ -7625,17 +7777,33 @@ p, li { white-space: pre-wrap; } Show feeds - + Show files - + - + + Administrator: + + + + + + unknown + nieznane + + + + Distribution: + + + + Feeds - + @@ -7643,19 +7811,19 @@ p, li { white-space: pre-wrap; } Pliki - + Subscribers - + - + Description: Opis - + Posts (at neighbor nodes): - + @@ -7671,7 +7839,7 @@ p, li { white-space: pre-wrap; } Comment Container - + @@ -7684,7 +7852,7 @@ p, li { white-space: pre-wrap; } Hot - + @@ -7694,12 +7862,12 @@ p, li { white-space: pre-wrap; } Top - + Voter ID: - + @@ -7729,17 +7897,17 @@ p, li { white-space: pre-wrap; } UpVotes - + DownVotes - + OwnVote - + @@ -7777,7 +7945,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -7787,18 +7955,18 @@ p, li { white-space: pre-wrap; }⏎ </style></head><body style=&q Signed by - + Comment Signing Error - + You need to create an Identity before you can comment - + @@ -7821,17 +7989,17 @@ before you can comment Update Forum - + Add Forum Admins - + Select Forum Admins - + @@ -7889,7 +8057,7 @@ before you can comment Unsubscribe To Forum - + @@ -7900,7 +8068,7 @@ before you can comment Set as read and remove item - + @@ -7910,7 +8078,7 @@ before you can comment In Reply to: - + @@ -7920,7 +8088,7 @@ before you can comment Forum Feed - + @@ -7936,7 +8104,7 @@ before you can comment Formularz - + Start new Thread for Selected Forum Rozpocznij nowy Wątek dla Wybranego Forum @@ -7962,7 +8130,7 @@ before you can comment - + Title Tytuł @@ -7975,18 +8143,18 @@ before you can comment - + Author Autor Save image - + - + Loading Wczytywanie @@ -8053,12 +8221,12 @@ before you can comment Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + @@ -8111,33 +8279,73 @@ before you can comment This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + + + + Anti-spam - + [ ... Redacted message ... ] - + @@ -8162,22 +8370,22 @@ before you can comment <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8230,42 +8438,42 @@ before you can comment On %1, %2 wrote: - + - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description Opis By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8281,7 +8489,7 @@ before you can comment <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + @@ -8325,7 +8533,7 @@ before you can comment Retrieving - + @@ -8336,67 +8544,71 @@ before you can comment GxsGroupDialog - - + + Name Nazwa - + Add Icon Dodaj Ikonę Key recipients can publish to restricted-type group and can view and publish for private-type channels - + Share Publish Key - + - + check peers you would like to share private publish key with - + Share Key With - + - - + + Description Opis - + Message Distribution Dystrybucja Wiadomości - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public Publiczne - - Restricted to Group - Zarezerwowane dla Grupy + Zarezerwowane dla Grupy - - + Only For Your Friends Tylko Dla Twoich Przyjaciół - + Publish Signatures Publiczne Podpisy @@ -8438,16 +8650,15 @@ before you can comment If No Publish Signature - + - Comments Komentarze - + Allow Comments Pozwól Komentować @@ -8459,133 +8670,203 @@ before you can comment Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + Komentarze: - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: Kontakty: - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name Proszę, dodaj Nazwę - + + PGP signature from known ID required + + + + Load Group Logo Załaduj Logo Grupy - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback - + Owner: - + - + Set a descriptive description here - + - + Info - + - - Comments allowed - - - - - Comments not allowed - - - - + ID ID - + Last Post Ostatni Post + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity Popularność - - - Posts - - - Type - Typ + Posts + - + Type + Typ + + + Author Autor GxsIdLabel - + @@ -8598,7 +8879,7 @@ before you can comment Todo - + @@ -8628,15 +8909,20 @@ before you can comment Show Details - + Edit Details - + - + + Share publish permissions + + + + Copy RetroShare Link Skopiuj Link RetroShare @@ -8651,25 +8937,20 @@ before you can comment Oznacz wszystkie jako nieprzeczytane - + AUTHD - - - - - Share admin permissions - + GxsIdChooser - + No Signature - + - + Create new Identity Stwórz nową Tożsamość @@ -8677,62 +8958,62 @@ before you can comment GxsIdDetails - + Loading Wczytywanie Not found - + No Signature - + [Banned] - + Authentication - + unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8753,42 +9034,42 @@ before you can comment Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + @@ -8797,12 +9078,12 @@ before you can comment Drop file error. - + Directory can't be dropped, only files are accepted. - + @@ -8862,7 +9143,7 @@ before you can comment Searching for: - + @@ -8887,7 +9168,7 @@ before you can comment Forward - + @@ -8902,7 +9183,7 @@ before you can comment Home - + @@ -8939,7 +9220,7 @@ before you can comment Close Vidalia Help - + @@ -8949,7 +9230,7 @@ before you can comment Supplied XML file is not a valid Contents document. - + @@ -8975,7 +9256,7 @@ before you can comment Error Loading Help Contents: - + @@ -9003,7 +9284,7 @@ before you can comment License Agreement - + @@ -9023,7 +9304,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9034,14 +9315,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Swedish: </span><span style=" font-size:8pt;"> Daniel Wester</span><span style=" font-size:8pt; font-weight:600;"> &lt;</span><span style=" font-size:8pt;">wester@speedmail.se</span><span style=" font-size:8pt; font-weight:600;">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">German: </span><span style=" font-size:8pt;">Jan</span><span style=" font-size:8pt; font-weight:600;"> </span><span style=" font-size:8pt;">Keller</span> &lt;<span style=" font-size:8pt;">trilarion@users.sourceforge.net</span>&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polish: </span>Maciej Mrug</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9051,16 +9332,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + Libraries - + @@ -9093,26 +9374,26 @@ p, li { white-space: pre-wrap; } Error opening help file: - + IdDetailsDialog - + Person Details - + Identity Info - + Owner node ID : - + @@ -9122,28 +9403,28 @@ p, li { white-space: pre-wrap; } Owner node name : - + Identity name : - + Identity ID : - + Last used: - + Your Avatar Click here to change your avatar - + @@ -9153,30 +9434,30 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9186,111 +9467,112 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + Unknown real name - + Anonymous Id - + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + Ok Banned - + IdDialog - + + New ID - + - - + + All Wszyscy @@ -9306,97 +9588,129 @@ p, li { white-space: pre-wrap; } Szukaj - - Unknown real name - - - - + Anonymous Id - + - + Create new Identity Stwórz nową Tożsamość - - Persons - + + Create new circle + - + + Persons + + + + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + Kręgi + + + + Circle name + + + + + Membership + Członkostwo + + + + Public Circles + Kręgi Publiczne + + + + Personal Circles + Kręgi Osobiste + + + Edit identity - + Delete identity - + Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID - + - + Send message - + - + Identity info - + Identity ID : - + Owner node name : - + @@ -9406,277 +9720,480 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous Anonim - + ID - + ID Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + Status: + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + nieznane + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + OK - + Ok Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People - + Your Avatar Click here to change your avatar - + - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9689,7 +10206,7 @@ p, li { white-space: pre-wrap; } Key ID - + @@ -9704,7 +10221,7 @@ p, li { white-space: pre-wrap; } PGP Id - + @@ -9714,13 +10231,13 @@ p, li { white-space: pre-wrap; } New identity - + To be generated - + @@ -9733,38 +10250,38 @@ p, li { white-space: pre-wrap; } N/A - + Edit identity - + Error getting key! - + Error KeyID invalid - + Unknown GpgId - + Unknown real name - + Create New Identity - + @@ -9779,7 +10296,7 @@ p, li { white-space: pre-wrap; } TextLabel - + @@ -9788,7 +10305,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9799,32 +10316,32 @@ p, li { white-space: pre-wrap; } Your Avatar Click here to change your avatar - + Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9837,12 +10354,12 @@ p, li { white-space: pre-wrap; } KeyId - + GXSId - + @@ -9852,27 +10369,27 @@ p, li { white-space: pre-wrap; } - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9885,7 +10402,7 @@ p, li { white-space: pre-wrap; } - + Copy Skopiuj @@ -9921,17 +10438,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -9950,7 +10467,7 @@ p, li { white-space: pre-wrap; } Edit Share Permissions - + @@ -9960,33 +10477,33 @@ p, li { white-space: pre-wrap; } Check files - + Edit Shared Folder - + Recommend in a message to - + Set command for opening this file - + Collection - + MainWindow - + Add Friend Dodaj Przyjaciela @@ -10002,7 +10519,7 @@ p, li { white-space: pre-wrap; } - + Options Opcje @@ -10010,7 +10527,7 @@ p, li { white-space: pre-wrap; } Messenger - + @@ -10036,12 +10553,12 @@ p, li { white-space: pre-wrap; } Kreator szybkiego startu - + RetroShare %1 a secure decentralized communication platform RetroShare %1 bezpieczna, zdecentralizowana platforma komunikacji - + Unfinished Niedokończone @@ -10057,7 +10574,7 @@ p, li { white-space: pre-wrap; } RetroShare will now safely suspend any disk access to this directory. Please make some free space and click Ok. - + @@ -10077,17 +10594,17 @@ p, li { white-space: pre-wrap; } Open Messenger - + Open Messages - + Bandwidth Graph - + @@ -10132,12 +10649,12 @@ p, li { white-space: pre-wrap; } Down: %1 (kB/s) - + Up: %1 (kB/s) - + @@ -10155,7 +10672,7 @@ p, li { white-space: pre-wrap; } Czy naprawczę chcesz wyjść z RetroShare ? - + Internal Error Błąd wewnętrzny @@ -10172,12 +10689,12 @@ p, li { white-space: pre-wrap; } Make sure this link has not been forged to drag you to a malicious website. - + Don't ask me again - + @@ -10187,56 +10704,56 @@ p, li { white-space: pre-wrap; } The file link is malformed. - + ServicePermissions - + Service permissions matrix - + - + Add Dodaj Statistics - + Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose - + @@ -10251,38 +10768,38 @@ p, li { white-space: pre-wrap; } Heading 1 - + Heading 2 - + Heading 3 - + Heading 4 - + Heading 5 - + Heading 6 - + Font size - + @@ -10317,7 +10834,7 @@ p, li { white-space: pre-wrap; } Sets text font to code style - + @@ -10336,29 +10853,29 @@ p, li { white-space: pre-wrap; } - + Tags Tagi Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + @@ -10398,7 +10915,7 @@ p, li { white-space: pre-wrap; } Toggle Contacts View - + @@ -10428,7 +10945,7 @@ p, li { white-space: pre-wrap; } Add Blockquote - + @@ -10453,27 +10970,27 @@ p, li { white-space: pre-wrap; } &Justify - + All addresses (mixed) - + All people - + My contacts - + Hello,<br>I recommend a good friend of mine; you can trust them too when you trust me. <br> - + @@ -10483,7 +11000,7 @@ p, li { white-space: pre-wrap; } This friend is suggested by - + @@ -10493,10 +11010,10 @@ p, li { white-space: pre-wrap; } Hi %1,<br><br>%2 wants to be friends with you on RetroShare.<br><br>Respond now:<br>%3<br><br>Thanks,<br>The RetroShare Team - + - + Save Message Zapisz wiadomość @@ -10521,12 +11038,12 @@ Czy chcesz zapisać wiadomość do wersji roboczych? Add to "CC" - + Add to "BCC" - + @@ -10555,7 +11072,7 @@ Czy chcesz zapisać wiadomość do wersji roboczych? Cc - + @@ -10570,7 +11087,7 @@ Czy chcesz zapisać wiadomość do wersji roboczych? On %1, %2 wrote: - + @@ -10603,7 +11120,7 @@ Czy chcesz zapisać wiadomość do wersji roboczych? Bcc - + @@ -10693,7 +11210,7 @@ Czy chcesz zapisać wiadomość do wersji roboczych? &Contacts Sidebar - + @@ -10713,12 +11230,12 @@ Czy chcesz zapisać wiadomość do wersji roboczych? &Format - + Details - + Szczegóły @@ -10779,74 +11296,74 @@ Czy chcesz zapisać wiadomość ? Od klatki: - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10854,37 +11371,37 @@ Czy chcesz zapisać wiadomość ? Everyone - + Contacts - + Kontakty Nobody - + Accept encrypted distant messages from - + Reading - + Set message to read on activate - + Open messages in - + @@ -10894,7 +11411,7 @@ Czy chcesz zapisać wiadomość ? Tags can be used to categorize and prioritize your messages - + @@ -10939,12 +11456,12 @@ Czy chcesz zapisać wiadomość ? Distant messages: - + Load embedded images - + @@ -10952,7 +11469,7 @@ Czy chcesz zapisać wiadomość ? Sub: - + @@ -10993,12 +11510,12 @@ Czy chcesz zapisać wiadomość ? Cc: - + Bcc: - + @@ -11074,17 +11591,17 @@ Czy chcesz zapisać wiadomość ? Load images always for this message - + Hide the attachment pane - + Show the attachment pane - + @@ -11097,7 +11614,7 @@ Czy chcesz zapisać wiadomość ? Compose - + @@ -11117,7 +11634,7 @@ Czy chcesz zapisać wiadomość ? Reply all - + @@ -11127,7 +11644,7 @@ Czy chcesz zapisać wiadomość ? Forward - + @@ -11230,7 +11747,7 @@ Czy chcesz zapisać wiadomość ? Compose - + @@ -11250,7 +11767,7 @@ Czy chcesz zapisać wiadomość ? Reply all - + @@ -11260,7 +11777,7 @@ Czy chcesz zapisać wiadomość ? Foward - + @@ -11334,7 +11851,7 @@ Czy chcesz zapisać wiadomość ? Total Inbox: - + @@ -11386,23 +11903,23 @@ Czy chcesz zapisać wiadomość ? Save As... - + Reply to Message - + Reply to All - + Forward Message - + @@ -11432,53 +11949,53 @@ Czy chcesz zapisać wiadomość ? Click to sort by attachments - + Click to sort by subject - + Click to sort by read - + Click to sort by from - + Click to sort by date - + Click to sort by tags - + Click to sort by star - + Forward selected Message - + Search Subject - + Search From - + @@ -11508,27 +12025,27 @@ Czy chcesz zapisać wiadomość ? <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + Starred - + System - + System Open in a new window - + Open in a new tab - + @@ -11543,7 +12060,7 @@ Czy chcesz zapisać wiadomość ? Add Star - + @@ -11553,44 +12070,44 @@ Czy chcesz zapisać wiadomość ? Edit as new - + Remove Messages - + Remove Message - + Undelete - + Empty trash - + Drafts - + No starred messages available. Stars let you give messages a special status to make them easier to find. To star a message, click on the light gray star beside any message. - + No system messages available. - + @@ -11600,12 +12117,12 @@ Czy chcesz zapisać wiadomość ? Click to sort by to - + This message goes to a distant person. - + @@ -11614,7 +12131,7 @@ Czy chcesz zapisać wiadomość ? Total: - + @@ -11625,22 +12142,22 @@ Czy chcesz zapisać wiadomość ? Click to sort by signature - + This message was signed and the signature checks - + This message was signed but the signature doesn't check - + This message comes from a distant person. - + @@ -11648,17 +12165,17 @@ Czy chcesz zapisać wiadomość ? RetroShare Messenger - + - + Add a Friend - + Share files for your friends - + @@ -11666,17 +12183,17 @@ Czy chcesz zapisać wiadomość ? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + @@ -11694,17 +12211,17 @@ Czy chcesz zapisać wiadomość ? Reply to Message - + Reply Message - + Odpowiedz Wiadomością Delete Message - + @@ -11725,22 +12242,22 @@ Czy chcesz zapisać wiadomość ? Message From - + Sent Msg - + Draft Msg - + Pending Msg - + @@ -11753,52 +12270,52 @@ Czy chcesz zapisać wiadomość ? <strong>NAT:</strong> - + Network Status Unknown - + Offline - + Nasty Firewall - + DHT Disabled and Firewalled - + Network Restarting - + Behind Firewall - + DHT Disabled - + RetroShare Server - + Forwarded Port - + @@ -11806,12 +12323,12 @@ Czy chcesz zapisać wiadomość ? Filter: - + Search Network - + @@ -11823,7 +12340,7 @@ Czy chcesz zapisać wiadomość ? Did I authenticated peer - + @@ -11833,54 +12350,54 @@ Czy chcesz zapisać wiadomość ? Did peer authenticated me - + Cert Id - + Last used - + Clear - + Set Tabs Right - + Set Tabs North - + Set Tabs South - + Set Tabs Left - + Set Tabs Rounded - + Set Tabs Triangular - + @@ -11890,37 +12407,37 @@ Czy chcesz zapisać wiadomość ? Copy My Key to Clipboard - + Export My Key - + Create New Profile - + Create a new Profile - + Peer ID - + Deny friend - + Peer details... - + @@ -11930,22 +12447,22 @@ Czy chcesz zapisać wiadomość ? Clean keyring - + - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. The removal may fail when running multiple Retroshare instances on the same machine. - + Keyring info - + @@ -11953,7 +12470,7 @@ Notes: Your old keyring will be backed up. For security, your keyring was previously backed-up to file - + @@ -11963,17 +12480,17 @@ For security, your keyring was previously backed-up to file Cannot delete secret keys - + Cannot create backup file. Check for permissions in pgp directory, disk space, etc. - + Personal signature - + @@ -11983,22 +12500,22 @@ For security, your keyring was previously backed-up to file Marginally trusted peer - + Fully trusted peer - + Untrusted peer - + Has authenticated me - + @@ -12008,7 +12525,7 @@ For security, your keyring was previously backed-up to file Last hour - + @@ -12023,95 +12540,95 @@ For security, your keyring was previously backed-up to file %1 days ago - + has authenticated you. Right-click and select 'make friend' to be able to connect. - + yourself - + Data inconsistency in the keyring. This is most probably a bug. Please contact the developers. - + Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12119,7 +12636,7 @@ Reported error: Network - + @@ -12127,22 +12644,22 @@ Reported error: Redraw - + Friendship level: - + Edge length: - + Freeze - + @@ -12150,7 +12667,7 @@ Reported error: New Tag - + @@ -12160,7 +12677,7 @@ Reported error: Choose color - + @@ -12178,7 +12695,7 @@ Reported error: News Feed - + @@ -12188,7 +12705,7 @@ Reported error: Remove All - + @@ -12198,22 +12715,22 @@ Reported error: News feed - + Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12221,7 +12738,7 @@ Reported error: News Feed - + @@ -12262,7 +12779,7 @@ Reported error: Systray Icon - + @@ -12273,24 +12790,24 @@ Reported error: Connect attempt - + Toasters - + Friend Connect - + Ip security - + @@ -12300,12 +12817,12 @@ Reported error: Download completed - + Pobieranie zakończone Private Chat - + @@ -12315,32 +12832,32 @@ Reported error: Chat Lobby - + Position - + X Margin - + Y Margin - + Systray message - + Group chat - + Chat grupowy @@ -12350,37 +12867,37 @@ Reported error: Combined - + Blink - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + Top Left - + Top Right - + Bottom Left - + Bottom Right - + @@ -12390,90 +12907,90 @@ Reported error: Disable All Toasters - + Posted - + Disable All Toaster temporarily - + Feed - + Systray - + Chat Lobbies - + Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase - + Wrong password ! - + Unregistered plugin/executable - + RetroShare has detected an unregistered plugin. This happens in two cases:<UL><LI>Your RetroShare executable has changed.</LI><LI>The plugin has changed</LI></UL>Click on Yes to authorize this plugin, or No to deny it. You can change your mind later in Options -> Plugins, then restart. - + - + Please check your system clock. - + - + Examining shared files... - + Hashing file - + Saving file index... - + @@ -12488,23 +13005,23 @@ Reported error: Unknown title - + Encrypted message - + - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12512,7 +13029,7 @@ Reported error: Friend Online - + @@ -12525,7 +13042,7 @@ Reported error: No Anon D/L - + @@ -12535,15 +13052,15 @@ Reported error: Low Traffic - + - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers - + @@ -12551,42 +13068,42 @@ Reported error: Dialog - + PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + @@ -12596,51 +13113,51 @@ Reported error: No trust - + Marginal - + Full - + Ultimate - + Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12650,113 +13167,174 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures Załącz podpisy + + + Options + Opcje + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details - + - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. - + - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) - + - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + Your trust in this peer is full. - + Your trust in this peer is marginal. - + Your trust in this peer is none. - + - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure - + @@ -12764,19 +13342,19 @@ p, li { white-space: pre-wrap; } Być może hasło jest błędne - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12823,12 +13401,12 @@ p, li { white-space: pre-wrap; } Peer ID: - + Trust: - + @@ -12838,12 +13416,12 @@ p, li { white-space: pre-wrap; } IP Address: - + Connection Method: - + @@ -12863,22 +13441,22 @@ p, li { white-space: pre-wrap; } Friend Connected - + Connect Attempt - + Friend of Friend - + Peer - + @@ -12891,7 +13469,7 @@ p, li { white-space: pre-wrap; } Unknown Peer - + @@ -12901,7 +13479,7 @@ p, li { white-space: pre-wrap; } Send Message - + @@ -12909,12 +13487,12 @@ p, li { white-space: pre-wrap; } Friends: 0/0 - + Online Friends/Total Friends - + @@ -12925,26 +13503,80 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -12960,7 +13592,7 @@ p, li { white-space: pre-wrap; } PhotoShare - + @@ -12970,7 +13602,7 @@ p, li { white-space: pre-wrap; } TextLabel - + @@ -12985,7 +13617,7 @@ p, li { white-space: pre-wrap; } Caption - + @@ -13028,14 +13660,14 @@ p, li { white-space: pre-wrap; } TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13048,7 +13680,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13061,9 +13693,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> - + @@ -13106,7 +13738,7 @@ p, li { white-space: pre-wrap; } Shared Albums - + @@ -13116,13 +13748,13 @@ p, li { white-space: pre-wrap; } PhotoShare - + Please select an album before requesting to edit it! - + @@ -13130,7 +13762,7 @@ requesting to edit it! Album Name - + @@ -13192,7 +13824,7 @@ requesting to edit it! TextLabel - + @@ -13204,7 +13836,7 @@ requesting to edit it! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13230,17 +13862,17 @@ p, li { white-space: pre-wrap; } Disable - + Launch configuration panel, if provided by the plugin - + Configure - + @@ -13250,12 +13882,12 @@ p, li { white-space: pre-wrap; } File name: - + File hash: - + @@ -13273,37 +13905,37 @@ p, li { white-space: pre-wrap; } base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13311,22 +13943,22 @@ p, li { white-space: pre-wrap; } Install New Plugin... - + Open Plugin to install - + Plugins (*.so *.dll) - + Widget for plugin %1 not found on plugins frame - + @@ -13334,27 +13966,27 @@ p, li { white-space: pre-wrap; } Authorize all plugins - + Plugin look-up directories - + Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + No API number supplied. Please read plugin development manual. - + @@ -13363,37 +13995,37 @@ p, li { white-space: pre-wrap; } [loading problem] - + No SVN number supplied. Please read plugin development manual. - + Loading error. - + Missing symbol. Wrong version? - + No plugin object - + Plugins is loaded. - + Unknown status. - + @@ -13401,12 +14033,12 @@ p, li { white-space: pre-wrap; } be checked for the hash. However, in normal times, checking the hash protects you from malicious behavior of crafted plugins. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + @@ -13428,17 +14060,17 @@ malicious behavior of crafted plugins. Clear offline messages - + Hide Avatar - + Show Avatar - + @@ -13451,31 +14083,31 @@ malicious behavior of crafted plugins. Set your Avatar Picture - + Dock tab - + Undock tab - + Set Chat Window Color - + Set window on top - + @@ -13483,32 +14115,32 @@ malicious behavior of crafted plugins. Chat remotely closed. Please close this window. - + The person you're talking to has deleted the secured chat tunnel. You may remove the chat window now. - + Closing this window will end the conversation, notify the peer and remove the encrypted tunnel. - + Kill the tunnel? - + Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13516,7 +14148,7 @@ malicious behavior of crafted plugins. Signed by: - + @@ -13531,32 +14163,32 @@ malicious behavior of crafted plugins. Please create or choose a Signing Id first - + Submit Post - + You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + Submit - + Submit a new Post - + Please add a Title - + @@ -13566,7 +14198,7 @@ malicious behavior of crafted plugins. Link - + @@ -13574,22 +14206,22 @@ malicious behavior of crafted plugins. Posted Links - + Posted - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + @@ -13617,32 +14249,32 @@ malicious behavior of crafted plugins. Posted Topic - + Add Topic Admins - + Select Topic Admins - + Create New Topic - + Edit Topic - + Update Topic - + @@ -13655,7 +14287,7 @@ malicious behavior of crafted plugins. Subscribe to Posted - + @@ -13671,7 +14303,7 @@ malicious behavior of crafted plugins. Posted Description - + @@ -13681,7 +14313,7 @@ malicious behavior of crafted plugins. New Posted - + @@ -13692,7 +14324,7 @@ malicious behavior of crafted plugins. PostedItem - + 0 0 @@ -13703,9 +14335,9 @@ malicious behavior of crafted plugins. - + Comments - + Komentarze @@ -13715,12 +14347,12 @@ malicious behavior of crafted plugins. Vote up - + Vote down - + @@ -13730,7 +14362,7 @@ malicious behavior of crafted plugins. Set as read and remove item - + @@ -13738,7 +14370,17 @@ malicious behavior of crafted plugins. Nowy - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Przełącz status przeczytanej wiadomości @@ -13748,14 +14390,14 @@ malicious behavior of crafted plugins. Usuń element - + Loading Wczytywanie By - + @@ -13768,7 +14410,7 @@ malicious behavior of crafted plugins. Hot - + @@ -13778,7 +14420,7 @@ malicious behavior of crafted plugins. Top - + @@ -13793,22 +14435,22 @@ malicious behavior of crafted plugins. This Week - + This Month - + This Year - + Submit a new Post - + @@ -13823,7 +14465,7 @@ malicious behavior of crafted plugins. Please create or choose a Signing Id before Voting - + @@ -13833,7 +14475,7 @@ malicious behavior of crafted plugins. 1-10 - + 1-10 @@ -13841,17 +14483,17 @@ malicious behavior of crafted plugins. Tabs - + Posted - + Open each topic in a new tab - + @@ -13859,7 +14501,7 @@ malicious behavior of crafted plugins. Posted - + @@ -13867,7 +14509,7 @@ malicious behavior of crafted plugins. RetroShare Message - Print Preview - + @@ -13882,22 +14524,22 @@ malicious behavior of crafted plugins. Page Setup... - + Zoom In - + Zoom Out - + &Close - + @@ -13921,7 +14563,7 @@ malicious behavior of crafted plugins. GID - + @@ -13947,7 +14589,7 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + @@ -13982,7 +14624,7 @@ and use the import button to load it Your identity was imported successfully: - + @@ -13999,28 +14641,28 @@ and use the import button to load it <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + You can use it now to create a new node. - + @@ -14029,12 +14671,12 @@ p, li { white-space: pre-wrap; } Edit status message - + Copy Certificate - + @@ -14059,7 +14701,7 @@ p, li { white-space: pre-wrap; } Peer ID: - + @@ -14094,7 +14736,7 @@ p, li { white-space: pre-wrap; } External Address: - + @@ -14104,7 +14746,7 @@ p, li { white-space: pre-wrap; } Addresses list: - + @@ -14115,12 +14757,12 @@ p, li { white-space: pre-wrap; } Sorry, create certificate failed - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -14128,7 +14770,7 @@ p, li { white-space: pre-wrap; } Post From: - + @@ -14152,7 +14794,7 @@ p, li { white-space: pre-wrap; } Add to Pulse - + @@ -14162,7 +14804,7 @@ p, li { white-space: pre-wrap; } URL Adder - + @@ -14182,7 +14824,7 @@ p, li { white-space: pre-wrap; } Post Pulse to Wire - + @@ -14208,118 +14850,123 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation - + Do you want this link to be handled by your system? - + - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. - + - + Add file - + Add files - + Do you want to process the link ? - + Do you want to process %1 links ? - + - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. - + %1 of %2 RetroShare links processed. - + File added - + Files added - + File exist - + Files exist - + Friend added - + Friends added - + Friend exist - + Friends exist - + Friend not added - + Friends not added - + Friend not found - + Friends not found - + @@ -14329,67 +14976,82 @@ and open the Make Friend Wizard. Forums not found - + Forum message not found - + Forum messages not found - + Channel not found - + Channels not found - + Channel message not found - + Channel messages not found - + + + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + Recipient not accepted - + Recipients not accepted - + Unkown recipient - + Unkown recipients - + Malformed links - + Invalid links - + @@ -14401,113 +15063,108 @@ Symbole <b>",|,/,\,&lt;,&gt;,*,?</b> zostaną zastąpio Result - + - + Unable to make path - + Unable to make path: - + Failed to process collection file - + - + Deny friend - + Make friend - + Peer details - + File Request canceled - + - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. - + Choose between:<br><ul><li><b>Ok</b> to copy the existing keyring from gnupg (safest bet), or </li><li><b>Close without saving</b> to start fresh with an empty keyring (you will be asked to create a new PGP key to work with RetroShare, or import a previously saved pgp keypair). </li><li><b>Cancel</b> to quit and forge a keyring by yourself (needs some PGP skills)</li></ul> - + - + RetroShare RetroShare - + Initialization failed. Wrong or missing installation of PGP. - + An unexpected error occurred. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + Multiple instances - + Another RetroShare using the same profile is already running on your system. Please close that instance first Lock file: - + An unexpected error occurred when Retroshare tried to acquire the single instance lock Lock file: - - - - - Start with a RetroShare link is only supported for Windows. - + Distant peer has closed the chat - + Tunnel is pending... - + Secured tunnel is working. You can talk! - + @@ -14515,27 +15172,27 @@ Symbole <b>",|,/,\,&lt;,&gt;,*,?</b> zostaną zastąpio Reported error is: %2 - + - + Click to send a private message to %1 (%2). - + %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + @@ -14545,156 +15202,156 @@ Reported error is: TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + %1 days ago - + Subject: - + Temat: Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error - + Błąd unable to parse XML file! - + @@ -14709,12 +15366,12 @@ Security: no anonymous IDs <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14723,7 +15380,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Choose which files you share.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Get started using RetroShare.</span></p></body></html> - + @@ -14731,7 +15388,7 @@ p, li { white-space: pre-wrap; } Next > - + @@ -14740,73 +15397,73 @@ p, li { white-space: pre-wrap; } Exit - + For best performance, RetroShare needs to know a little about your connection to the internet. - + Choose your download speed limit: - + KB/s - + Choose your upload speed limit: - + Connection : - + Automatic (UPnP) - + Automatyczne (UPnP) Firewalled - + Manually forwarded port - + Discovery : - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + @@ -14814,17 +15471,17 @@ p, li { white-space: pre-wrap; } < Back - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -14842,12 +15499,12 @@ p, li { white-space: pre-wrap; } Network Wide - + Browseable - + @@ -14862,65 +15519,65 @@ p, li { white-space: pre-wrap; } Automatically share incoming directory (Recommended) - + RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + Do not show a message when Closing RetroShare - + Start Minimized - + Start RetroShare when my System Starts. - + @@ -14930,42 +15587,42 @@ p, li { white-space: pre-wrap; } Finish - + Select A Folder To Share - + Shared Directory Added! - + Warning! - + Ostrzeżenie! Browsable - + Universal - + If checked, the share is anonymously shared to anybody. - + If checked, the share is browsable by your friends. - + @@ -14973,12 +15630,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + @@ -15009,12 +15666,12 @@ p, li { white-space: pre-wrap; } The loading of embedded images is blocked. - + Load images - + @@ -15022,60 +15679,60 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15083,17 +15740,17 @@ p, li { white-space: pre-wrap; } Down - + Up - + <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15101,32 +15758,32 @@ p, li { white-space: pre-wrap; } Enable Relay Connections - + Use Relay Servers - + Relay options - + Number - + Bandwidth per link - + Total Bandwidth - + @@ -15138,12 +15795,12 @@ p, li { white-space: pre-wrap; } kB/s - + Friends of Friends - + Przyjaciele Przyjaciół @@ -15153,37 +15810,37 @@ p, li { white-space: pre-wrap; } Total: - + Relay Server Setup - + Add Server - + Server DHT Key - + Remove Server - + Relay - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15196,12 +15853,12 @@ p, li { white-space: pre-wrap; } Recommend in a message to - + Collection - + @@ -15209,7 +15866,7 @@ p, li { white-space: pre-wrap; } NEW - + @@ -15217,22 +15874,22 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + @@ -15245,33 +15902,33 @@ p, li { white-space: pre-wrap; } Add IP to whitelist - + Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15279,17 +15936,17 @@ p, li { white-space: pre-wrap; } Collection - + File name : - + Total size : - + @@ -15300,15 +15957,15 @@ p, li { white-space: pre-wrap; } Download! - + - + File Plik - + Size Rozmiar @@ -15320,12 +15977,12 @@ p, li { white-space: pre-wrap; } Bad filenames have been cleaned - + Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. Niektóre nazwy plików lub katalogów zawierały zakazane symbole. Symbole <b>",|,/,\,&lt;,&gt;,*,?</b> zostaną zastąpione przez '_'. @@ -15334,7 +15991,7 @@ Pliki których to dotyczy są oznaczone na czerwono. Selected files : - + @@ -15344,12 +16001,12 @@ Pliki których to dotyczy są oznaczone na czerwono. <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + @@ -15359,12 +16016,12 @@ Pliki których to dotyczy są oznaczone na czerwono. <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + + - + @@ -15372,58 +16029,63 @@ Pliki których to dotyczy są oznaczone na czerwono. Zapisz - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + Real Size=%1 - + Real File Count=%1 - + Save Collection File. - + What do you want to do? - + @@ -15433,42 +16095,42 @@ Pliki których to dotyczy są oznaczone na czerwono. Merge - + Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + File already exists. - + <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15477,17 +16139,17 @@ Pliki których to dotyczy są oznaczone na czerwono. Cannot open file %1 - + Error parsing xml file - + Open collection file - + @@ -15495,31 +16157,31 @@ Pliki których to dotyczy są oznaczone na czerwono. Collection files - + Create collection file - + This file contains the string "%1" and is therefore an invalid collection file. If you believe it is correct, remove the corresponding line from the file and re-open it with Retroshare. - + Save Collection File. - + What do you want to do? - + @@ -15529,7 +16191,7 @@ If you believe it is correct, remove the corresponding line from the file and re Merge - + @@ -15539,16 +16201,16 @@ If you believe it is correct, remove the corresponding line from the file and re File already exists. - + RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? - + @@ -15556,55 +16218,55 @@ Reducing image to %1x%2 pixels? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. - + Sets the directory RetroShare uses for data files. - + Sets the name and location of RetroShare's logfile. - + Sets the verbosity of RetroShare's logging. - + Sets RetroShare's interface style. - + Sets RetroShare's interface stylesheets. - + Sets RetroShare's language. - + RetroShare Usage Information - + - + Unable to open log file '%1': %2 - + @@ -15614,27 +16276,36 @@ Reducing image to %1x%2 pixels? Could not create data directory: %1 - + - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -15650,12 +16321,12 @@ Reducing image to %1x%2 pixels? Enter a keyword here (at least 3 char long) - + Start Search - + @@ -15665,43 +16336,43 @@ Reducing image to %1x%2 pixels? Advanced Search - + Advanced - + Search inside "browsable" files of your friends - + Browsable files - + Multi-hop search at distance 6 in the network (always reports available files) - + Distant - + Include files from your own file list in the search result - + Own files - + @@ -15711,27 +16382,27 @@ Reducing image to %1x%2 pixels? Clear - + KeyWords - + Results - + Search Id - + Filename - + @@ -15761,27 +16432,27 @@ Reducing image to %1x%2 pixels? Filter: - + Filter Search Result - + Max results: - + Any - + Archive - + @@ -15791,7 +16462,7 @@ Reducing image to %1x%2 pixels? CD-Image - + @@ -15821,12 +16492,12 @@ Reducing image to %1x%2 pixels? Download Selected - + Download selected - + @@ -15847,7 +16518,7 @@ Reducing image to %1x%2 pixels? Send RetroShare Link - + @@ -15857,24 +16528,24 @@ Reducing image to %1x%2 pixels? Skipping Local Files - + Sorry - + This function is not yet implemented. - + Search again - + @@ -15884,7 +16555,7 @@ Reducing image to %1x%2 pixels? Remove All - + @@ -15895,7 +16566,7 @@ Reducing image to %1x%2 pixels? New RetroShare Link(s) - + @@ -15905,27 +16576,27 @@ Reducing image to %1x%2 pixels? Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + Collection - + @@ -15933,7 +16604,7 @@ Reducing image to %1x%2 pixels? Peer details - + @@ -15949,12 +16620,12 @@ Reducing image to %1x%2 pixels? IP address: - + Peer ID: - + @@ -15964,14 +16635,14 @@ Reducing image to %1x%2 pixels? Peer Name: - + Unknown Peer - + @@ -15981,33 +16652,33 @@ Reducing image to %1x%2 pixels? but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -16020,17 +16691,17 @@ Reducing image to %1x%2 pixels? Accept Friend Request - + Peer details - + Deny friend - + @@ -16061,12 +16732,12 @@ Reducing image to %1x%2 pixels? Peer ID: - + Trust: - + @@ -16076,12 +16747,12 @@ Reducing image to %1x%2 pixels? IP Address: - + Connection Method: - + @@ -16096,12 +16767,12 @@ Reducing image to %1x%2 pixels? Connect Attempt - + Connection refused by remote peer - + @@ -16111,12 +16782,12 @@ Reducing image to %1x%2 pixels? Unknown (Outgoing) Connect Attempt - + Unknown Security Issue - + @@ -16125,7 +16796,7 @@ Reducing image to %1x%2 pixels? Unknown Peer - + @@ -16140,27 +16811,27 @@ Reducing image to %1x%2 pixels? Certificate has wrong signature!! This peer is not who he claims to be. - + Missing/Damaged certificate. Not a real Retroshare user. - + Certificate caused an internal error. - + Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16168,17 +16839,17 @@ Reducing image to %1x%2 pixels? Network Configuration - + Network Mode - + Nat - + @@ -16188,7 +16859,7 @@ Reducing image to %1x%2 pixels? Firewalled - + @@ -16198,22 +16869,22 @@ Reducing image to %1x%2 pixels? Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + @@ -16224,180 +16895,180 @@ Reducing image to %1x%2 pixels? External Address - + Adres zewnętrzny Dynamic DNS - + Dynamiczny DNS Port: - + Local network - + External ip address finder - + UPnP - + Known / Previous IPs: - + Show Discovery information in statusbar - + If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. - + Allow RetroShare to ask my ip to these websites: - + kB/s - + Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + Onion Address - + Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + Clear - + Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16407,23 +17078,23 @@ Also check your ports! Network - + IP Filters - + IP blacklist - + IP range - + @@ -16437,13 +17108,13 @@ Also check your ports! Origin - + Reason - + @@ -16455,158 +17126,158 @@ Also check your ports! IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + @@ -16619,78 +17290,78 @@ If you have issues connecting over Tor check the Tor logs too. Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16698,27 +17369,27 @@ If you have issues connecting over Tor check the Tor logs too. Service permissions - + Service Permissions - + Use as direct source, when available - + Auto-download recommended files - + Require whitelist - + @@ -16726,7 +17397,7 @@ If you have issues connecting over Tor check the Tor logs too. ServicePermissions - + @@ -16741,12 +17412,12 @@ If you have issues connecting over Tor check the Tor logs too. hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16762,18 +17433,18 @@ If you have issues connecting over Tor check the Tor logs too. RetroShare Share Folder - + Share Folder - + Local Path - + @@ -16783,27 +17454,27 @@ If you have issues connecting over Tor check the Tor logs too. Virtual Folder - + Folder wirtualny Share Flags - + Edit Shared Folder - + Select A Folder To Share - + Share flags and groups: - + @@ -16811,7 +17482,7 @@ If you have issues connecting over Tor check the Tor logs too. check peers you would like to share private publish key with - + @@ -16821,13 +17492,13 @@ If you have issues connecting over Tor check the Tor logs too. Share - + You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -16835,12 +17506,12 @@ Select the Friends with which you want to Share your Channel. RetroShare Share Manager - + Shared Folder Manager - + @@ -16855,7 +17526,7 @@ Select the Friends with which you want to Share your Channel. Share flags - + @@ -16865,7 +17536,7 @@ Select the Friends with which you want to Share your Channel. Add a Share Directory - + @@ -16875,7 +17546,7 @@ Select the Friends with which you want to Share your Channel. Stop sharing selected Directory - + @@ -16891,7 +17562,7 @@ Select the Friends with which you want to Share your Channel. Edit selected Shared Directory - + @@ -16902,12 +17573,12 @@ Select the Friends with which you want to Share your Channel. Share Manager - + Edit Shared Folder - + @@ -16917,28 +17588,28 @@ Select the Friends with which you want to Share your Channel. Do you really want to stop sharing this directory ? - + Drop file error. - + File can't be dropped, only directories are accepted. - + Directory not found or directory name not accepted. - + This is a list of shared folders. You can add and remove folders using the buttons at the bottom. When you add a new folder, intially all files in that folder are shared. You can separately setup share flags for each shared directory. - + @@ -16951,12 +17622,12 @@ Select the Friends with which you want to Share your Channel. Search files - + Start Search - + @@ -16966,7 +17637,7 @@ Select the Friends with which you want to Share your Channel. Tree view - + @@ -16981,27 +17652,27 @@ Select the Friends with which you want to Share your Channel. One day old - + One Week old - + One month old - + check files - + Download selected - + @@ -17011,38 +17682,38 @@ Select the Friends with which you want to Share your Channel. Copy retroshare Links to Clipboard - + Copy retroshare Links to Clipboard (HTML) - + Send retroshare Links - + Send retroshare Links to Cloud - + Add Links to Cloud - + RetroShare Link - + Recommendation(s) - + @@ -17052,22 +17723,22 @@ Select the Friends with which you want to Share your Channel. Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + @@ -17075,48 +17746,48 @@ Select the Friends with which you want to Share your Channel. Friend - + Przyjaciel Go Online - + Chatmessage - + New Msg - + Message - + Wiadomość Message arrived - + Download - + Pobierz Download complete - + Lobby - + @@ -17144,7 +17815,7 @@ Select the Friends with which you want to Share your Channel. Filename - + @@ -17159,7 +17830,7 @@ Select the Friends with which you want to Share your Channel. Default - + Domyślne @@ -17167,30 +17838,30 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile Załaduj profil Load configuration - + Create interface - + @@ -17208,29 +17879,29 @@ Select the Friends with which you want to Share your Channel. Name (PGP Id) - location: - + Remember Password - + Log In - + Opens a dialog for creating a new profile or adding locations to an existing profile. The current identities/locations will not be affected. - + Load Person Failure - + @@ -17249,9 +17920,9 @@ The current identities/locations will not be affected. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17260,7 +17931,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17269,7 +17940,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17278,7 +17949,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17306,7 +17977,7 @@ This choice can be reverted in settings. Messenger - + @@ -17332,32 +18003,32 @@ This choice can be reverted in settings. ServicePermissions - + Service permissions matrix - + DHT - + Bandwidth - + Turtle Router - + Global Router - + @@ -17371,22 +18042,22 @@ This choice can be reverted in settings. Offline - + Away - + Busy - + Online - + @@ -17396,38 +18067,38 @@ This choice can be reverted in settings. Friend is offline - + Friend is away - + Friend is busy - + Friend is online - + Friend is idle - + Connected - + Unreachable - + @@ -17443,93 +18114,93 @@ This choice can be reverted in settings. Trying TCP - + Trying UDP - + Connected: TCP - + Connected: UDP - + Connected: I2P - + Connected: Unknown - + DHT: Contact - + TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17537,7 +18208,7 @@ This choice can be reverted in settings. Status message - + @@ -17549,16 +18220,16 @@ This choice can be reverted in settings. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17573,23 +18244,23 @@ p, li { white-space: pre-wrap; } Define Style - + Choose color - + Color 2 - + Color 1 - + @@ -17604,12 +18275,12 @@ p, li { white-space: pre-wrap; } Solid - + Gradient - + @@ -17627,7 +18298,7 @@ p, li { white-space: pre-wrap; } Download File - + @@ -17639,7 +18310,7 @@ p, li { white-space: pre-wrap; } Play File - + @@ -17649,23 +18320,23 @@ p, li { white-space: pre-wrap; } Save File - + ERROR - + EXTRA - + REMOTE - + @@ -17675,33 +18346,33 @@ p, li { white-space: pre-wrap; } LOCAL - + UPLOAD - + Remove Attachment - + File %1 does not exist at location. - + File %1 is not completed. - + Save Channel File - + @@ -17722,17 +18393,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed Subskrybowane - + Unsubscribe Wypisz się - + Subscribe Zapisz się @@ -17750,22 +18421,22 @@ p, li { white-space: pre-wrap; } Important - + Work - + Praca Personal - + Todo - + @@ -17791,12 +18462,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17814,27 +18485,27 @@ p, li { white-space: pre-wrap; } Slots reserved for non-cache transfers: - + Default chunk strategy: - + Safety disk space limit : - + Streaming - + Progressive - + @@ -17851,43 +18522,43 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> - + Max. tunnel req. forwarded per second: - + <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -17922,7 +18593,7 @@ p, li { white-space: pre-wrap; } TransfersDialog - + Downloads Pobierania @@ -17930,10 +18601,10 @@ p, li { white-space: pre-wrap; } Uploads - + - + Name i.e: file name @@ -17950,7 +18621,7 @@ p, li { white-space: pre-wrap; } Completed - + @@ -17981,7 +18652,7 @@ p, li { white-space: pre-wrap; } Speed / Queue position - + @@ -17993,13 +18664,13 @@ p, li { white-space: pre-wrap; } Download time i.e: Estimated Time of Arrival / Time left - + Peer i.e: user name - + @@ -18016,7 +18687,7 @@ p, li { white-space: pre-wrap; } Transferred - + @@ -18033,7 +18704,7 @@ p, li { white-space: pre-wrap; } Friends files - + @@ -18043,7 +18714,7 @@ p, li { white-space: pre-wrap; } Download from collection file... - + @@ -18105,40 +18776,40 @@ p, li { white-space: pre-wrap; } Down - + Up - + Top - + Bottom - + Streaming - + Slower - + Average - + @@ -18154,7 +18825,7 @@ p, li { white-space: pre-wrap; } Progressive - + @@ -18164,85 +18835,85 @@ p, li { white-space: pre-wrap; } Rename file... - + Specify... - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + Move in Queue... - + Priority (Speed)... - + Chunk strategy - + Set destination directory - + Choose directory - + - + Failed - + - - + + Okay Ok - - + + Waiting Oczekiwanie - + Downloading Pobieranie - + Complete - + - + Queued - + Paused - + @@ -18255,7 +18926,7 @@ p, li { white-space: pre-wrap; } Nieznane - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18266,17 +18937,17 @@ map of the data; it will compare and invalidate bad blocks, and download them again Try to be patient! - + Transferring - + Uploading - + @@ -18299,7 +18970,7 @@ Try to be patient! Can't create link for file %1. - + @@ -18309,35 +18980,35 @@ Try to be patient! Click OK when program terminates! - + Open Transfer - + File %1 is not completed. If it is a media file, try to preview it. - + Change file name - + Please enter a new file name - + Please enter a new--and valid--filename - + - + Last Time Seen i.e: Last Time Receiced Data Ostatnio widziano @@ -18345,7 +19016,7 @@ Try to be patient! UserID - + @@ -18365,12 +19036,12 @@ Try to be patient! Show Size Column - + Show Completed Column - + @@ -18400,37 +19071,37 @@ Try to be patient! Show Sources Column - + Show Status Column - + Show Speed / Queue position Column - + Show Remaining Column - + Download time - + Show Download time Column - + Show Hash Column - + @@ -18440,7 +19111,7 @@ Try to be patient! Show Last Time Seen Column - + @@ -18466,57 +19137,57 @@ Try to be patient! Show Path Column - + - + Could not delete preview file - + Try it again? - + - + Create Collection... - + Modify Collection... - + View Collection... - + Collection - + - + File sharing - + - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: - + @@ -18547,7 +19218,7 @@ Try to be patient! DIR - + @@ -18577,7 +19248,7 @@ Try to be patient! Share Flags - + @@ -18596,13 +19267,13 @@ Try to be patient! Search requests - + Tunnel requests - + @@ -18611,17 +19282,17 @@ Try to be patient! Unknown hashes - + Tunnel id - + last transfer - + @@ -18632,7 +19303,7 @@ Try to be patient! Request id: %1 from [%2] %3 secs ago - + @@ -18640,12 +19311,12 @@ Try to be patient! Router Statistics - + F2F router information - + @@ -18653,42 +19324,42 @@ Try to be patient! Router Statistics - + Age in seconds - + Depth - + total - + Anonymous tunnels - + Authenticated tunnels - + Unknown Peer - + Turtle Router - + @@ -18696,47 +19367,47 @@ Try to be patient! Search requests repartition - + Tunnel requests repartition - + Turtle router traffic - + Tunnel requests Up - + Tunnel requests Dn - + Incoming file data - + Outgoing file data - + TR Forward probabilities - + Forwarded data - + @@ -18865,57 +19536,57 @@ Try to be patient! Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -18943,7 +19614,7 @@ Try to be patient! Holiday - + Wakacje @@ -18964,7 +19635,7 @@ Try to be patient! Random - + Losowe @@ -18974,7 +19645,7 @@ Try to be patient! Share Options - + @@ -18984,32 +19655,32 @@ Try to be patient! All Friends - + Restricted - + N/A - + University Friends - + This List Contains - + All your Groups - + @@ -19058,17 +19729,17 @@ Try to be patient! Page Name - + Page Id - + Orig Id - + @@ -19083,7 +19754,7 @@ Try to be patient! Republish - + @@ -19108,42 +19779,42 @@ Try to be patient! My Groups - + Subscribed Groups - + Popular Groups - + Other Groups - + Subscribe to Group - + Unsubscribe to Group - + Todo - + Show Wiki Group - + @@ -19161,17 +19832,17 @@ Try to be patient! Enable Obsolete Edits - + Choose for Merge - + Merge for Republish (TODO) - + @@ -19181,12 +19852,12 @@ Try to be patient! By - + PageId - + @@ -19244,12 +19915,12 @@ Try to be patient! Revert - + Submit - + @@ -19270,7 +19941,7 @@ Try to be patient! Republish - + @@ -19314,7 +19985,7 @@ Try to be patient! Update Group - + @@ -19322,7 +19993,7 @@ Try to be patient! TimeRange - + @@ -19358,17 +20029,17 @@ Try to be patient! until - + Search/Filter - + Network Wide - + @@ -19378,12 +20049,12 @@ Try to be patient! Showing: - + Yourself - + @@ -19398,7 +20069,7 @@ Try to be patient! Custom - + @@ -19422,12 +20093,12 @@ Try to be patient! CheckBox - + Post Pulse to Wire - + @@ -19442,7 +20113,7 @@ Try to be patient! B bytes - + @@ -19483,65 +20154,65 @@ Try to be patient! < 1m < 1 minute - + %1 minutes e.g: 10minutes - + %1h %2m e.g: 3hours 5minutes - + %1d %2h e.g: 2days 10hours - + %1y %2d e.g: 2 years 2days - + k e.g: 3.1 k - + M e.g: 3.1 M - + G e.g: 3.1 G - + T e.g: 3.1 T - + Load avatar image - + Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_pt.ts b/retroshare-gui/src/lang/retroshare_pt.ts index e9776f8d3..6f9fa120a 100644 --- a/retroshare-gui/src/lang/retroshare_pt.ts +++ b/retroshare-gui/src/lang/retroshare_pt.ts @@ -1,15 +1,17 @@ - + + + AWidget version - + RetroShare version - + @@ -18,42 +20,42 @@ About RetroShare - + About - + Copy Info - + close - + Max score: %1 - + Score: %1 - + Level: %1 - + Have fun ;-) - + @@ -61,7 +63,7 @@ Add Comment - + @@ -69,28 +71,28 @@ File type(extension): - + Use default command - + Command - + RetroShare - + - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file - + @@ -98,42 +100,42 @@ RetroShare: Advanced Search - + Search Criteria - + Add a further search criterion. - + Reset the search criteria. - + Cancels the search. - + Cancel - + Perform the advanced search. - + Search - + @@ -142,206 +144,206 @@ Create Album - + Album Name: - + Category: - + Animals - + Family - + Friends - + Flowers - + Holiday - + Landscapes - + Pets - + Portraits - + Travel - + Work - + Random - + Caption: - + Where: - + Photographer: - + Description: - + Share Options - + Policy: - + Quality: - + Comments: - + Identity: - + Public - + Restricted - + Resize Images (< 1Mb) - + Resize Images (< 10Mb) - + Send Original Images - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with Identity - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Back - + Add Photos - + Publish Album - + Untitle Album - + Say something about this album... - + Where were these taken? - + Load Album Thumbnail - + @@ -350,101 +352,101 @@ p, li { white-space: pre-wrap; } Album - + Album Thumbnail - + TextLabel - + Summary - + Album Title: - + Category: - + Caption - + Where: - + When - + Description: - + Share Options - + Comments - + Publish Identity - + Visibility - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Add Photo - + Edit Photo - + Delete Photo - + Publish Photos - + @@ -452,32 +454,32 @@ p, li { white-space: pre-wrap; } Form - + TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + @@ -485,169 +487,169 @@ p, li { white-space: pre-wrap; } Language - + Changes to language will only take effect after restarting RetroShare! - + Choose the language used in RetroShare - + Style - + Choose RetroShare's interface style - + Style Sheet - + Appearance - + Tool Bar - + On Tool Bar - + On List Item - + Where do you want to have the buttons for menu? - + On List Ite&m - + Where do you want to have the buttons for the page? - + Icon Only - + Text Only - + Text Beside Icon - + Text Under Icon - + Choose the style of Tool Buttons. - + Choose the style of List Items. - + Icon Size = 8x8 - + Icon Size = 16x16 - + Icon Size = 24x24 - + Icon Size = 64x64 - + Icon Size = 128x128 - + Status Bar - + Remove surplus text in status bar. - + Compact Mode - + Hide Sound Status - + Hide Toaster Disable - + Show SysTray on Status Bar - + Disable SysTray ToolTip - + Icon Size = 32x32 - + @@ -656,43 +658,43 @@ p, li { white-space: pre-wrap; } RetroShare - + Warning: The services here are experimental. Please help us test them. But Remember: Any data here *WILL* be lost when we upgrade the protocols. - + Identities - + Circles - + GxsForums - + GxsChannels - + The Wire - + Photos - + @@ -700,17 +702,17 @@ p, li { white-space: pre-wrap; } %p Kb - + Cancel Download - + [ERROR]) - + @@ -718,32 +720,32 @@ p, li { white-space: pre-wrap; } Change Avatar - + Your Avatar Picture - + Add Avatar - + Remove - + Set your Avatar picture - + Load Avatar - + @@ -751,15 +753,15 @@ p, li { white-space: pre-wrap; } Click to change your avatar - + BWGraphSource - + KB/s - + @@ -767,7 +769,7 @@ p, li { white-space: pre-wrap; } N/A - + @@ -775,7 +777,7 @@ p, li { white-space: pre-wrap; } RetroShare Bandwidth Usage - + @@ -791,57 +793,57 @@ p, li { white-space: pre-wrap; } Receive Rate - + Send Rate - + Always on Top - + Style - + Changes the transparency of the Bandwidth Graph - + 100 - + % Opaque - + Save - + Cancel - + Since: - + Hide Settings - + @@ -850,23 +852,23 @@ p, li { white-space: pre-wrap; } Sum - + All - + KB/s - + Count - + @@ -874,77 +876,77 @@ p, li { white-space: pre-wrap; } Name - + ID - + In (KB/s) - + InMax (KB/s) - + InQueue - + InAllocated (KB/s) - + Allocated Sent - + Out (KB/s) - + OutMax (KB/s) - + OutQueue - + OutAllowed (KB/s) - + Allowed Recvd - + TOTALS - + Totals - + Form - + @@ -952,42 +954,42 @@ p, li { white-space: pre-wrap; } Form - + Friend: - + Type: - + Up - + Down - + Service: - + Unit: - + Log scale - + @@ -995,27 +997,27 @@ p, li { white-space: pre-wrap; } Channels - + Tabs - + General - + Load posts in background (Thread) - + Open each channel in a new tab - + @@ -1023,155 +1025,160 @@ p, li { white-space: pre-wrap; } Participants - + Change nick name - + Mute participant - + + + + + Ban this person (Sets negative opinion) + Send Message - + Sort by Name - + Sort by Activity - + - + Invite friends to this lobby - + Leave this lobby (Unsubscribe) - + Invite friends - + Select friends to invite: - + - + Welcome to lobby %1 - + Topic: %1 - + Lobby chat - + - + Lobby management - + %1 has left the lobby. - + %1 joined the lobby. - + %1 changed his name to: %2 - + Unsubscribe to lobby - + Do you want to unsubscribe to this chat lobby? - + Right click to mute/unmute participants<br/>Double click to address this person<br/> - + This participant is not active since: - + seconds - + - + Start private chat - + - + Decryption failed. - + Signature mismatch - + Unknown key - + Unknown hash - + Unknown error. - + Cannot start distant chat - + Distant chat cannot be initiated: - + @@ -1179,7 +1186,7 @@ p, li { white-space: pre-wrap; } Show Chat Lobby - + @@ -1187,194 +1194,194 @@ p, li { white-space: pre-wrap; } Chat Lobbies - + You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + Unknown Lobby - + Remove All - + ChatLobbyWidget - + Chat lobbies - + - + Name - + Count - + Topic - + Private Lobbies - + Public Lobbies - + Create chat lobby - + [No topic provided] - + - + Selected lobby info - + Private - + Public - + Anonymous IDs accepted - + You're not subscribed to this lobby; Double click-it to enter and chat. - + Remove Auto Subscribe - + Add Auto Subscribe - + %1 invites you to chat lobby named %2 - + - + Search Chat lobbies - + Search Name - + Subscribed - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + Columns - + Yes - + No - + - + Lobby Name: - + Lobby Id: - + Topic: - + Type: - + Security: - + Peers: - + @@ -1384,93 +1391,93 @@ p, li { white-space: pre-wrap; } TextLabel - + No lobby selected. Select lobbies at left to show details. Double click lobbies to enter and chat. - + Private Subscribed Lobbies - + Public Subscribed Lobbies - + Chat Lobbies - + Leave this lobby - + Enter this lobby - + Enter this lobby as... - + Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + You will need to create an identity in order to join chat lobbies. - + Choose an identity for this lobby: - + Create an identity and enter this lobby - + Show - + Mostrar column - + @@ -1478,201 +1485,206 @@ Double click lobbies to enter and chat. Remove Item - + Write a quick Message - + Send Mail - + Write Message - + Start Chat - + Send - + Cancel - + - + Quick Message - + ChatPage - + General - + - + Distant Chat - + Everyone - + Contacts - + Nobody - + Accept encrypted distant chat from - + Chat Settings - + Enable Emoticons Private Chat - + Enable Emoticons Group Chat - + Enable custom fonts - + Enable custom font size - + Minimum font size - + Enable bold - + Enable italics - + Minimum text contrast - + Send message with Ctrl+Return - + + + + + Send as plain text by default + Chat Lobby - + Blink tab icon - + Private Chat - + Open Window for new chat - + Grab Focus when chat arrives - + Use a single tabbed window - + Blink window/tab icon - + Chat Font - + Change Chat Font - + Chat Font: - + History - + Style - + Group chat - + Variant - + @@ -1686,108 +1698,108 @@ Double click lobbies to enter and chat. Description: - + Private chat - + Incoming - + Outgoing - + - + Incoming message in history - + Outgoing message in history - + Incoming message - + Outgoing message - + Outgoing offline message - + System - + System message - + UserName - + /me is sending a message with /me - + Chat - + <html><head/><body><p align="justify">In this tab you can setup how many chat messages Retroshare will keep saved on the disc and how much of the previous conversation it will display, for the different chat systems. The max storage period allows to discard old messages and prevents the chat history from filling up with volatile chat (e.g. chat lobbies and distant chat).</p></body></html> - + Chatlobbies - + Enabled: - + Saved messages (0 = unlimited): - + Number of messages restored (0 = off): - + Maximum storage period, in days (0=keep all): - + Search by default - + @@ -1797,100 +1809,100 @@ Double click lobbies to enter and chat. Whole Words - + Move to cursor - + Color All Text Found - + Color of found text - + Choose color of found text - + Maximum count for coloring matching text - + Threshold for automatic search - + Default identity for chat lobbies: - + Show Bar by default - + - + Private chat invite from - + Name : - + PGP id : - + Valid until : - + ChatStyle - + Standard style for group chat - + Compact style for group chat - + Standard style for private chat - + Compact style for private chat - + Standard style for history - + Compact style for history - + @@ -1898,7 +1910,7 @@ Double click lobbies to enter and chat. Show Chat - + @@ -1906,7 +1918,7 @@ Double click lobbies to enter and chat. Private Chat - + @@ -1914,281 +1926,289 @@ Double click lobbies to enter and chat. Close - + - + Send - + - + Bold - + Underline - + Italic - + - + Attach a Picture - + - + Strike - + Clear Chat History - + Disable Emoticons - + Save Chat History - + Browse Message History - + Browse History - + Delete Chat History - + Deletes all stored and displayed chat history - + Choose font - + Reset font to default - + - + Quote - + Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... - + - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? - + - + Add Extra File - + Load Picture File - + Save as... - + Text File (*.txt );;All Files (*) - + appears to be Offline. - + Messages you send will be delivered after Friend is again Online - + is Idle and may not reply - + is Away and may not reply - + is Busy and may not reply - + - + Find Case Sensitively - + Find Whole Words - + Move To Cursor - + Don't stop to color after X items found (need more CPU) - + - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> - + <b>Find Next </b><br/><i>Ctrl+G</i> - + <b>Find </b><br/><i>Ctrl+F</i> - + - + (Status) - + - + Set text font & color - + Attach a File - + - + WARNING: Could take a long time on big history. - + Choose color - + - + <b>Mark this selected text</b><br><i>Ctrl+M</i> - + - - %1This message consists of %2 characters. - - - - + items found. - + No items found. - + <b>Return to marked text</b><br><i>Ctrl+M</i> - + - - Display Search Box - - - - - Search Box - - - - + Type a message here - + - + Don't stop to color after - + items found (need more CPU) - - - - - Warning: - + @@ -2196,360 +2216,334 @@ Double click lobbies to enter and chat. TextLabel - + Empty Circle - + CirclesDialog - + Showing details: - + Membership - + Name - + IDs - + - + Personal Circles - + Public Circles - + Peers - + Status - + ID - + - + Friends - + Friends of Friends - + Others - + Permissions - + Anon Transfers - + Discovery - + Share Category - + Create Personal Circle - + Create External Circle - + Edit Circle - + Todo - + Friends Of Friends - + - + External Circles (Admin) - + External Circles (Subscribed) - + External Circles (Other) - + Circles - + ConfCertDialog - + Details - + Node info - + Peer Address - + - + Local Address - + External Address - + Dynamic DNS - + Port - + Addresses list - + - + + Use this certificate to make friends: + + + + Include signatures - + - - + + RetroShare - + - - + + Error : cannot get peer details. - + - - Use as direct source, when available - - - - - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - - - - + Encryption - + Not connected - + Peer Addresses - + - Options - Opções + Opções - + Retroshare node details - + - + Node name : - + Status : - + Last Contact : - + Retroshare version : - + Node ID : - + PGP key : - + Retroshare Certificate - + - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + none - + <p>This certificate contains: - + <li>a <b>node ID</b> and <b>name</b> - + an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + <p>You can use this certificate to make new friends. Send it by email, or give it hand to hand.</p> - + - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + with - + external signatures</li> - + @@ -2557,228 +2551,228 @@ Double click lobbies to enter and chat. Connect Friend Wizard - + Add a new Friend - + &You get a certificate file from your friend - + &Make friend with selected friends of my friends - + Text certificate - + Use text representation of the PGP certificates. - + Include signatures - + Copy your Cert to Clipboard - + Save your Cert into a File - + Run Email program - + Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + Certificate files - + Use PGP certificates saved in files. - + Import friend's certificate... - + You have to generate a file with your certificate and give it to your friend. Also, you can use a file generated before. - + Export my certificate... - + Drag and Drop your friends's certificate in this Window or specify path in the box below - + Browse - + Friends of friends - + Select now who you want to make friends with. - + Show me: - + Make friend with these peers - + RetroShare ID - + Use RetroShare ID for adding a Friend which is available in your network. - + Add Friends RetroShare ID... - + Paste Friends RetroShare ID in the box below - + Enter the RetroShare ID of your Friend, e.g. Peer@BDE8D16A46D938CF - + RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + GMail - + Yahoo - + Outlook - + AOL - + Yandex - + Email - + Invite Friends by Email - + Enter your friends' email addresses (separate each one with a semicolon) - + Your friends' email addresses: - + Enter Friends Email addresses - + Subject: - + Friend request - + Details about the request - + Peer details - + @@ -2790,23 +2784,23 @@ Double click lobbies to enter and chat. Email: - + Node: - + Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + Location: - + @@ -2818,194 +2812,194 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + Add friend to group: - + Authenticate friend (Sign PGP Key) - + Add as friend to connect with - + To accept the Friend Request, click the Finish button. - + Sorry, some error appeared - + Here is the error message: - + Make Friend - + Details about your friend: - + Key validity: - + Signers - + This peer is already on your friend list. Adding it might just set it's ip address. - + Abnormal size read is bigger than memory block. - + Invalid external IP. - + Invalid local IP. - + Invalid checksum section. - + Checksum mismatch. Certificate is corrupted. - + Unknown section type found (Certificate might be corrupted). - + Missing checksum. - + Unknown certificate error - + Certificate Load Failed - + Cannot get peer details of PGP key %1 - + Any peer I've not signed - + Friends of my friends who already trust me - + Signed peers showing as denied - + Peer name - + Also signed by - + Peer id - + RetroShare Invitation - + Ultimate - + Full - + Marginal - + @@ -3015,186 +3009,186 @@ resources. No Trust - + You have a friend request from - + Certificate Load Failed:file %1 not found - + This Peer %1 is not available in your Network - + Use new certificate format (safer, more robust) - + Use old (backward compatible) certificate format - + Remove signatures - + RetroShare Invite - + No or misspelled BEGIN tag found - + No or misspelled END tag found - + No checksum found (the last 5 chars should be separated by a '=' char), or no newline after tag line (e.g. line beginning with Version:) - + Unknown error. Your cert is probably not even a certificate. - + Connect Friend Help - + You can copy this text and send it to your friend via email or some other way - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + Save as... - + RetroShare Certificate (*.rsc );;All Files (*) - + Select Certificate - + Sorry, create certificate failed - + Please choose a filename - + Certificate file successfully created - + Sorry, certificate file creation failed - + *** None *** - + Use as direct source, when available - + IP-Addr: - + IP-Address - + Recommend many friends to each others - + Friend Recommendations - + The text below is your Retroshare certificate. You have to provide it to your friend - + Message: - + Recommend friends - + To - + Please select at least one friend for recommendation. - + Please select at least one friend as recipient. - + Add key to keyring - + This key is already in your keyring - + @@ -3202,69 +3196,69 @@ resources. This might be useful for sending distant messages to this peer even if you don't make friends. - + Certificate has wrong version number. Remember that v0.6 and v0.5 networks are incompatible. - + Invalid node id. - + Auto-download recommended files - + Can be used as direct source - + Require whitelist clearance to connect - + Add IP to whitelist - + No IP in this certificate! - + <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + Added with certificate from %1 - + Paste Cert of your friend from Clipboard - + Certificate Load Failed:can't read from file %1 - + Certificate Load Failed:something is wrong with %1 - + @@ -3272,228 +3266,228 @@ even if you don't make friends. Connection Progress - + Connecting to: - + TextLabel - + Network - + Net Result - + Connect Status - + Contact Result - + DHT Startup - + DHT Result - + Peer Lookup - + Peer Result - + UDP Setup - + UDP Result - + Connection Assistant - + Invalid Peer ID - + Unknown State - + Offline - + Behind Symmetric NAT - + Behind NAT & No DHT - + NET Restart - + Behind NAT - + No DHT - + NET STATE GOOD! - + DHT Failed - + DHT Disabled - + DHT Okay - + Finding RS Peers - + Lookup requires DHT - + Searching DHT - + Lookup Timeout - + Peer DHT NOT ACTIVE - + Lookup Failure - + Peer Offline - + Peer Firewalled - + Peer Online - + Connection In Progress - + Initial connections can take a while, please be patient - + If an error is detected it will be displayed here - + You can close this dialog at any time - + Retroshare will continue connecting in the background - + Connection Timeout - + Connection Attempt has taken too long - + But no error has been detected - + Try again shortly, Retroshare will continue connecting in the background - + @@ -3502,214 +3496,214 @@ even if you don't make friends. If you continue to get this message, please contact developers - + DHT Lookup Timeout - + DHT Lookup has taken too long - + UDP Connection Timeout - + UDP Connection has taken too long - + UDP Connection Failed - + We are continually working to improve connectivity. - + In this case the UDP connection attempt has failed. - + Improve connectivity by opening a Port in your Firewall. - + Connected - + Congratulations, you are connected - + DHT startup Failed - + Your DHT has not started properly - + Common causes of this problem are: - + - You are not connected to the Internet - + - You have a missing or out-of-date DHT bootstrap file (bdboot.txt) - + DHT is Disabled - + The DHT is OFF, so Retroshare cannot find your Friends. - + Retroshare has tried All Known Addresses, with no success - + The DHT is needed if your friends have Dynamic IP Addresses. - + Go to Settings->Server and change config to "Public: DHT and Discovery" - + Peer Denied Connection - + We successfully reached your Friend. - + but they have not added you as a Friend. - + Please contact them to add your Certificate - + Your Retroshare Node is configured Okay - + We successfully reached your Friend via UDP. - + Please contact them to add your Full Certificate - + We Cannot find your Friend. - + They are either offline or their DHT is Off - + Peer DHT is Disabled - + Your Friend has configured Retroshare with DHT Disabled. - + You have previously connected to this Friend - + Retroshare has determined that they have DHT switched off - + Without the DHT it is hard for Retroshare to locate your friend - + Try importing a fresh Certificate to get up-to-date connection information - + Incomplete Friend Details - + You have imported an incomplete Certificate - + Please retry importing the full Certificate - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> - + @@ -3717,248 +3711,310 @@ p, li { white-space: pre-wrap; } N/A - + UNVERIFIABLE FORWARD! - + UNVERIFIABLE FORWARD & NO DHT - + Searching - + UDP Connect Timeout - + Only Advanced Retroshare users should switch off the DHT. - + Retroshare cannot connect without this information - + They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details - + - - + Name - + - - Creator - - - - - Distribution - - - - + Public - + - - Self-Restricted - - - - - Restricted to: - - - - - Circle Membership - - - - + IDs - + - - Known Identities - - - - + Filter - + - + Nickname - + - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID - + Type - + - - - - + + Name: + Nome: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare - + - + Please set a name for your Circle - + - - Personal Circle Details - - - - - External Circle Details - - - - - Cannot Edit Existing Circles Yet - - - - + No Restriction Circle Selected - + - + No Circle Limitations Selected - + - - Create New Personal Circle - - - - - Create New External Circle - - - - + Add Adicionar Remove - + - + Search - + - + All - + Signed - + Signed by known nodes - + - + Edit Circle - + - - + PGP Identity - + - - - + + + Anon Id - + + + + + Circle name + + + + + Update + + Close + + + + + + Create New Circle + + + + + Create + + + + PGP Linked Id - + + + + + Add Member + + + + + Remove Member + CreateGroup - + Create a Group - + - - Group Name - + + Group Name: + - + + Group ID: + + + + Enter a name for your group - + - + + To be defined + + + + Friends - + Edit Group - + @@ -3967,260 +4023,270 @@ p, li { white-space: pre-wrap; } New Channel Post - + Channel Post - + Channel Post to: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> - + Add File to Attach - + Add Channel Thumbnail - + Message - + Subject : - + Attachments - + Allow channels to get frame for message thumbnail from movie media attachments or not - + Auto Thumbnail - + Drag and Drop Files from Search Results - + Paste RetroShare Links - + Paste RetroShare Link - + Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + Add Extra File - + RetroShare - + File already Added and Hashed - + Please add a Subject - + Load thumbnail picture - + Generate mass data - + Do you really want to generate %1 messages ? - + You are about to add files you're not actually sharing. Do you still want this to happen? - + About to post un-owned files to a channel. - + CreateGxsForumMsg - + Post Forum Message - + Forum - + Subject - + Attach File - + Sign Message - + Forum Post - + Attach files via drag and drop - + You can attach files via drag and drop here in this window - + Start New Thread - + - + No Forum - + - + In Reply to - + RetroShare - + Please set a Forum Subject and Forum Message - + Please choose Signing Id, it is required - + Add Extra File - + + + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + - + Generate mass data - + Do you really want to generate %1 messages ? - + - + Send - + - + Forum Message - + Forum Message has not been Sent. Do you want to reject this message? - + Post as - + Congrats, you found a bug! - + @@ -4229,82 +4295,82 @@ Do you want to reject this message? Create Chat Lobby - + A chat lobby is a decentralized and anonymous chat group. All participants receive all messages. Once the lobby is created you can invite other friends from the Friends tab. - + Lobby name: - + Lobby topic: - + Visibility: - + Public (Visible by friends) - + Private (Works on invitation only) - + <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + Security: - + Select the Friends with which you want to group chat. - + Invited friends - + Put a sensible lobby name here - + Set a descriptive topic here - + Contacts: - + Identity to use: - + @@ -4312,7 +4378,7 @@ Do you want to reject this message? Public Information - + @@ -4322,127 +4388,127 @@ Do you want to reject this message? Location: - + Location ID: - + Software Version: - + Online since: - + Other Information - + Certificate - + Include signatures - + Save Key into a file - + A RetroShare link with your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + Error - + Your certificate could not be parsed correctly. Please contact the developers. - + RetroShare - + Your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + Save as... - + RetroShare Certificate (*.rsc );;All Files (*) - + TextLabel - + PGP fingerprint: - + Node information - + PGP Id : - + Friend nodes: - + Copy certificate to clipboard - + Save certificate to file - + Node - + Create new node... - + show statistics window - + @@ -4450,7 +4516,7 @@ Do you want to reject this message? users - + @@ -4458,38 +4524,38 @@ Do you want to reject this message? DHT - + <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + DHT Off - + DHT Searching for RetroShare Peers - + RetroShare users in DHT (Total DHT users) - + DHT Good - + No peer found in DHT - + @@ -4497,27 +4563,27 @@ Do you want to reject this message? B - + KB - + MB - + GB - + File Never Seen - + @@ -4525,62 +4591,62 @@ Do you want to reject this message? Details - + General - + Done - + Active - + Outstanding - + Needs checking - + retroshare link(s) - + retroshare link - + Copy link to clipboard - + Rating - + Comments - + File Name - + @@ -4588,333 +4654,333 @@ Do you want to reject this message? Net Status - + Connect Options - + Network Mode - + Nat Type - + Nat Hole - + Peer Address - + Name - + PeerId - + DHT Status - + ConnectLogic - + Connect Status - + Connect Mode - + Request Status - + Cb Status - + RsId - + Bucket - + IP:Port - + Key - + Status Flags - + Found - + Last Sent - + Last Recv - + Relay Mode - + Source - + Proxy - + Destination - + Class - + Age - + Bandwidth - + IP - + Search IP - + Copy %1 to clipboard - + Unknown NetState - + Offline - + Local Net - + Behind NAT - + External IP - + UNKNOWN NAT STATE - + SYMMETRIC NAT - + DETERMINISTIC SYM NAT - + RESTRICTED CONE NAT - + FULL CONE NAT - + OTHER NAT - + NO NAT - + UNKNOWN NAT HOLE STATUS - + NO NAT HOLE - + UPNP FORWARD - + NATPMP FORWARD - + MANUAL FORWARD - + NET BAD: Unknown State - + NET BAD: Offline - + NET BAD: Behind Symmetric NAT - + NET BAD: Behind NAT & No DHT - + NET WARNING: NET Restart - + NET WARNING: Behind NAT - + NET WARNING: No DHT - + NET STATE GOOD! - + CAUTION: UNVERIFIABLE FORWARD! - + CAUTION: UNVERIFIABLE FORWARD & NO DHT - + Not Active (Maybe Connected!) - + Searching - + Failed - + offline - + Unreachable - + ONLINE - + Direct - + @@ -4924,64 +4990,64 @@ Do you want to reject this message? Disconnected - + Udp Started - + Connected - + Request Active - + No Request - + Unknown - + RELAY END - + Yourself - + unknown - + unlimited - + Own Relay - + RELAY PROXY - + @@ -4990,27 +5056,27 @@ Do you want to reject this message? %1 secs ago - + %1B/s - + Relays - + 0x%1 EX:0x%2 - + never - + @@ -5018,113 +5084,113 @@ Do you want to reject this message? DHT - + Net Status: - + Network Mode: - + Nat Type: - + Nat Hole: - + Connect Mode: - + Peer Address: - + Unreach: - + Online: - + Offline: - + DHT Peers: - + Disconnected: - + Direct: - + Proxy: - + Relay: - + Filter: - + Search Network - + Peers - + Relay - + DHT Graph - + Proxy VIA - + Relay VIA - + @@ -5132,98 +5198,98 @@ Do you want to reject this message? Incoming Directory - + Browse - + Partials Directory - + Shared Directories - + Automatically share incoming directory (Recommended) - + Edit Share - + Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. - + Remember hashed files for - + days - + Forget any hashed file that is not anymore shared. - + Clean Hash Cache - + Auto-check shared directories every - + minute(s) - + Cache cleaning confirmation - + This will forget any former hash of non shared files. Do you confirm ? - + Set Incoming Directory - + Set Partials Directory - + Directories - + @@ -5231,12 +5297,12 @@ you plug it in. Waiting outgoing discovery operations - + Waiting incoming discovery operations - + @@ -5244,7 +5310,7 @@ you plug it in. Start file - + @@ -5254,36 +5320,36 @@ you plug it in. to - + ignore case - + dd.MM.yyyy - + KB - + MB - + GB - + @@ -5291,12 +5357,12 @@ you plug it in. Expression Widget - + Delete this expression - + @@ -5304,52 +5370,52 @@ you plug it in. &New - + Add new Association - + &Edit - + Edit this Association - + &Remove - + Remove this Association - + File type - + Friend Help - + You this - + Associations - + @@ -5357,47 +5423,47 @@ you plug it in. Chunk map - + Active chunks - + Availability map (%1 active source) - + Availability map (%1 active sources) - + File info - + File name - + Destination folder - + File hash - + File size - + @@ -5405,52 +5471,52 @@ you plug it in. bytes - + Chunk size - + Number of chunks - + Transferred - + Remaining - + Number of sources - + Chunk strategy - + Transfer type - + Anonymous F2F - + Direct friend transfer / Availability assumed - + @@ -5458,73 +5524,73 @@ you plug it in. Picture - + Video - + Audio - + Archive - + Program - + CD/DVD-Image - + Document - + RetroShare collection file - + Subtitles - + Nintendo DS Rom - + Patch - + C++ - + Header - + C - + @@ -5532,37 +5598,37 @@ you plug it in. Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + Directory - + @@ -5570,37 +5636,37 @@ you plug it in. Misc - + Set message to read on activate - + Expand new messages - + Forum - + Load embedded images - + Tabs - + Open each forum in a new tab - + @@ -5608,283 +5674,283 @@ you plug it in. Last Contact - + Hide Offline Friends - + export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + Show State - + Show Groups - + - + Group - + Friend - + Edit Group - + Remove Group - + Chat - + Recommend this Friend to... - + Copy certificate link - + Add to group - + - + Search - + Sort by state - + - + Move to group - + Groups - + Remove from group - + Remove from all groups - + Expand all - + Collapse all - + Available - + - + Do you want to remove this Friend? - + - + Done! - + Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + Error - + Failed to get a file! - + File is not writeable! - + File is not readable! - + IP - + - + Attempt to connect - + Create new group - + Display - + Paste certificate link - + Node - + Remove Friend Node - + - + Do you want to remove this node? - + Friend nodes - + - + Send message to whole group - + Details - + Deny - + Send message - + @@ -5892,17 +5958,17 @@ at least one peer was not added to a group Confirm Friend Request - + wants to be friend with you on RetroShare - + Unknown (Incoming) Connect Attempt - + @@ -5910,32 +5976,32 @@ at least one peer was not added to a group Search : - + Sort by state - + Name - + Search Friends - + - + Mark all - + Mark none - + @@ -5943,122 +6009,122 @@ at least one peer was not added to a group Edit status message - + Broadcast - + Clear Chat History - + Add Friend - + Add your Avatar Picture - + A - + Set your status message - + Edit your status message - + Browse Message History - + Browse History - + Save Chat History - + Add a new Group - + Delete Chat History - + Deletes all stored and displayed chat history - + Create new Chat lobby - + Choose Font - + Reset font to default - + Keyring - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + Retroshare broadcast chat: messages are sent to all connected friends. - + Network - + Network graph - + Set your status message here. - + @@ -6066,305 +6132,305 @@ at least one peer was not added to a group Create new Profile - + Name - + Enter your nickname here - + Email - + Be careful: this email will be visible to your friends and friends of your friends. This information is required by PGP, but to stay anonymous, you can use a fake email. - + Password - + [Optional] Visible to your friends, and friends of friends. - + [Required] Examples: Home, Laptop,... - + [Required] Visible to your friends, and friends of friends. - + All fields are required with a minimum of 3 characters - + Password (check) - + - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> - + [Required] Type the same password again here. - + Passwords do not match - + Port - + This password is for PGP - + Node - + Create new node - + Generate new node - + Create a new node - + You can use it now to create a new node. - + Invalid hidden node - + Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile - + Import new profile - + Export selected profile - + Advanced options - + Create a hidden node - + Use profile - + hidden address - + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + Create new profile - + Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + Export profile - + RetroShare profile files (*.asc) - + Profile saved - + @@ -6373,77 +6439,77 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + Import profile - + Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6451,103 +6517,133 @@ Fill in your PGP password when asked, to sign your new key. Startup - + Start RetroShare when my system starts - + Start minimized - + Start minimized on system start - + For Advanced Users - + Enable Advanced Mode (Restart Required) - + Misc - + Do not show the Quit RetroShare MessageBox - + Auto Login - + - Register retroshare:// as URL protocol (Restart required) - + Register retroshare:// as URL protocol + You need administrator rights to change this option. - + - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle - + Idle Time - + seconds - + Launch startup wizard - + - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error - + Could not add retroshare:// as protocol. - + Could not remove retroshare:// protocol. - + General - + - + Minimize to Tray Icon - + @@ -6556,55 +6652,55 @@ Fill in your PGP password when asked, to sign your new key. Getting Started - + Invite Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be sure to get their invitation back as well... </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can only connect with friends if you have both added each other.</span></p></body></html> - + Add Your Friends to RetroShare - + Add Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6616,31 +6712,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6653,107 +6749,107 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + Connect To Friends - + Advanced: Open Firewall Port - + Further Help and Support - + Open RS Website - + Open FAQ Wiki - + Open Online Forums - + Email Support - + Email Feedback - + RetroShare Invitation - + Your friend has installed RetroShare, and would like you to try it out. - + You can get RetroShare here: %1 - + RetroShare is a private Friend-2-Friend sharing network. - + forums and channels, all of which are as secure as the file-sharing. - + Here is your friends ID Certificate. - + Cut and paste the text below into your RetroShare client - + and send them your ID Certificate to get securely connected. - + Cut Below Here - + RetroShare Feedback - + RetroShare Support - + It has many features, including built-in chat, messaging, - + @@ -6761,82 +6857,82 @@ p, li { white-space: pre-wrap; } Router Statistics - + GroupBox - + ID - + Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + Unknown Peer - + Pending packets - + Unknown - + @@ -6844,22 +6940,22 @@ p, li { white-space: pre-wrap; } Managed keys - + Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6867,7 +6963,15 @@ p, li { white-space: pre-wrap; } Show Group Chat - + + + + + GroupChooser + + + [Unknown] + @@ -6875,27 +6979,27 @@ p, li { white-space: pre-wrap; } Friends - + Family - + Co-Workers - + Other Contacts - + Favorites - + @@ -6903,78 +7007,78 @@ p, li { white-space: pre-wrap; } Directory is browsable for friends from groups - + Directory is NOT browsable for friends from groups - + Directory is accessible by anonymous tunnels from friends from groups - + Directory is NOT accessible by anonymous tunnels from friends from groups - + Directory is browsable for any friend - + Directory is NOT browsable for any friend - + Directory is accessible by anonymous tunnels from any friend - + Directory is NOT accessible by anonymous tunnels from any friend - + No one can browse this directory - + No one can anonymously access this directory. - + All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -6982,12 +7086,12 @@ p, li { white-space: pre-wrap; } Form - + Hide tabbar with one open tab - + @@ -6995,47 +7099,47 @@ p, li { white-space: pre-wrap; } Share - + Contacts: - + - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer - + - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7043,57 +7147,62 @@ p, li { white-space: pre-wrap; } Title - + Search Title - + Description - + Search Description - + Sort by Name - + Sort by Popularity - + Sort by Last Post - + Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + Display - + - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7101,22 +7210,22 @@ p, li { white-space: pre-wrap; } and - + and / or - + or - + Name - + @@ -7126,72 +7235,72 @@ p, li { white-space: pre-wrap; } Extension - + Hash - + Date - + Size - + Popularity - + contains - + contains all - + is - + less than - + less than or equal - + equals - + greater than or equal - + greater than - + is in range - + @@ -7200,68 +7309,68 @@ p, li { white-space: pre-wrap; } Channels - + Create Channel - + Enable Auto-Download - + My Channels - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + Subscribed Channels - + Popular Channels - + Other Channels - + Select channel download directory - + Disable Auto-Download - + Set download directory - + [Default directory] - + Specify... - + @@ -7269,52 +7378,52 @@ p, li { white-space: pre-wrap; } Form - + Download - + TextLabel - + Open folder - + Error - + Paused - + Waiting - + Checking - + Are you sure that you want to cancel and delete the file? - + Can't open folder - + @@ -7322,32 +7431,32 @@ p, li { white-space: pre-wrap; } Form - + Filename - + Size - + Title - + Published - + Status - + @@ -7355,37 +7464,37 @@ p, li { white-space: pre-wrap; } Create New Channel - + Channel - + Edit Channel - + Add Channel Admins - + Select Channel Admins - + Update Channel - + Create - + @@ -7393,257 +7502,308 @@ p, li { white-space: pre-wrap; } Copy RetroShare Link - + Subscribe to Channel - + Expand - + Remove Item - + Channel Description - + Loading - + New Channel - + Hide - + GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status - + Download - + - + Play - + Comments - + Copy RetroShare Link - + Unsubscribe From Channel - + Expand - + Set as read and remove item - + Remove Item - + - + Channel Feed - + - + Files - + Warning! You have less than %1 hours and %2 minute before this file is deleted Consider saving it. - + Hide - + New - + 0 - + Comment - + I like this - + I dislike this - + - + Loading - + - + Open Abrir Open File - + Play Media - + GxsChannelPostsWidget - + Post to Channel - + Loading - + Search channels - + - + Title - + Search Title - + Message - + Search Message - + Filename - + Search Filename - + No Channel Selected - + - + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download - + Enable Auto-Download - + Show feeds - + Show files - + - + + Administrator: + + + + + + unknown + + + + + Distribution: + + + + Feeds - + Files - + - + Subscribers - + - + Description: - + - + Posts (at neighbor nodes): - + @@ -7651,7 +7811,7 @@ p, li { white-space: pre-wrap; } Channel Post - + @@ -7659,7 +7819,7 @@ p, li { white-space: pre-wrap; } Comment Container - + @@ -7667,67 +7827,67 @@ p, li { white-space: pre-wrap; } Form - + Hot - + New - + Top - + Voter ID: - + Refresh - + Comment - + Author - + Date - + Score - + UpVotes - + DownVotes - + OwnVote - + @@ -7735,22 +7895,22 @@ p, li { white-space: pre-wrap; } Reply to Comment - + Submit Comment - + Vote Up - + Vote Down - + @@ -7758,32 +7918,32 @@ p, li { white-space: pre-wrap; } Make Comment - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> - + Signed by - + Comment Signing Error - + You need to create an Identity before you can comment - + @@ -7791,37 +7951,37 @@ before you can comment Create New Forum - + Forum - + Edit Forum - + Update Forum - + Add Forum Admins - + Select Forum Admins - + Create - + @@ -7829,38 +7989,38 @@ before you can comment Subscribe to Forum - + Expand - + Remove Item - + Forum Description - + Loading - + New Forum - + Hide - + @@ -7869,48 +8029,48 @@ before you can comment Subject: - + Unsubscribe To Forum - + Expand - + Set as read and remove item - + Remove Item - + In Reply to: - + Loading - + Forum Feed - + Hide - + @@ -7918,251 +8078,291 @@ before you can comment Form - + - + Start new Thread for Selected Forum - + Search forums - + Last Post - + Threaded View - + Flat View - + - + Title - + Date - + - + Author - + Save image - + - + Loading - + Reply Message - + Previous Thread - + Next Thread - + Download all files - + Next unread - + Search Title - + Search Date - + Search Author - + Content - + Search Content - + No name - + Reply - + Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + Start New Thread - + Expand all - + Collapse all - + Mark as read - + with children - + Mark as unread - + Copy RetroShare Link - + Hide - + Expand - + This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + + + + Anti-spam - + [ ... Redacted message ... ] - + Anonymous - + signed - + none - + [ ... Missing Message ... ] - + <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8172,85 +8372,85 @@ before you can comment RetroShare - + No Forum Selected! - + You cant reply to a non-existant Message - + You cant reply to an Anonymous Author - + Original Message - + From - + Sent - + Subject - + On %1, %2 wrote: - + - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description - + By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8258,7 +8458,7 @@ before you can comment Forum Post - + @@ -8266,38 +8466,38 @@ before you can comment <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + Forums - + Create Forum - + My Forums - + Subscribed Forums - + Popular Forums - + Other Forums - + @@ -8305,85 +8505,85 @@ before you can comment Waiting - + Retrieving - + Loading - + GxsGroupDialog - - + + Name - + - + Add Icon - + Key recipients can publish to restricted-type group and can view and publish for private-type channels - + Share Publish Key - + - + check peers you would like to share private publish key with - + Share Key With - + - - + + Description - + - + Message Distribution - + - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public - + - - - Restricted to Group - - - - - + Only For Your Friends - + - + Publish Signatures - + @@ -8393,184 +8593,249 @@ before you can comment New Thread - + Required - + Encrypted Msgs - + Personal Signatures - + PGP Required - + Signature Required - + If No Publish Signature - + - Comments - + - + Allow Comments - + No Comments - + Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: - + - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name - + - + + PGP signature from known ID required + + + + Load Group Logo - + - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback - + Owner: - + - + Set a descriptive description here - + - + Info - + - - Comments allowed - - - - - Comments not allowed - - - - + ID - + - + Last Post - + + + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + - Popularity - + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + - - Posts - + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + + Popularity + - Type - + Posts + - + Author - + GxsIdLabel - + @@ -8578,146 +8843,146 @@ before you can comment Loading - + Todo - + Print - + PrintPreview - + Unsubscribe - + Subscribe - + Open in new tab - + Show Details - + Edit Details - + - + + Share publish permissions + + + + Copy RetroShare Link - + Mark all as read - + Mark all as unread - + - + AUTHD - - - - - Share admin permissions - + GxsIdChooser - + No Signature - + - + Create new Identity - + GxsIdDetails - + Loading - + Not found - + No Signature - + [Banned] - + Authentication - + unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8725,12 +8990,12 @@ before you can comment Loading - + No name - + @@ -8738,42 +9003,42 @@ before you can comment Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + @@ -8782,17 +9047,17 @@ before you can comment Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + @@ -8801,22 +9066,22 @@ before you can comment RetroShare Help - + Find: - + Find Previous - + Find Next - + @@ -8826,141 +9091,141 @@ before you can comment Whole words only - + Contents - + Help Topics - + Search - + Searching for: - + Found Documents - + Back - + Move to previous page (Backspace) - + Backspace - + Forward - + Move to next page (Shift+Backspace) - + Shift+Backspace - + Home - + Move to the Home page (Ctrl+H) - + Ctrl+H - + Find - + Search for a word or phrase on current page (Ctrl+F) - + Ctrl+F - + Close - + Close Vidalia Help - + Esc - + Supplied XML file is not a valid Contents document. - + Search reached end of document - + Search reached start of document - + Text not found in document - + Found %1 results - + Error Loading Help Contents: - + @@ -8968,27 +9233,27 @@ before you can comment About - + Authors - + Thanks to - + Translation - + License Agreement - + @@ -8997,14 +9262,14 @@ before you can comment p, li { white-space: pre-wrap; } </style></head><body style=" font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; font-weight:600;">About RetroShare</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9015,14 +9280,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Swedish: </span><span style=" font-size:8pt;"> Daniel Wester</span><span style=" font-size:8pt; font-weight:600;"> &lt;</span><span style=" font-size:8pt;">wester@speedmail.se</span><span style=" font-size:8pt; font-weight:600;">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">German: </span><span style=" font-size:8pt;">Jan</span><span style=" font-size:8pt; font-weight:600;"> </span><span style=" font-size:8pt;">Keller</span> &lt;<span style=" font-size:8pt;">trilarion@users.sourceforge.net</span>&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polish: </span>Maciej Mrug</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9032,16 +9297,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + Libraries - + @@ -9049,115 +9314,115 @@ p, li { white-space: pre-wrap; } Opening External Link - + RetroShare can open the link you selected in your default Web browser. If your browser is not currently configured to use Tor then the request will not be anonymous. - + Do you want Retroshare to open the link in your Web browser? - + Unable to Open Link - + RetroShare was unable to open the selected link in your Web browser. You can still copy the URL and paste it into your browser. - + Error opening help file: - + IdDetailsDialog - + Person Details - + Identity Info - + Owner node ID : - + Type: - + Owner node name : - + Identity name : - + Identity ID : - + Last used: - + Your Avatar Click here to change your avatar - + Reputation - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9167,497 +9432,733 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + Unknown real name - + Anonymous Id - + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + Banned - + IdDialog - + + New ID - + - - + + All - + Reputation - + Search - + - - Unknown real name - - - - + Anonymous Id - + - + Create new Identity - + + + + + Create new circle + Persons - + - + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + + + + + Circle name + + + + + Membership + + + + + Public Circles + + + + + Personal Circles + + + + Edit identity - + Delete identity - + Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID - + - + Send message - + - + Identity info - + Identity ID : - + Owner node name : - + Type: - + Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous - + - + ID - + Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + OK - + Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People - + Your Avatar Click here to change your avatar - + - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9665,43 +10166,43 @@ p, li { white-space: pre-wrap; } Nickname - + Key ID - + PGP Name - + PGP Hash - + PGP Id - + Pseudonym - + New identity - + To be generated - + @@ -9714,43 +10215,43 @@ p, li { white-space: pre-wrap; } N/A - + Edit identity - + Error getting key! - + Error KeyID invalid - + Unknown GpgId - + Unknown real name - + Create New Identity - + Type - + @@ -9760,7 +10261,7 @@ p, li { white-space: pre-wrap; } TextLabel - + @@ -9769,7 +10270,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9780,32 +10281,32 @@ p, li { white-space: pre-wrap; } Your Avatar Click here to change your avatar - + Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9813,17 +10314,17 @@ p, li { white-space: pre-wrap; } Name - + KeyId - + GXSId - + @@ -9833,27 +10334,27 @@ p, li { white-space: pre-wrap; } - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9862,23 +10363,23 @@ p, li { white-space: pre-wrap; } Message History - + - + Copy Copiar Remove - + Mark all - + @@ -9888,12 +10389,12 @@ p, li { white-space: pre-wrap; } Clear history - + Send - + @@ -9902,17 +10403,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -9921,69 +10422,69 @@ p, li { white-space: pre-wrap; } Open File - + Open Folder - + Edit Share Permissions - + Checking... - + Check files - + Edit Shared Folder - + Recommend in a message to - + Set command for opening this file - + Collection - + MainWindow - + Add Friend - + Add a Friend Wizard - + Add Share - + - + Options Opções @@ -9991,45 +10492,45 @@ p, li { white-space: pre-wrap; } Messenger - + About - + SMPlayer - + Quit - + Quick Start Wizard - + - + RetroShare %1 a secure decentralized communication platform - + - + Unfinished - + Low disk space warning - + @@ -10038,112 +10539,112 @@ p, li { white-space: pre-wrap; } RetroShare will now safely suspend any disk access to this directory. Please make some free space and click Ok. - + Show/Hide - + Status - + Notify - + Open Messenger - + Open Messages - + Bandwidth Graph - + Applications - + Help - + Minimize - + Maximize - + &Quit - + RetroShare - + %1 new message - + %1 new messages - + Down: %1 (kB/s) - + Up: %1 (kB/s) - + %1 friend connected - + %1 friends connected - + Do you really want to exit RetroShare ? - + - + Internal Error - + Hide - + @@ -10153,604 +10654,604 @@ p, li { white-space: pre-wrap; } Make sure this link has not been forged to drag you to a malicious website. - + Don't ask me again - + It seems to be an old RetroShare link. Please use copy instead. - + The file link is malformed. - + ServicePermissions - + Service permissions matrix - + - + Add Adicionar Statistics - + Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose - + Contacts - + Paragraph - + Heading 1 - + Heading 2 - + Heading 3 - + Heading 4 - + Heading 5 - + Heading 6 - + Font size - + Increase font size - + Decrease font size - + Bold - + Italic - + Alignment - + Add an Image - + Sets text font to code style - + Underline - + Subject: - + Tags: - + - + Tags - + Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + Recommended Files - + File Name - + Size - + Hash - + Send - + Send this message now - + Reply - + Toggle Contacts View - + Save - + Save this message - + Attach - + Attach File - + Quote - + Add Blockquote - + Send To: - + &Left - + C&enter - + &Right - + &Justify - + All addresses (mixed) - + All people - + My contacts - + Hello,<br>I recommend a good friend of mine; you can trust them too when you trust me. <br> - + You have a friend recommendation - + This friend is suggested by - + wants to be friends with you on RetroShare - + Hi %1,<br><br>%2 wants to be friends with you on RetroShare.<br><br>Respond now:<br>%3<br><br>Thanks,<br>The RetroShare Team - + - + Save Message - + Message has not been Sent. Do you want to save message to draft box? - + Paste RetroShare Link - + Add to "To" - + Add to "CC" - + Add to "BCC" - + Add as Recommend - + Original Message - + From - + To - + Cc - + Sent - + Subject - + On %1, %2 wrote: - + Re: - + Fwd: - + RetroShare - + Do you want to send the message without a subject ? - + Please insert at least one recipient. - + Bcc - + Unknown - + &File - + &New - + &Open... - + &Save - + Save &As File - + Save &As Draft - + &Print... - + &Export PDF... - + &Quit - + &Edit - + &Undo - + &Redo - + Cu&t - + &Copy - + &Paste - + &View - + &Contacts Sidebar - + &Insert - + &Image - + &Horizontal Line - + &Format - + Details - + Open File... - + HTML-Files (*.htm *.html);;All Files (*) - + Save as... - + Print Document - + Export PDF - + Message has not been Sent. Do you want to save message ? - + Choose Image - + Image Files supported (*.png *.jpeg *.jpg *.gif) - + Add Extra File - + Close - + @@ -10758,74 +11259,74 @@ Do you want to save message ? De: - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10833,47 +11334,47 @@ Do you want to save message ? Everyone - + Contacts - + Nobody - + Accept encrypted distant messages from - + Reading - + Set message to read on activate - + Open messages in - + Tags - + Tags can be used to categorize and prioritize your messages - + @@ -10883,7 +11384,7 @@ Do you want to save message ? Edit - + @@ -10898,32 +11399,32 @@ Do you want to save message ? A new tab - + A new window - + Edit Tag - + Message - + Distant messages: - + Load embedded images - + @@ -10931,7 +11432,7 @@ Do you want to save message ? Sub: - + @@ -10939,7 +11440,7 @@ Do you want to save message ? Message - + @@ -10947,17 +11448,17 @@ Do you want to save message ? Recommended Files - + Download all Recommended Files - + Subject: - + @@ -10972,98 +11473,98 @@ Do you want to save message ? Cc: - + Bcc: - + Tags: - + File Name - + Size - + Hash - + Print - + Print Preview - + Confirm %1 as friend - + Add %1 as friend - + No subject - + Download - + Download all - + Print Document - + Save as... - + HTML-Files (*.htm *.html);;All Files (*) - + Load images always for this message - + Hide the attachment pane - + Show the attachment pane - + @@ -11071,47 +11572,47 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Forward - + Remove selected message - + @@ -11121,81 +11622,81 @@ Do you want to save message ? Print selected message - + Print - + Display - + Tags - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + &File - + Save &As File - + &Print... - + Print Preview... - + &Quit - + @@ -11204,47 +11705,47 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Foward - + Remove selected message - + @@ -11254,17 +11755,17 @@ Do you want to save message ? Print selected message - + Print - + Display - + @@ -11273,7 +11774,7 @@ Do you want to save message ? Tags - + @@ -11281,7 +11782,7 @@ Do you want to save message ? Inbox - + @@ -11289,18 +11790,18 @@ Do you want to save message ? Outbox - + Draft - + Sent - + @@ -11308,283 +11809,283 @@ Do you want to save message ? Trash - + Total Inbox: - + Folders - + Quick View - + Print... - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + Save As... - + Reply to Message - + Reply to All - + Forward Message - + Subject - + From - + Date - + Content - + Click to sort by attachments - + Click to sort by subject - + Click to sort by read - + Click to sort by from - + Click to sort by date - + Click to sort by tags - + Click to sort by star - + Forward selected Message - + Search Subject - + Search From - + Search Date - + Search Content - + Search Tags - + Attachments - + Search Attachments - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + Starred - + System - + Open in a new window - + Open in a new tab - + Mark as read - + Mark as unread - + Add Star - + Edit - + Edit as new - + Remove Messages - + Remove Message - + Undelete - + Empty trash - + Drafts - + No starred messages available. Stars let you give messages a special status to make them easier to find. To star a message, click on the light gray star beside any message. - + No system messages available. - + To - + Click to sort by to - + This message goes to a distant person. - + @@ -11593,33 +12094,33 @@ Do you want to save message ? Total: - + Messages - + Click to sort by signature - + This message was signed and the signature checks - + This message was signed but the signature doesn't check - + This message comes from a distant person. - + @@ -11627,17 +12128,17 @@ Do you want to save message ? RetroShare Messenger - + - + Add a Friend - + Share files for your friends - + @@ -11645,27 +12146,27 @@ Do you want to save message ? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + Paste RetroShare Link - + Paste my certificate link - + @@ -11673,58 +12174,58 @@ Do you want to save message ? Reply to Message - + Reply Message - + Delete Message - + Play Media - + Expand - + Remove Item - + Message From - + Sent Msg - + Draft Msg - + Pending Msg - + Hide - + @@ -11732,52 +12233,52 @@ Do you want to save message ? <strong>NAT:</strong> - + Network Status Unknown - + Offline - + Nasty Firewall - + DHT Disabled and Firewalled - + Network Restarting - + Behind Firewall - + DHT Disabled - + RetroShare Server - + Forwarded Port - + @@ -11785,146 +12286,146 @@ Do you want to save message ? Filter: - + Search Network - + Name - + Did I authenticated peer - + Did I sign his PGP key - + Did peer authenticated me - + Cert Id - + Last used - + Clear - + Set Tabs Right - + Set Tabs North - + Set Tabs South - + Set Tabs Left - + Set Tabs Rounded - + Set Tabs Triangular - + Add Friend - + Copy My Key to Clipboard - + Export My Key - + Create New Profile - + Create a new Profile - + Peer ID - + Deny friend - + Peer details... - + Remove unused keys... - + Clean keyring - + - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. The removal may fail when running multiple Retroshare instances on the same machine. - + Keyring info - + @@ -11932,165 +12433,165 @@ Notes: Your old keyring will be backed up. For security, your keyring was previously backed-up to file - + Unknown error - + Cannot delete secret keys - + Cannot create backup file. Check for permissions in pgp directory, disk space, etc. - + Personal signature - + PGP key signed by you - + Marginally trusted peer - + Fully trusted peer - + Untrusted peer - + Has authenticated me - + Unknown - + Last hour - + Today - + Never - + %1 days ago - + has authenticated you. Right-click and select 'make friend' to be able to connect. - + yourself - + Data inconsistency in the keyring. This is most probably a bug. Please contact the developers. - + Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12098,7 +12599,7 @@ Reported error: Network - + @@ -12106,22 +12607,22 @@ Reported error: Redraw - + Friendship level: - + Edge length: - + Freeze - + @@ -12129,7 +12630,7 @@ Reported error: New Tag - + @@ -12139,17 +12640,17 @@ Reported error: Choose color - + OK - + Cancel - + @@ -12157,7 +12658,7 @@ Reported error: News Feed - + @@ -12167,32 +12668,32 @@ Reported error: Remove All - + This is a test. - + News feed - + Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12200,290 +12701,290 @@ Reported error: News Feed - + Channels - + Forums - + Blogs - + Messages - + Chat - + Security - + Test - + Systray Icon - + Message - + Connect attempt - + Toasters - + Friend Connect - + Ip security - + New Message - + Download completed - + Private Chat - + Group Chat - + Chat Lobby - + Position - + X Margin - + Y Margin - + Systray message - + Group chat - + Chat lobbies - + Combined - + Blink - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + Top Left - + Top Right - + Bottom Left - + Bottom Right - + Notify - + Disable All Toasters - + Posted - + Disable All Toaster temporarily - + Feed - + Systray - + Chat Lobbies - + Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase - + Wrong password ! - + Unregistered plugin/executable - + RetroShare has detected an unregistered plugin. This happens in two cases:<UL><LI>Your RetroShare executable has changed.</LI><LI>The plugin has changed</LI></UL>Click on Yes to authorize this plugin, or No to deny it. You can change your mind later in Options -> Plugins, then restart. - + - + Please check your system clock. - + - + Examining shared files... - + Hashing file - + Saving file index... - + Test - + This is a test. - + Unknown title - + Encrypted message - + - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12491,7 +12992,7 @@ Reported error: Friend Online - + @@ -12499,30 +13000,30 @@ Reported error: Normal Mode - + No Anon D/L - + Gaming Mode - + Low Traffic - + - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers - + @@ -12530,232 +13031,293 @@ Reported error: Dialog - + PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + Unknown - + No trust - + Marginal - + Full - + Ultimate - + Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign PGP key - + <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures - + + + + + Options + Opções + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + PGP Key details - + - - + + RetroShare - + - - - + + + Error : cannot get peer details. - + - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) - + - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + Your trust in this peer is full. - + Your trust in this peer is marginal. - + Your trust in this peer is none. - + - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure - + Maybe password is wrong - + - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12768,7 +13330,7 @@ p, li { white-space: pre-wrap; } Unknown - + @@ -12776,23 +13338,23 @@ p, li { white-space: pre-wrap; } Chat - + Start Chat - + Expand - + Remove Item - + @@ -12802,62 +13364,62 @@ p, li { white-space: pre-wrap; } Peer ID: - + Trust: - + Location: - + IP Address: - + Connection Method: - + Status: - + Write Message - + Friend - + Friend Connected - + Connect Attempt - + Friend of Friend - + Peer - + @@ -12870,17 +13432,17 @@ p, li { white-space: pre-wrap; } Unknown Peer - + Hide - + Send Message - + @@ -12888,42 +13450,96 @@ p, li { white-space: pre-wrap; } Friends: 0/0 - + Online Friends/Total Friends - + Friends - + PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -12931,7 +13547,7 @@ p, li { white-space: pre-wrap; } Form - + @@ -12939,62 +13555,62 @@ p, li { white-space: pre-wrap; } PhotoShare - + Photo - + TextLabel - + Comment - + Summary - + Caption - + Where: - + Photo Title: - + When - + ... - + Add Comment - + Write a comment... - + @@ -13002,39 +13618,39 @@ p, li { white-space: pre-wrap; } Form - + TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> - + @@ -13042,58 +13658,58 @@ p, li { white-space: pre-wrap; } Form - + Create Album - + View Album - + Subscribe To Album - + Slide Show - + My Albums - + Subscribed Albums - + Shared Albums - + View Photo - + PhotoShare - + Please select an album before requesting to edit it! - + @@ -13101,53 +13717,53 @@ requesting to edit it! Album Name - + Image - + Show/Hide Details - + << - + Stop - + >> - + Close - + Start - + Start Slide Show - + Stop Slide Show - + @@ -13155,7 +13771,7 @@ requesting to edit it! Remove - + @@ -13163,26 +13779,26 @@ requesting to edit it! TextLabel - + Show more details about this plugin - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> - + Enable this plugin (restart required) - + @@ -13192,47 +13808,47 @@ p, li { white-space: pre-wrap; } Disable this plugin (restart required) - + Disable - + Launch configuration panel, if provided by the plugin - + Configure - + About - + File name: - + File hash: - + Status: - + will be enabled after your restart RetroShare. - + @@ -13240,37 +13856,37 @@ p, li { white-space: pre-wrap; } base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13278,22 +13894,22 @@ p, li { white-space: pre-wrap; } Install New Plugin... - + Open Plugin to install - + Plugins (*.so *.dll) - + Widget for plugin %1 not found on plugins frame - + @@ -13301,27 +13917,27 @@ p, li { white-space: pre-wrap; } Authorize all plugins - + Plugin look-up directories - + Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + No API number supplied. Please read plugin development manual. - + @@ -13330,37 +13946,37 @@ p, li { white-space: pre-wrap; } [loading problem] - + No SVN number supplied. Please read plugin development manual. - + Loading error. - + Missing symbol. Wrong version? - + No plugin object - + Plugins is loaded. - + Unknown status. - + @@ -13368,18 +13984,18 @@ p, li { white-space: pre-wrap; } be checked for the hash. However, in normal times, checking the hash protects you from malicious behavior of crafted plugins. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + Plugins - + @@ -13387,7 +14003,7 @@ malicious behavior of crafted plugins. Popularity - + @@ -13395,17 +14011,17 @@ malicious behavior of crafted plugins. Clear offline messages - + Hide Avatar - + Show Avatar - + @@ -13413,36 +14029,36 @@ malicious behavior of crafted plugins. Avatar - + Set your Avatar Picture - + Dock tab - + Undock tab - + Set Chat Window Color - + Set window on top - + @@ -13450,32 +14066,32 @@ malicious behavior of crafted plugins. Chat remotely closed. Please close this window. - + The person you're talking to has deleted the secured chat tunnel. You may remove the chat window now. - + Closing this window will end the conversation, notify the peer and remove the encrypted tunnel. - + Kill the tunnel? - + Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13483,57 +14099,57 @@ malicious behavior of crafted plugins. Signed by: - + Notes - + RetroShare - + Please create or choose a Signing Id first - + Submit Post - + You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + Submit - + Submit a new Post - + Please add a Title - + Title - + Link - + @@ -13541,42 +14157,42 @@ malicious behavior of crafted plugins. Posted Links - + Posted - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + My Topics - + Subscribed Topics - + Popular Topics - + Other Topics - + @@ -13584,37 +14200,37 @@ malicious behavior of crafted plugins. Posted Topic - + Add Topic Admins - + Select Topic Admins - + Create New Topic - + Edit Topic - + Update Topic - + Create - + @@ -13622,107 +14238,117 @@ malicious behavior of crafted plugins. Subscribe to Posted - + Expand - + Remove Item - + Posted Description - + Loading - + New Posted - + Hide - + PostedItem - + 0 - + Site - + - + Comments - + Comment - + Vote up - + Vote down - + \/ - + Set as read and remove item - + New - + - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status - + Remove Item - + - + Loading - + By - + @@ -13730,77 +14356,77 @@ malicious behavior of crafted plugins. Form - + Hot - + New - + Top - + Today - + Yesterday - + This Week - + This Month - + This Year - + Submit a new Post - + Next - + RetroShare - + Please create or choose a Signing Id before Voting - + Previous - + 1-10 - + @@ -13808,17 +14434,17 @@ malicious behavior of crafted plugins. Tabs - + Posted - + Open each topic in a new tab - + @@ -13826,7 +14452,7 @@ malicious behavior of crafted plugins. Posted - + @@ -13834,37 +14460,37 @@ malicious behavior of crafted plugins. RetroShare Message - Print Preview - + Print - + &Print... - + Page Setup... - + Zoom In - + Zoom Out - + &Close - + @@ -13873,39 +14499,39 @@ malicious behavior of crafted plugins. Profile Manager - + Name - + Email - + GID - + Export Identity - + RetroShare Identity files (*.asc) - + Identity saved - + @@ -13914,80 +14540,80 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Identity not saved - + Your identity was not saved. An error occurred. - + Import Identity - + Identity not loaded - + Your identity was not loaded properly: - + New identity imported - + Your identity was imported successfully: - + Select Trusted Friend - + Certificates (*.pqi *.pem) - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + You can use it now to create a new node. - + @@ -13996,22 +14622,22 @@ p, li { white-space: pre-wrap; } Edit status message - + Copy Certificate - + Profile Manager - + Public Information - + @@ -14021,73 +14647,73 @@ p, li { white-space: pre-wrap; } Location: - + Peer ID: - + Number of Friends: - + Version: - + Online since: - + Other Information - + My Address - + Local Address: - + External Address: - + Dynamic DNS: - + Addresses list: - + RetroShare - + Sorry, create certificate failed - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -14095,61 +14721,61 @@ p, li { white-space: pre-wrap; } Post From: - + Account 1 - + Account 2 - + Account 3 - + Add to Pulse - + filter - + URL Adder - + Display As - + URL - + Cancel - + Post Pulse to Wire - + @@ -14157,323 +14783,338 @@ p, li { white-space: pre-wrap; } From - + Date - + ... - + QObject - - - + + + Confirmation - + Do you want this link to be handled by your system? - + - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. - + - + Add file - + Add files - + Do you want to process the link ? - + Do you want to process %1 links ? - + - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. - + %1 of %2 RetroShare links processed. - + File added - + Files added - + File exist - + Files exist - + Friend added - + Friends added - + Friend exist - + Friends exist - + Friend not added - + Friends not added - + Friend not found - + Friends not found - + Forum not found - + Forums not found - + Forum message not found - + Forum messages not found - + Channel not found - + Channels not found - + Channel message not found - + Channel messages not found - + + + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + Recipient not accepted - + Recipients not accepted - + Unkown recipient - + Unkown recipients - + Malformed links - + Invalid links - + Warning: forbidden characters found in filenames. Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. - + Result - + - + Unable to make path - + Unable to make path: - + Failed to process collection file - + - + Deny friend - + Make friend - + Peer details - + File Request canceled - + - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. - + Choose between:<br><ul><li><b>Ok</b> to copy the existing keyring from gnupg (safest bet), or </li><li><b>Close without saving</b> to start fresh with an empty keyring (you will be asked to create a new PGP key to work with RetroShare, or import a previously saved pgp keypair). </li><li><b>Cancel</b> to quit and forge a keyring by yourself (needs some PGP skills)</li></ul> - + - + RetroShare - + - + Initialization failed. Wrong or missing installation of PGP. - + An unexpected error occurred. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + Multiple instances - + Another RetroShare using the same profile is already running on your system. Please close that instance first Lock file: - + An unexpected error occurred when Retroshare tried to acquire the single instance lock Lock file: - - - - - Start with a RetroShare link is only supported for Windows. - + Distant peer has closed the chat - + Tunnel is pending... - + Secured tunnel is working. You can talk! - + @@ -14481,186 +15122,186 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Reported error is: %2 - + - + Click to send a private message to %1 (%2). - + %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + secs - + TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + %1 days ago - + Subject: - + Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error - + unable to parse XML file! - + @@ -14668,19 +15309,19 @@ Security: no anonymous IDs Quick Start Wizard - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14689,7 +15330,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Choose which files you share.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Get started using RetroShare.</span></p></body></html> - + @@ -14697,7 +15338,7 @@ p, li { white-space: pre-wrap; } Next > - + @@ -14706,73 +15347,73 @@ p, li { white-space: pre-wrap; } Exit - + For best performance, RetroShare needs to know a little about your connection to the internet. - + Choose your download speed limit: - + KB/s - + Choose your upload speed limit: - + Connection : - + Automatic (UPnP) - + Firewalled - + Manually forwarded port - + Discovery : - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + @@ -14780,35 +15421,35 @@ p, li { white-space: pre-wrap; } < Back - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> - + Directory - + Network Wide - + Browseable - + @@ -14818,115 +15459,115 @@ p, li { white-space: pre-wrap; } Remove - + Automatically share incoming directory (Recommended) - + RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + Do not show a message when Closing RetroShare - + Start Minimized - + Start RetroShare when my System Starts. - + Start minimized on system start - + Finish - + Select A Folder To Share - + Shared Directory Added! - + Warning! - + Browsable - + Universal - + If checked, the share is anonymously shared to anybody. - + If checked, the share is browsable by your friends. - + @@ -14934,12 +15575,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + @@ -14947,17 +15588,17 @@ p, li { white-space: pre-wrap; } %1 KB - + %1 MB - + %1 GB - + @@ -14965,17 +15606,17 @@ p, li { white-space: pre-wrap; } Form - + The loading of embedded images is blocked. - + Load images - + @@ -14983,60 +15624,60 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15044,17 +15685,17 @@ p, li { white-space: pre-wrap; } Down - + Up - + <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15062,89 +15703,89 @@ p, li { white-space: pre-wrap; } Enable Relay Connections - + Use Relay Servers - + Relay options - + Number - + Bandwidth per link - + Total Bandwidth - + Friends - + kB/s - + Friends of Friends - + General - + Total: - + Relay Server Setup - + Add Server - + Server DHT Key - + Remove Server - + Relay - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15152,17 +15793,17 @@ p, li { white-space: pre-wrap; } Download - + Recommend in a message to - + Collection - + @@ -15170,7 +15811,7 @@ p, li { white-space: pre-wrap; } NEW - + @@ -15178,27 +15819,27 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + Unknown - + @@ -15206,33 +15847,33 @@ p, li { white-space: pre-wrap; } Add IP to whitelist - + Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15240,149 +15881,154 @@ p, li { white-space: pre-wrap; } Collection - + File name : - + Total size : - + Cancel - + Download! - + - + File - + - + Size - + Hash - + Bad filenames have been cleaned - + Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. - + Selected files : - + ... - + <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + >> - + <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + + - + Save - + - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + Real Size=%1 - + Real File Count=%1 - + Save Collection File. - + What do you want to do? - + @@ -15392,42 +16038,42 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Merge - + Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + File already exists. - + <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15436,17 +16082,17 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Cannot open file %1 - + Error parsing xml file - + Open collection file - + @@ -15454,31 +16100,31 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Collection files - + Create collection file - + This file contains the string "%1" and is therefore an invalid collection file. If you believe it is correct, remove the corresponding line from the file and re-open it with Retroshare. - + Save Collection File. - + What do you want to do? - + @@ -15488,26 +16134,26 @@ If you believe it is correct, remove the corresponding line from the file and re Merge - + Cancel - + File already exists. - + RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? - + @@ -15515,85 +16161,94 @@ Reducing image to %1x%2 pixels? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. - + Sets the directory RetroShare uses for data files. - + Sets the name and location of RetroShare's logfile. - + Sets the verbosity of RetroShare's logging. - + Sets RetroShare's interface style. - + Sets RetroShare's interface stylesheets. - + Sets RetroShare's language. - + RetroShare Usage Information - + - + Unable to open log file '%1': %2 - + built-in - + Could not create data directory: %1 - + - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -15601,7 +16256,7 @@ Reducing image to %1x%2 pixels? RTT Statistics - + @@ -15609,282 +16264,282 @@ Reducing image to %1x%2 pixels? Enter a keyword here (at least 3 char long) - + Start Search - + Search - + Advanced Search - + Advanced - + Search inside "browsable" files of your friends - + Browsable files - + Multi-hop search at distance 6 in the network (always reports available files) - + Distant - + Include files from your own file list in the search result - + Own files - + Close all Search Results - + Clear - + KeyWords - + Results - + Search Id - + Filename - + Size - + Sources - + Type - + Age - + Hash - + Filter: - + Filter Search Result - + Max results: - + Any - + Archive - + Audio - + CD-Image - + Document - + Picture - + Program - + Video - + Directory - + Download Selected - + Download selected - + File Name - + Download - + Copy RetroShare Link - + Send RetroShare Link - + Download Notice - + Skipping Local Files - + Sorry - + This function is not yet implemented. - + Search again - + Remove - + Remove All - + Folder - + New RetroShare Link(s) - + Open Folder - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + Collection - + @@ -15892,81 +16547,81 @@ Reducing image to %1x%2 pixels? Peer details - + Expand - + Remove Item - + IP address: - + Peer ID: - + Location: - + Peer Name: - + Unknown Peer - + Hide - + but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -15974,43 +16629,43 @@ Reducing image to %1x%2 pixels? wants to be friend with you on RetroShare - + Accept Friend Request - + Peer details - + Deny friend - + Chat - + Start Chat - + Expand - + Remove Item - + @@ -16020,62 +16675,62 @@ Reducing image to %1x%2 pixels? Peer ID: - + Trust: - + Location: - + IP Address: - + Connection Method: - + Status: - + Write Message - + Connect Attempt - + Connection refused by remote peer - + Unknown (Incoming) Connect Attempt - + Unknown (Outgoing) Connect Attempt - + Unknown Security Issue - + @@ -16084,42 +16739,42 @@ Reducing image to %1x%2 pixels? Unknown Peer - + Hide - + Do you want to remove this Friend? - + Certificate has wrong signature!! This peer is not who he claims to be. - + Missing/Damaged certificate. Not a real Retroshare user. - + Certificate caused an internal error. - + Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16127,529 +16782,529 @@ Reducing image to %1x%2 pixels? Network Configuration - + Network Mode - + Nat - + Automatic (UPnP) - + Firewalled - + Manually Forwarded Port - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + Local Address - + External Address - + Dynamic DNS - + Port: - + Local network - + External ip address finder - + UPnP - + Known / Previous IPs: - + Show Discovery information in statusbar - + If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. - + Allow RetroShare to ask my ip to these websites: - + kB/s - + Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + Onion Address - + Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + Clear - + Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + Test - + Network - + IP Filters - + IP blacklist - + IP range - + Status - + Origin - + Reason - + Comment - + IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + Remove - + Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16657,27 +17312,27 @@ If you have issues connecting over Tor check the Tor logs too. Service permissions - + Service Permissions - + Use as direct source, when available - + Auto-download recommended files - + Require whitelist - + @@ -16685,7 +17340,7 @@ If you have issues connecting over Tor check the Tor logs too. ServicePermissions - + @@ -16695,17 +17350,17 @@ If you have issues connecting over Tor check the Tor logs too. Permissions - + hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16721,48 +17376,48 @@ If you have issues connecting over Tor check the Tor logs too. RetroShare Share Folder - + Share Folder - + Local Path - + Browse - + Virtual Folder - + Share Flags - + Edit Shared Folder - + Select A Folder To Share - + Share flags and groups: - + @@ -16770,23 +17425,23 @@ If you have issues connecting over Tor check the Tor logs too. check peers you would like to share private publish key with - + Share for Friend - + Share - + You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -16794,37 +17449,37 @@ Select the Friends with which you want to Share your Channel. RetroShare Share Manager - + Shared Folder Manager - + Directory - + Virtual Folder - + Share flags - + Groups - + Add a Share Directory - + @@ -16834,70 +17489,70 @@ Select the Friends with which you want to Share your Channel. Stop sharing selected Directory - + Remove - + Apply and close - + Edit selected Shared Directory - + Edit - + Share Manager - + Edit Shared Folder - + Warning! - + Do you really want to stop sharing this directory ? - + Drop file error. - + File can't be dropped, only directories are accepted. - + Directory not found or directory name not accepted. - + This is a list of shared folders. You can add and remove folders using the buttons at the bottom. When you add a new folder, intially all files in that folder are shared. You can separately setup share flags for each shared directory. - + @@ -16905,17 +17560,17 @@ Select the Friends with which you want to Share your Channel. Files - + Search files - + Start Search - + @@ -16925,108 +17580,108 @@ Select the Friends with which you want to Share your Channel. Tree view - + Flat view - + All - + One day old - + One Week old - + One month old - + check files - + Download selected - + Download - + Copy retroshare Links to Clipboard - + Copy retroshare Links to Clipboard (HTML) - + Send retroshare Links - + Send retroshare Links to Cloud - + Add Links to Cloud - + RetroShare Link - + Recommendation(s) - + Add Share - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + @@ -17034,48 +17689,48 @@ Select the Friends with which you want to Share your Channel. Friend - + Go Online - + Chatmessage - + New Msg - + Message - + Message arrived - + Download - + Download complete - + Lobby - + @@ -17083,7 +17738,7 @@ Select the Friends with which you want to Share your Channel. Event: - + @@ -17093,32 +17748,32 @@ Select the Friends with which you want to Share your Channel. Browse - + Event - + Filename - + Open File - + Sound - + Default - + Omissão @@ -17126,30 +17781,30 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile - + Load configuration - + Create interface - + @@ -17157,60 +17812,60 @@ Select the Friends with which you want to Share your Channel. RetroShare - + Login - + Name (PGP Id) - location: - + Remember Password - + Log In - + Opens a dialog for creating a new profile or adding locations to an existing profile. The current identities/locations will not be affected. - + Load Person Failure - + Missing PGP Certificate - + Warning - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17219,7 +17874,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17228,7 +17883,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17237,7 +17892,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17245,17 +17900,17 @@ This choice can be reverted in settings. Add Friend - + Add a Friend Wizard - + Add Share - + @@ -17265,63 +17920,63 @@ This choice can be reverted in settings. Messenger - + About - + SMPlayer - + Quit - + Quick Start Wizard - + ServicePermissions - + Service permissions matrix - + DHT - + Bandwidth - + Turtle Router - + Global Router - + RTT Statistics - + @@ -17330,165 +17985,165 @@ This choice can be reverted in settings. Offline - + Away - + Busy - + Online - + Idle - + Friend is offline - + Friend is away - + Friend is busy - + Friend is online - + Friend is idle - + Connected - + Unreachable - + Available - + Neighbor - + Trying TCP - + Trying UDP - + Connected: TCP - + Connected: UDP - + Connected: I2P - + Connected: Unknown - + DHT: Contact - + TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17496,30 +18151,30 @@ This choice can be reverted in settings. Status message - + Message: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> - + @@ -17528,28 +18183,28 @@ p, li { white-space: pre-wrap; } Define Style - + Choose color - + Color 2 - + Color 1 - + Style - + @@ -17559,12 +18214,12 @@ p, li { white-space: pre-wrap; } Solid - + Gradient - + @@ -17572,91 +18227,91 @@ p, li { white-space: pre-wrap; } %p Kb - + Cancel Download - + Download File - + Download - + Play File - + Play - + Save File - + ERROR - + EXTRA - + REMOTE - + DOWNLOAD - + LOCAL - + UPLOAD - + Remove Attachment - + File %1 does not exist at location. - + File %1 is not completed. - + Save Channel File - + @@ -17666,30 +18321,30 @@ p, li { white-space: pre-wrap; } Open File - + Copy RetroShare Link - + SubscribeToolButton - + Subscribed - + - + Unsubscribe - + - + Subscribe - + @@ -17697,7 +18352,7 @@ p, li { white-space: pre-wrap; } Pause - + @@ -17705,27 +18360,27 @@ p, li { white-space: pre-wrap; } Important - + Work - + Personal - + Todo - + Later - + @@ -17733,12 +18388,12 @@ p, li { white-space: pre-wrap; } Remove All Tags - + New tag ... - + @@ -17746,12 +18401,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17759,90 +18414,90 @@ p, li { white-space: pre-wrap; } Transfer options - + Maximum simultaneous downloads: - + Slots reserved for non-cache transfers: - + Default chunk strategy: - + Safety disk space limit : - + Streaming - + Progressive - + Random - + MB - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> - + Max. tunnel req. forwarded per second: - + <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -17850,367 +18505,367 @@ p, li { white-space: pre-wrap; } Download completed - + You have %1 completed downloads - + You have %1 completed download - + %1 completed downloads - + %1 completed download - + TransfersDialog - + Downloads - + Uploads - + - + Name i.e: file name - + Size i.e: file size - + Completed - + Speed i.e: Download speed - + Progress / Availability i.e: % downloaded - + Sources i.e: Sources - + Status - + Speed / Queue position - + Remaining - + Download time i.e: Estimated Time of Arrival / Time left - + Peer i.e: user name - + Progress i.e: % uploaded - + Speed i.e: upload speed - + Transferred - + Hash - + Search - + Friends files - + My files - + Download from collection file... - + Pause - + Resume - + Force Check - + Cancel - + Open Folder - + Open File - + Preview File - + Details... - + Clear Completed - + Copy RetroShare Link - + Paste RetroShare Link - + Down - + Up - + Top - + Bottom - + Streaming - + Slower - + Average - + Faster - + Random - + Progressive - + Play - + Rename file... - + Specify... - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + Move in Queue... - + Priority (Speed)... - + Chunk strategy - + Set destination directory - + Choose directory - + - + Failed - - - - - - - Okay - - - - - - Waiting - - - - - Downloading - - - - - - - - Complete - + + + + Okay + + + + + + Waiting + + + + + Downloading + + + + + + + + Complete + + + + Queued - + Paused - + Checking... - + Unknown - + - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18221,27 +18876,27 @@ map of the data; it will compare and invalidate bad blocks, and download them again Try to be patient! - + Transferring - + Uploading - + Are you sure that you want to cancel and delete these files? - + RetroShare - + @@ -18249,163 +18904,163 @@ Try to be patient! File preview - + Can't create link for file %1. - + File %1 preview failed. - + Click OK when program terminates! - + Open Transfer - + File %1 is not completed. If it is a media file, try to preview it. - + Change file name - + Please enter a new file name - + Please enter a new--and valid--filename - + - + Last Time Seen i.e: Last Time Receiced Data - + UserID - + Expand all - + Collapse all - + Size - + Show Size Column - + Show Completed Column - + Speed - + Show Speed Column - + Progress / Availability - + Show Progress / Availability Column - + Sources - + Show Sources Column - + Show Status Column - + Show Speed / Queue position Column - + Show Remaining Column - + Download time - + Show Download time Column - + Show Hash Column - + Last Time Seen - + Show Last Time Seen Column - + Columns - + File Transfers - + @@ -18421,57 +19076,57 @@ Try to be patient! Show Path Column - + - + Could not delete preview file - + Try it again? - + - + Create Collection... - + Modify Collection... - + View Collection... - + Collection - + - + File sharing - + - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: - + @@ -18480,69 +19135,69 @@ Try to be patient! My files - + FILE - + Files - + File - + DIR - + Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + What's new - + Groups - + @@ -18551,13 +19206,13 @@ Try to be patient! Search requests - + Tunnel requests - + @@ -18566,28 +19221,28 @@ Try to be patient! Unknown hashes - + Tunnel id - + last transfer - + Speed - + Request id: %1 from [%2] %3 secs ago - + @@ -18595,12 +19250,12 @@ Try to be patient! Router Statistics - + F2F router information - + @@ -18608,42 +19263,42 @@ Try to be patient! Router Statistics - + Age in seconds - + Depth - + total - + Anonymous tunnels - + Authenticated tunnels - + Unknown Peer - + Turtle Router - + @@ -18651,47 +19306,47 @@ Try to be patient! Search requests repartition - + Tunnel requests repartition - + Turtle router traffic - + Tunnel requests Up - + Tunnel requests Dn - + Incoming file data - + Outgoing file data - + TR Forward probabilities - + Forwarded data - + @@ -18703,7 +19358,7 @@ Try to be patient! Loading - + @@ -18711,22 +19366,22 @@ Try to be patient! B - + KB - + MB - + GB - + @@ -18734,22 +19389,22 @@ Try to be patient! You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + @@ -18757,37 +19412,37 @@ Try to be patient! OK - + Cancel - + Yes - + No - + Help - + Retry - + Show Log - + @@ -18802,12 +19457,12 @@ Try to be patient! Quit - + Browse - + @@ -18815,62 +19470,62 @@ Try to be patient! Form - + Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -18878,123 +19533,123 @@ Try to be patient! Basic Details - + Group Name: - + Category: - + Travel - + Holiday - + Friends - + Family - + Work - + Random - + Description: - + Share Options - + Public - + All Friends - + Restricted - + N/A - + University Friends - + This List Contains - + All your Groups - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with XXX Key - + Cancel - + Create Group - + @@ -19003,107 +19658,107 @@ Try to be patient! Wiki Pages - + New Group - + Page Name - + Page Id - + Orig Id - + << - + >> - + Republish - + Edit - + New Page - + Refresh - + Search - + My Groups - + Subscribed Groups - + Popular Groups - + Other Groups - + Subscribe to Group - + Unsubscribe to Group - + Todo - + Show Wiki Group - + Edit Wiki Group - + @@ -19111,79 +19766,79 @@ Try to be patient! Page Edit History - + Enable Obsolete Edits - + Choose for Merge - + Merge for Republish (TODO) - + Publish Date - + By - + PageId - + \/ - + /\ - + Wiki Group: - + Page Name: - + Previous Version - + Tags - + Show Edit History - + Status - + @@ -19194,44 +19849,44 @@ Try to be patient! Cancel - + Revert - + Submit - + Hide Edit History - + Edit Page - + Create New Wiki Page - + Republish - + Edit Wiki Page - + @@ -19239,37 +19894,37 @@ Try to be patient! Create New Wiki Group - + Wiki Group - + Edit Wiki Group - + Add Wiki Moderators - + Select Wiki Moderators - + Create Group - + Update Group - + @@ -19277,98 +19932,98 @@ Try to be patient! TimeRange - + All - + Last Month - + Last Week - + Today - + New - + from - + until - + Search/Filter - + Network Wide - + Manage Accounts - + Showing: - + Yourself - + Friends - + Following - + Custom - + Account 1 - + Account 2 - + Account 3 - + @@ -19377,12 +20032,12 @@ Try to be patient! CheckBox - + Post Pulse to Wire - + @@ -19391,112 +20046,112 @@ Try to be patient! Unknown Unknown (size) - + B bytes - + KB kilobytes (1024 bytes) - + MB megabytes (1024 kilobytes) - + GB gigabytes (1024 megabytes) - + TB, terabytes (1024 gigabytes) - + TB terabytes (1024 gigabytes) - + Unknown - + < 1m < 1 minute - + %1 minutes e.g: 10minutes - + %1h %2m e.g: 3hours 5minutes - + %1d %2h e.g: 2days 10hours - + %1y %2d e.g: 2 years 2days - + k e.g: 3.1 k - + M e.g: 3.1 M - + G e.g: 3.1 G - + T e.g: 3.1 T - + Load avatar image - + Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_ru.ts b/retroshare-gui/src/lang/retroshare_ru.ts index 0181e0e8e..1506404c3 100644 --- a/retroshare-gui/src/lang/retroshare_ru.ts +++ b/retroshare-gui/src/lang/retroshare_ru.ts @@ -1,4 +1,6 @@ - + + + AWidget @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file К сожалению, для этого типа файла не удалось определить программу по умолчанию @@ -305,7 +307,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -427,7 +429,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -475,7 +477,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -488,7 +490,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -558,7 +560,7 @@ p, li { white-space: pre-wrap; } On List Ite&m - + @@ -658,7 +660,7 @@ p, li { white-space: pre-wrap; } Disable SysTray ToolTip - + @@ -775,7 +777,7 @@ p, li { white-space: pre-wrap; } BWGraphSource - + KB/s кБ/с @@ -1005,7 +1007,7 @@ p, li { white-space: pre-wrap; } Log scale - + @@ -1053,6 +1055,11 @@ p, li { white-space: pre-wrap; } Mute participant Игнорировать участника + + + Ban this person (Sets negative opinion) + + Send Message @@ -1061,15 +1068,15 @@ p, li { white-space: pre-wrap; } Sort by Name - + Сортировать по имени Sort by Activity - + - + Invite friends to this lobby Пригласить друзей в эту комнату @@ -1089,7 +1096,7 @@ p, li { white-space: pre-wrap; } Выберите друзей для приглашения: - + Welcome to lobby %1 Добро пожаловать в Комнату %1 @@ -1105,7 +1112,7 @@ p, li { white-space: pre-wrap; } Чат - + Lobby management @@ -1153,12 +1160,12 @@ p, li { white-space: pre-wrap; } секунды - + Start private chat Начать приватную беседу - + Decryption failed. Сбой расшифровки. @@ -1243,12 +1250,12 @@ p, li { white-space: pre-wrap; } ChatLobbyWidget - + Chat lobbies Чаты - + Name Имя @@ -1286,7 +1293,7 @@ p, li { white-space: pre-wrap; } [без темы] - + Selected lobby info Информация о выбранной комнате @@ -1303,7 +1310,7 @@ p, li { white-space: pre-wrap; } Anonymous IDs accepted - + @@ -1326,7 +1333,7 @@ p, li { white-space: pre-wrap; } %1 пригласил вас в комнату %2 - + Search Chat lobbies Поиск чатов @@ -1366,7 +1373,7 @@ p, li { white-space: pre-wrap; } Нет - + Lobby Name: Название комнаты: @@ -1533,7 +1540,7 @@ Double click lobbies to enter and chat. Отмена - + Quick Message Быстрое сообщение @@ -1542,34 +1549,34 @@ Double click lobbies to enter and chat. ChatPage - + General Главное - + Distant Chat - + Everyone - + Contacts - + Контакты Nobody - + Accept encrypted distant chat from - + @@ -1621,6 +1628,11 @@ Double click lobbies to enter and chat. Send message with Ctrl+Return Посылать сообщения по Ctrl + Enter + + + Send as plain text by default + + Chat Lobby @@ -1726,7 +1738,7 @@ Double click lobbies to enter and chat. Исходящие - + Incoming message in history История входящих сообщений @@ -1763,12 +1775,12 @@ Double click lobbies to enter and chat. UserName - + /me is sending a message with /me - + @@ -1861,7 +1873,7 @@ Double click lobbies to enter and chat. Показывать панель по умолчанию - + Private chat invite from Приглашение в приватный чат от @@ -1884,7 +1896,7 @@ Double click lobbies to enter and chat. ChatStyle - + Standard style for group chat Стандартный стиль для группового чата @@ -1938,12 +1950,12 @@ Double click lobbies to enter and chat. Закрыть - + Send Отправить - + Bold Жирный @@ -1958,12 +1970,12 @@ Double click lobbies to enter and chat. Курсив - + Attach a Picture Прикрепить изображения - + Strike Удар @@ -2014,42 +2026,70 @@ Double click lobbies to enter and chat. Сбросить настройки шрифта - + Quote - + Цитата Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... печатает... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? Вы действительно хотите удалить историю сообщений с диска? - + Add Extra File Добавить файл @@ -2094,7 +2134,7 @@ Double click lobbies to enter and chat. сейчас занят и не может вам ответить - + Find Case Sensitively Найти с учётом регистра @@ -2116,7 +2156,7 @@ Double click lobbies to enter and chat. Не оставляйте цвет после найденных X пунктов (требуется больше ресурсов процессора) - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> <b>Найти предыдущее </b><br/><i>Ctrl+Shift+G</i> @@ -2131,12 +2171,12 @@ Double click lobbies to enter and chat. <b>Найти</b><br/><i>Ctrl+F</i> - + (Status) (состояние) - + Set text font & color Указать тип шрифта и цвет текста @@ -2146,7 +2186,7 @@ Double click lobbies to enter and chat. Прикрепить файл - + WARNING: Could take a long time on big history. ВНИМАНИЕ! Может потребовать много времени в случае большой истории @@ -2157,17 +2197,16 @@ Double click lobbies to enter and chat. - + <b>Mark this selected text</b><br><i>Ctrl+M</i> <b>Отметить этот выделенный текст</b><br><i>Ctrl + M</i> - %1This message consists of %2 characters. - %1 Это сообщение содержит %2 символов. + %1 Это сообщение содержит %2 символов. - + items found. удовлетворяют условию. @@ -2182,22 +2221,20 @@ Double click lobbies to enter and chat. <b>Вернуться к отмеченному тексту</b><br><i>Ctrl + M</i> - Display Search Box - Отобразить окно поиска + Отобразить окно поиска - Search Box - Окно поиска + Окно поиска - + Type a message here Печатайте ваши сообщения здесь - + Don't stop to color after Не оставляйте цвет после @@ -2207,9 +2244,8 @@ Double click lobbies to enter and chat. найденные пункты (требуется больше ресурсов процессора) - Warning: - Предупреждение: + Предупреждение: @@ -2228,7 +2264,7 @@ Double click lobbies to enter and chat. CirclesDialog - + Showing details: Показаны подробности: @@ -2250,7 +2286,7 @@ Double click lobbies to enter and chat. - + Personal Circles Личные Круги @@ -2276,7 +2312,7 @@ Double click lobbies to enter and chat. - + Friends Друзья @@ -2336,7 +2372,7 @@ Double click lobbies to enter and chat. Друзья друзей - + External Circles (Admin) Внешние круги (администратор) @@ -2360,7 +2396,7 @@ Double click lobbies to enter and chat. ConfCertDialog - + Details Подробности @@ -2376,7 +2412,7 @@ Double click lobbies to enter and chat. - + Local Address Локальный адрес @@ -2403,36 +2439,39 @@ Double click lobbies to enter and chat. Список адресов - + + Use this certificate to make friends: + + + + Include signatures Включая подписи - - + + RetroShare RetroShare - - + + Error : cannot get peer details. Ошибка: не могу получить совокупность деталей. - Use as direct source, when available - Прямой источник, по возможности + Прямой источник, по возможности - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - <html><head/><body><p align="justify">RetroShare периодически проверяет списки файлов ваших друзей на наличие файлов, которые вы загружаете, чтобы установить прямое соединение для передачи. В этом случае ваши доверенные узлы знают, что вы качаете этот файл.</p><p align="justify">Чтобы отключить такое поведение для этого контакта, снимите галочку. Несмотря на это, вы сможете скачать файл напрямую, если укажете это явно, загружая его непосредственно из списка файлов доверенного узла.</p></body></html> + <html><head/><body><p align="justify">RetroShare периодически проверяет списки файлов ваших друзей на наличие файлов, которые вы загружаете, чтобы установить прямое соединение для передачи. В этом случае ваши доверенные узлы знают, что вы качаете этот файл.</p><p align="justify">Чтобы отключить такое поведение для этого контакта, снимите галочку. Несмотря на это, вы сможете скачать файл напрямую, если укажете это явно, загружая его непосредственно из списка файлов доверенного узла.</p></body></html> - + Encryption Шифрование @@ -2447,17 +2486,16 @@ Double click lobbies to enter and chat. адреса участника - Options - Параметры + Параметры - + Retroshare node details Сведения об узле Retroshare - + Node name : Имя узла: @@ -2492,22 +2530,16 @@ Double click lobbies to enter and chat. Сертификат Retroshare - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - Auto-download recommended files from this node - Авто-загрузка рекомендованных файлов с этого узла + Авто-загрузка рекомендованных файлов с этого узла - + Friend node details Сведения об узле друга - + Hidden Address Скрытый адрес @@ -2543,17 +2575,15 @@ Double click lobbies to enter and chat. <p>Вы можете использовать этот сертификат, чтобы завести новых друзей. Отправьте его по электронной почте или передайте лично в руки.</p> - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - <html><head/> <body><p>Пиры, у которых установлен этот параметр не могут подключиться, если их адрес подключения отсутствует в белом списке. Это защищает вас от пересылки трафика. При использовании, отклоненные пиры будут получать сообщения от «пунктов безопасности канала» в разделе Новости. Там, вы можете управлять белым/черным списком их IP.</p></body></html> + <html><head/> <body><p>Пиры, у которых установлен этот параметр не могут подключиться, если их адрес подключения отсутствует в белом списке. Это защищает вас от пересылки трафика. При использовании, отклоненные пиры будут получать сообщения от «пунктов безопасности канала» в разделе Новости. Там, вы можете управлять белым/черным списком их IP.</p></body></html> - Require white list clearance - Требуется разрешение белого списка + Требуется разрешение белого списка - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> <html><head/> <body><p>Это ID узла <span style="font-weight:600;"> OpenSSL</span> сертификат, которого подписан <span style="font-weight:600;"> PGP</span> ключём выше.</p></body></html> @@ -2629,12 +2659,12 @@ Double click lobbies to enter and chat. Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + @@ -2754,7 +2784,7 @@ Double click lobbies to enter and chat. Email - + Email @@ -3181,7 +3211,7 @@ resources. The text below is your Retroshare certificate. You have to provide it to your friend - + @@ -3728,11 +3758,11 @@ even if you don't make friends. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -3791,68 +3821,80 @@ p, li { white-space: pre-wrap; } CreateCircleDialog - + + + + Circle Details Подробности о Круге - - + Name Имя - Creator - Создатель + Создатель - Distribution - Распределение + Распределение - + Public Публичный - Self-Restricted - Само-Ограничение + Само-Ограничение - Restricted to: - Ограниченный до: + Ограниченный до: - Circle Membership - Член Круга + Член Круга - + IDs IDs - Known Identities - Известные Личности + Известные Личности - + Filter Фильтр - + Nickname Ник - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ID @@ -3862,55 +3904,104 @@ p, li { white-space: pre-wrap; } Тип - - - - + + Name: + Имя: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + Частный + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare RetroShare - + Please set a name for your Circle Пожалуйста, установите имя для вашего Круга - Personal Circle Details - Подробности Личного Круга + Подробности Личного Круга - External Circle Details - Подробности Внешнего Круга + Подробности Внешнего Круга - Cannot Edit Existing Circles Yet - Всё ещё Не Можете Редактировать Существующие Круги + Всё ещё Не Можете Редактировать Существующие Круги - + No Restriction Circle Selected Не Выбрано Ограничение Кругов - + No Circle Limitations Selected Не Выбраны Ограничения Кругов - Create New Personal Circle - Создать новый личный круг + Создать новый личный круг - Create New External Circle - Создать новый внешний круг + Создать новый внешний круг - + Add Добавить @@ -3920,13 +4011,13 @@ p, li { white-space: pre-wrap; } Удалить - + Search Поиск - + All Все @@ -3941,49 +4032,98 @@ p, li { white-space: pre-wrap; } Подписано известными узлами - + Edit Circle Редактировать Круг - - + PGP Identity PGP Подлинность - - - + + + Anon Id Анонимный Id + + + Circle name + + + + + Update + + + Close + Закрыть + + + + + Create New Circle + + + + + Create + Создать + + + PGP Linked Id Привязанный Id PGP + + + Add Member + + + + + Remove Member + + CreateGroup - + Create a Group Создать группу - - Group Name - Имя группы + + Group Name: + Имя группы: - + + Group ID: + + + + Group Name + Имя группы + + + Enter a name for your group Введите имя для группы - + + To be defined + + + + Friends Друзья @@ -4017,9 +4157,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -4148,7 +4288,7 @@ p, li { white-space: pre-wrap; } CreateGxsForumMsg - + Post Forum Message Создать сообщение на форуме @@ -4193,12 +4333,12 @@ p, li { white-space: pre-wrap; } Новая тема - + No Forum Нет Форума - + In Reply to В ответ на @@ -4224,9 +4364,19 @@ p, li { white-space: pre-wrap; } Add Extra File Добавить файл + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data Создание массовой информации @@ -4236,12 +4386,12 @@ p, li { white-space: pre-wrap; } Вы действительно хотите создать %1 сообщений? - + Send Отправить - + Forum Message Сообщение в форуме @@ -4503,7 +4653,7 @@ Do you want to reject this message? <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + @@ -4529,7 +4679,7 @@ Do you want to reject this message? No peer found in DHT - + @@ -4784,7 +4934,7 @@ Do you want to reject this message? Copy %1 to clipboard - + @@ -5040,7 +5190,7 @@ Do you want to reject this message? Relays - + @@ -5203,7 +5353,7 @@ Do you want to reject this message? Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. Помнить хэш файлов, даже если нет общего доступа к ним. @@ -5691,7 +5841,7 @@ you plug it in. Показать группы - + Group Группа @@ -5732,7 +5882,7 @@ you plug it in. добавить в группу - + Search Поиск @@ -5742,7 +5892,7 @@ you plug it in. Сортировать по состоянию - + Move to group Переместить в группу @@ -5777,12 +5927,12 @@ you plug it in. Доступен - + Do you want to remove this Friend? Вы хотите удалить этого друга? - + Done! Готово @@ -5830,8 +5980,12 @@ at least one peer was not added to a group + Select file for importing your friendlist from + + + Select file for importing yoour friendlist from - Выберите файл для импорта вашего списка друзей + Выберите файл для импорта вашего списка друзей @@ -5875,7 +6029,7 @@ at least one peer was not added to a group IP - + Attempt to connect Соединиться @@ -5905,7 +6059,7 @@ at least one peer was not added to a group Удалить доверенный узел - + Do you want to remove this node? Вы хотите удалить этот узел? @@ -5915,7 +6069,7 @@ at least one peer was not added to a group Узлы друга - + Send message to whole group Отправить сообщение для всей группы @@ -5978,7 +6132,7 @@ at least one peer was not added to a group Поиск друзей - + Mark all Отметить все @@ -6171,7 +6325,12 @@ anonymous, you can use a fake email. Пароль (еще раз) - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> Прежде чем продолжить, подвигайте мышью чтобы собрать некоторые случайные данные. Необходимо набрать 20%, желательно до 100% @@ -6235,7 +6394,7 @@ anonymous, you can use a fake email. Поле для местоположения должно быть длиной минимум 3 символа - + Failed to generate your new certificate, maybe PGP password is wrong! Не удалось создать ваш новый сертификат. Может быть, введён неправильный пароль PGP! @@ -6269,7 +6428,7 @@ Alternatively you can use an existing profile. Just uncheck "Create a new p - + Create a new profile Создать новый профиль @@ -6320,12 +6479,11 @@ Alternatively you can use an existing profile. Just uncheck "Create a new p <html><head/> <body><p>Это ваш порт подключения</p> <p>Любое значение от 1024 до 65535</p> <p>допустимо. Вы можете изменить его позже.</p></body></html> - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - <html><head/> <body><p>Это Tor Onion адрес вида: xa76giaf6ifda7ri63i263.onion<br/> или адрес I2P в форме: [52символа].b32.i2p</p> <p>Для того, чтобы получить его, вам необходимо настроить Tor для создания новой скрытой службы. Если вы ещё не настроили его, вы можете сделать это позднее в настройках Retroshare -> Сервер -> Панель настройки Tor.</p></body></html> + <html><head/> <body><p>Это Tor Onion адрес вида: xa76giaf6ifda7ri63i263.onion<br/> или адрес I2P в форме: [52символа].b32.i2p</p> <p>Для того, чтобы получить его, вам необходимо настроить Tor для создания новой скрытой службы. Если вы ещё не настроили его, вы можете сделать это позднее в настройках Retroshare -> Сервер -> Панель настройки Tor.</p></body></html> - + PGP key length Длина ключа PGP @@ -6482,12 +6640,12 @@ and use the import button to load it - + Profile generation failure Ошибка генерации профиля - + Missing PGP certificate Отсутствует сертификат PGP @@ -6555,8 +6713,12 @@ Fill in your PGP password when asked, to sign your new key. + Register retroshare:// as URL protocol + + + Register retroshare:// as URL protocol (Restart required) - Зарегистрировать retroshare:// как URL протокол (требуется Перезагрузка) + Зарегистрировать retroshare:// как URL протокол (требуется Перезагрузка) @@ -6564,7 +6726,27 @@ Fill in your PGP password when asked, to sign your new key. Нужно быть администратором чтобы изменить эту опцию. - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle Бездействие @@ -6584,7 +6766,17 @@ Fill in your PGP password when asked, to sign your new key. Запустить мастер настройки - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error Ошибка @@ -6605,7 +6797,7 @@ Fill in your PGP password when asked, to sign your new key. Главное - + Minimize to Tray Icon Сворачиваться в трей @@ -6629,7 +6821,7 @@ Fill in your PGP password when asked, to sign your new key. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> @@ -6662,18 +6854,18 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6685,31 +6877,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6722,7 +6914,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + @@ -6845,7 +7037,7 @@ p, li { white-space: pre-wrap; } Identity Name - + @@ -6864,33 +7056,45 @@ p, li { white-space: pre-wrap; } - Data size - Размер данных + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data size + Размер данных + + + Data hash Хэш данных - Received - Полученные + Полученные - Send - Отправить + Отправить - + Branching factor - + Details - + Подробности @@ -6923,7 +7127,7 @@ p, li { white-space: pre-wrap; } [Unknown identity] - + @@ -6939,6 +7143,14 @@ p, li { white-space: pre-wrap; } Показать групповой чат + + GroupChooser + + + [Unknown] + [Неизвестный] + + GroupDefs @@ -7072,17 +7284,26 @@ p, li { white-space: pre-wrap; } Контакты: - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer Пожалуйста, укажите хотя бы одного участника сети - Share channel admin permissions - Разрешения администратора общего канала + Разрешения администратора общего канала - + Share forum admin permissions Разрешения администратора общего форума @@ -7102,9 +7323,8 @@ p, li { white-space: pre-wrap; } Вы можете разрешить вашим друзьям изменять тему. Выберите их в списке ниже. Примечание: Невозможно отменить разрешения для сообщений администратора. - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - Вы можете разрешить вашим друзьям публикации в вашем канале и редактирование описания. Или вы можете отправить полномочия администратора в другой экземпляр Retroshare. Выберите друзей, которым вы хотите разрешить публикации в этом канале. Примечание: невозможно аннулировать полномочия администратора канала. + Вы можете разрешить вашим друзьям публикации в вашем канале и редактирование описания. Или вы можете отправить полномочия администратора в другой экземпляр Retroshare. Выберите друзей, которым вы хотите разрешить публикации в этом канале. Примечание: невозможно аннулировать полномочия администратора канала. @@ -7147,7 +7367,17 @@ p, li { white-space: pre-wrap; } Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + @@ -7155,12 +7385,11 @@ p, li { white-space: pre-wrap; } Показать - You have admin rights - У вас есть права администратора + У вас есть права администратора - + Subscribe to download and read messages Подпишитесь для загрузки и чтения сообщений @@ -7505,6 +7734,16 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Изменить статус прочитанного сообщения @@ -7515,7 +7754,7 @@ p, li { white-space: pre-wrap; } - + Play Воспроизвести @@ -7552,12 +7791,12 @@ p, li { white-space: pre-wrap; } Удалить объект - + Channel Feed Лента каналов - + Files Файлы @@ -7597,12 +7836,12 @@ p, li { white-space: pre-wrap; } Мне не понравилось - + Loading Загрузка - + Open Открыть @@ -7620,7 +7859,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel Создать сообщение в канале @@ -7635,7 +7874,7 @@ p, li { white-space: pre-wrap; } Поиск каналов - + Title Название @@ -7670,7 +7909,32 @@ p, li { white-space: pre-wrap; } Не выбраны каналы - + + Public + Публичный + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download Отменить автоматическое скачивание @@ -7690,7 +7954,23 @@ p, li { white-space: pre-wrap; } Показать файлы - + + Administrator: + + + + + + unknown + Неизвестно + + + + Distribution: + + + + Feeds Каналы @@ -7700,17 +7980,17 @@ p, li { white-space: pre-wrap; } Файлы - + Subscribers Подписчики - + Description: Описание: - + Posts (at neighbor nodes): Сообщений (соседние узлы): @@ -7834,7 +8114,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -7995,7 +8275,7 @@ before you can comment Форма - + Start new Thread for Selected Forum Начать новую тему в выбранном форуме @@ -8021,7 +8301,7 @@ before you can comment - + Title Название @@ -8034,18 +8314,18 @@ before you can comment - + Author Автор Save image - + - + Loading Загрузка @@ -8170,7 +8450,7 @@ before you can comment This message was obtained from %1 - + @@ -8179,19 +8459,59 @@ before you can comment + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + Публичный + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + Распределение + + + Anti-spam - + @@ -8292,7 +8612,7 @@ before you can comment На %1 %2 написал - + Forum name Название форума @@ -8307,7 +8627,7 @@ before you can comment Сообщений (соседние узлы) - + Description Описание @@ -8317,7 +8637,7 @@ before you can comment По - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> <p>Подписка на форуме будет собирать имеющиеся сообщения от ваших подписанных друзей и делать форум видимым для всех других друзей.</p> <p>Потом, вы сможете отписаться из контекстного меню списка форума слева.</p> @@ -8395,13 +8715,13 @@ before you can comment GxsGroupDialog - - + + Name Имя - + Add Icon Добавить иконку @@ -8416,7 +8736,7 @@ before you can comment Общедоступный Публичный Ключ - + check peers you would like to share private publish key with проверить пиры с которыми вы хотите поделиться приватным ключом @@ -8426,36 +8746,40 @@ before you can comment Поделиться ключом с - - + + Description Описание - + Message Distribution Распределение Сообщений - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public Публичный - - Restricted to Group - Только для Группы + Только для Группы - - + Only For Your Friends Только для Ваших Друзей - + Publish Signatures Публичные подписи @@ -8501,12 +8825,11 @@ before you can comment - Comments Комментарии - + Allow Comments Комментарии Разрешены @@ -8518,71 +8841,107 @@ before you can comment Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + Комментарии: - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + Текстовая метка - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: Контакты: - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name Добавьте имя - + + PGP signature from known ID required + + + + Load Group Logo Загрузить Логотип Группы - + Submit Group Changes Отправить Изменения Группы - + Failed to Prepare Group MetaData - please Review Не удалось Подготовить Метаданные Группы - пожалуйста Проверьте - + Will be used to send feedback Будет использовано для обратной связи @@ -8592,52 +8951,94 @@ before you can comment Владелец: - + Set a descriptive description here Укажите здесь осмысленное описание - + Info Сведения - Comments allowed - Комментарии разрешены + Комментарии разрешены - Comments not allowed - Комментарии не разрешены + Комментарии не разрешены - + ID ID - + Last Post Последнее сообщение + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity Популярность - + Posts Сообщения - Type - Тип + Тип - + Author Автор @@ -8695,7 +9096,12 @@ before you can comment Редактировать Подробности - + + Share publish permissions + + + + Copy RetroShare Link Скопировать ссылку RetroShare @@ -8710,25 +9116,24 @@ before you can comment Отметить все как непрочитанные - + AUTHD Требуется подпись - Share admin permissions - Разрешения администратора + Разрешения администратора GxsIdChooser - + No Signature Без подписи - + Create new Identity Создать новую личность @@ -8736,7 +9141,7 @@ before you can comment GxsIdDetails - + Loading Загрузка @@ -8812,42 +9217,42 @@ before you can comment Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + Неизвестный пир @@ -9082,7 +9487,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9113,7 +9518,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9123,7 +9528,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> @@ -9188,7 +9593,7 @@ p, li { white-space: pre-wrap; } IdDetailsDialog - + Person Details Сведения о личности @@ -9258,13 +9663,13 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9274,7 +9679,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -9392,13 +9797,14 @@ p, li { white-space: pre-wrap; } IdDialog - + + New ID Новый идентификатор - - + + All Все @@ -9414,39 +9820,75 @@ p, li { white-space: pre-wrap; } Поиск - Unknown real name - Неизвестное имя + Неизвестное имя - + Anonymous Id Анонимный идентификатор - + Create new Identity Создать новую личность - - Persons - + + Create new circle + - + + Persons + + + + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + Круги + + + + Circle name + + + + + Membership + Членство + + + + Public Circles + Публичные Круги + + + + Personal Circles + Личные Круги + + + Edit identity Редактировать личность @@ -9467,7 +9909,7 @@ p, li { white-space: pre-wrap; } Запустить удаленный чат с этим пиром - + Owner node ID : ID владельца узла @@ -9477,22 +9919,22 @@ p, li { white-space: pre-wrap; } Псевдоним - + () - + - + Identity ID ID Личности - + Send message Отправить сообщение - + Identity info Информация о личности @@ -9514,10 +9956,10 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> <html><head/><body><p>Среднее мнение об этой личности с соседних нод. Отрицательное — плохо</p><p>Положительное — хорошо. Ноль нейтрален. <p></body></html> @@ -9557,48 +9999,273 @@ p, li { white-space: pre-wrap; } Общая - - Contacts - - - - Owned by you - Владеете Вы + Владеете Вы - + Anonymous Аноним - + ID - + Search ID - + - + This identity is owned by you Эта личность закреплена за Вами - Unknown PGP key - Неизвестный PGP-ключ + Неизвестный PGP-ключ - - Unknown key ID - Неизвестный ID ключа + Неизвестный ID ключа - + + My own identities + + + + + My contacts + + + + + Owned by myself + + + + + Linked to my node + + + + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + Публичный + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + Статус: + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + Неизвестно + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node Личность закреплена за Вами и привязана к Вашему узлу RetroShare @@ -9623,29 +10290,29 @@ p, li { white-space: pre-wrap; } Заблокировано - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + @@ -9660,28 +10327,28 @@ p, li { white-space: pre-wrap; } Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + Спасибо, <br> - - - - + + + + People Участники @@ -9692,12 +10359,11 @@ p, li { white-space: pre-wrap; } Ваш аватар - Linked to your node - Привязан к вашему узлу + Привязан к вашему узлу - + Linked to neighbor nodes Привязан к вашему доверенному @@ -9707,12 +10373,11 @@ p, li { white-space: pre-wrap; } Привязан к удалённому узлу - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Личности</h1> ⇥⇥⇥<p>В этой вкладке Вы можете создавать и редактировать псевдонимные и анонимные личности. ⇥⇥⇥</p> ⇥⇥⇥<p>Личности используются для безопасной идентификации Ваших данных и Вашей деятельности в сети: подписывать сообщения в каналах и форумах сети⇥⇥⇥⇥и получать отклики через встроенный почтовый сервис RetroShare, оставлять комментарии ⇥⇥⇥⇥в каналах и т.п.</p> ⇥⇥⇥<p> ⇥⇥⇥Личности могут подписываться Вашим сертификатом. ⇥⇥⇥Подписанным личностям легче доверять, но при этом облегчается возможность получения IP-адреса Вашего узла. ⇥⇥⇥</p> ⇥⇥⇥<p> ⇥⇥⇥Анонимные личности позволяют Вам анонимно взаимодействовать с другими пользователями. При этом они ⇥⇥⇥не могут быть подменены и никто не может указать, кто в действительности скрывается за личностью. ⇥⇥⇥</p> ⇥⇥⇥ + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Личности</h1> ⇥⇥⇥<p>В этой вкладке Вы можете создавать и редактировать псевдонимные и анонимные личности. ⇥⇥⇥</p> ⇥⇥⇥<p>Личности используются для безопасной идентификации Ваших данных и Вашей деятельности в сети: подписывать сообщения в каналах и форумах сети⇥⇥⇥⇥и получать отклики через встроенный почтовый сервис RetroShare, оставлять комментарии ⇥⇥⇥⇥в каналах и т.п.</p> ⇥⇥⇥<p> ⇥⇥⇥Личности могут подписываться Вашим сертификатом. ⇥⇥⇥Подписанным личностям легче доверять, но при этом облегчается возможность получения IP-адреса Вашего узла. ⇥⇥⇥</p> ⇥⇥⇥<p> ⇥⇥⇥Анонимные личности позволяют Вам анонимно взаимодействовать с другими пользователями. При этом они ⇥⇥⇥не могут быть подменены и никто не может указать, кто в действительности скрывается за личностью. ⇥⇥⇥</p> ⇥⇥⇥ - + Linked to a friend Retroshare node Привязан к вашему доверенному узлу @@ -9727,7 +10392,7 @@ p, li { white-space: pre-wrap; } Привязан к неизвестному узлу - + Chat with this person Начать чат @@ -9747,7 +10412,7 @@ p, li { white-space: pre-wrap; } Последний использованный: - + +50 Known PGP +50 известных PGP @@ -9762,17 +10427,17 @@ p, li { white-space: pre-wrap; } +5 Анонимных Id - + Do you really want to delete this identity? Вы действительно хотите удалить эту личность? - + Owned by Принадлежит ... - + Node name: Имя узла: @@ -9782,7 +10447,7 @@ p, li { white-space: pre-wrap; } ID узла: - + Really delete? Действительно удалить? @@ -9960,25 +10625,25 @@ p, li { white-space: pre-wrap; } - + GXS name: GXS-псевдоним: - - + + PGP name: PGP-псевдоним: - + GXS id: GXS id: - + PGP id: PGP id: @@ -9993,7 +10658,7 @@ p, li { white-space: pre-wrap; } - + Copy Копировать @@ -10029,17 +10694,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -10094,7 +10759,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Add Friend Добавить друга @@ -10110,7 +10775,7 @@ p, li { white-space: pre-wrap; } - + Options Параметры @@ -10144,12 +10809,12 @@ p, li { white-space: pre-wrap; } Помощник быстрого старта - + RetroShare %1 a secure decentralized communication platform RetroShare %1 безопасная децентрализованная коммуникационная платформа - + Unfinished Еще не готово @@ -10267,7 +10932,7 @@ RetroShare безопасно приостановит доступ диска Вы действительно хотите выйти из RetroShare? - + Internal Error Внутренняя ошибка @@ -10312,7 +10977,7 @@ RetroShare безопасно приостановит доступ диска Управление правами доступа - + Add Добавить @@ -10346,7 +11011,7 @@ RetroShare безопасно приостановит доступ диска MessageComposer - + Compose Составить @@ -10448,19 +11113,19 @@ RetroShare безопасно приостановит доступ диска - + Tags Тэги Address list: - + Recommend this friend - + @@ -10570,17 +11235,17 @@ RetroShare безопасно приостановит доступ диска All addresses (mixed) - + All people - + My contacts - + @@ -10608,7 +11273,7 @@ RetroShare безопасно приостановит доступ диска Привет %1,<br><br>%2 хочет быть Вашим другом в сети RetroShare.<br><br>Ответить сейчас:<br>%3<br><br>Благодарим,<br>команда RetroShare - + Save Message Сохранить сообщение @@ -10891,7 +11556,7 @@ Do you want to save message ? Из: - + Friend Nodes Узлы доверенного участника @@ -10941,7 +11606,7 @@ Do you want to save message ? Спасибо, <br> - + Distant identity: Удалённая личность: @@ -10966,22 +11631,22 @@ Do you want to save message ? Everyone - + Contacts - + Контакты Nobody - + Accept encrypted distant messages from - + @@ -11717,7 +12382,7 @@ Do you want to save message ? This message goes to a distant person. - + @@ -11763,7 +12428,7 @@ Do you want to save message ? Мессенджер RetroShare - + Add a Friend Добавить друга @@ -11783,12 +12448,12 @@ Do you want to save message ? Spoiler - + Select text to hide, then push this button - + @@ -12046,7 +12711,7 @@ Do you want to save message ? - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. @@ -12558,7 +13223,7 @@ Reported error: NotifyQt - + PGP key passphrase Парольная фраза PGP @@ -12578,12 +13243,12 @@ Reported error: RetroShare обнаружил незарегистрированное плагин. Это происходит в двух случаях:<UL><LI>Изменился ваш RetroShare исполняемый файл .</LI><LI>Изменился плагин</LI></UL>Нажмите Да, чтобы разрешить этот плагин или Нет, чтобы его запретить. Вы можете изменить свое решение позже в меню Настройки -> Плагины, затем перезапустите RetroShare. - + Please check your system clock. Пожалуйста, проверьте ваши системные часы. - + Examining shared files... Анализ расшаренных файлов @@ -12619,12 +13284,12 @@ Reported error: Шифрованное сообщение - + Please enter your PGP password for key Пожалуйста, введите ваш пароль для ключа PGP - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). Для надлежащей работы чата требуется, чтобы системное время компьютера было точным. Пожалуйста, проверьте его. (Смещение системного времени в несколько минут может нарушить общение с вашими друзьями.) @@ -12661,7 +13326,7 @@ Reported error: - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers @@ -12697,7 +13362,7 @@ Reported error: <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + @@ -12707,7 +13372,7 @@ Reported error: <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + @@ -12747,16 +13412,16 @@ Reported error: <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12766,7 +13431,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12776,7 +13441,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + @@ -12786,7 +13451,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + @@ -12799,15 +13464,76 @@ p, li { white-space: pre-wrap; } ASCII-формат - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures Вставить подписи + + + Options + Параметры + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + Авто-загрузка рекомендованных файлов с этого узла + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + Требуется разрешение белого списка + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details @@ -12815,27 +13541,27 @@ p, li { white-space: pre-wrap; } - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. Ошибка: не могу получить совокупность деталей. - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) Предоставленный алгоритм ключа не поддерживается RetroShare (на данный момент поддерживаются только RSA ключей) - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. Уровень доверия является способом выразить доверие в этом ключе. Он не используется сторонним програмным обеспечением, но может быть полезным для вас, чтобы запомнить хорошие/плохие ключи. @@ -12860,7 +13586,7 @@ p, li { white-space: pre-wrap; } Ваше доверие к этой совокупности нет. - + This key has signed your own PGP key Этот ключ подписан вашим собственным ключом PGP @@ -12881,7 +13607,7 @@ p, li { white-space: pre-wrap; } В настоящее время вы не разрешаете соединения от узлов Retroshare, подписанные этим ключом. - + Signature Failure Ошибка в подписи @@ -12891,7 +13617,7 @@ p, li { white-space: pre-wrap; } Может быть, неправильный пароль - + You haven't set a trust level for this key. Вы не настроили уровень доверия для этого ключа. @@ -13052,15 +13778,15 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People Участники - External - Внешний + Внешний @@ -13073,6 +13799,64 @@ p, li { white-space: pre-wrap; } Internal Внутренний + + + Chat with this person + Начать чат + + + + Chat with this person as... + Инициировать чат с этим человеком от имени... + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + Удалённый чат не может работать + + + + Distant chat refused with this person. + В удалённом чате с этим человеком отказано + + + + Error code + Код ошибки + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + Участники + PhotoCommentItem @@ -13162,7 +13946,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13175,7 +13959,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13188,7 +13972,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13336,7 +14120,7 @@ requesting to edit it! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13618,7 +14402,7 @@ malicious behavior of crafted plugins. Chat remotely closed. Please close this window. - + @@ -13827,7 +14611,7 @@ malicious behavior of crafted plugins. PostedItem - + 0 0 @@ -13838,7 +14622,7 @@ malicious behavior of crafted plugins. - + Comments Комментарии @@ -13873,7 +14657,17 @@ malicious behavior of crafted plugins. Новый - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Изменить статус прочитанного сообщения @@ -13883,7 +14677,7 @@ malicious behavior of crafted plugins. Удалить объект - + Loading Загрузка @@ -14138,7 +14932,7 @@ and use the import button to load it <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> @@ -14355,9 +15149,9 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation Подтверждение @@ -14367,7 +15161,7 @@ p, li { white-space: pre-wrap; } Вы хотите, чтобы эта ссылка была обработана вашей системой? - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. @@ -14376,7 +15170,7 @@ and open the Make Friend Wizard. - + Add file Добавить файл @@ -14396,12 +15190,21 @@ and open the Make Friend Wizard. Хотите ли вы обработать %1 ссылок? - This file already exists. Do you want to open it ? - Такой файл уже существует. Хотите открыть? + Такой файл уже существует. Хотите открыть? - + + Warning: Retroshare is about to ask your system to open this file. + + + + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. %1 из %2 ссылок RetroShare обработана. @@ -14510,6 +15313,21 @@ and open the Make Friend Wizard. Channel messages not found Сообщения в канале не найдены + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + + Recipient not accepted @@ -14553,7 +15371,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Результат - + Unable to make path Невозможно задать путь @@ -14568,7 +15386,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Не удалось обработать файл коллекции - + Deny friend Отказать в дружбе @@ -14588,7 +15406,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Запрос на файл отменён - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. Эта версия RetroShare использует OpenPGP-SDK. В качестве побочного эффекта, она не использует системное публичное PGP хранилище, но имеет свое собственное хранилище, которое используется всеми экземплярами RetroShare. <br><br>Похоже что Вы, не имеете такое хранилище, хотя ключи PGP упоминаются учетными записями RetroShare, вероятно, потому, что вы только что обновились до этой новой версии программного обеспечения. @@ -14599,12 +15417,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - + RetroShare RetroShare - + Initialization failed. Wrong or missing installation of PGP. Ошибка инициализации. Неправильная или отсутствующая установка PGP. @@ -14614,12 +15432,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Произошла непредвиденная ошибка. Пожалуйста сообщите о ' RsInit::InitRetroShare неожиданное возвращение код %1 '. - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. Произошла непредвиденная ошибка. Пожалуйста, сообщите 'RsInit::InitRetroShare unexpected return code %1'. - + Multiple instances Множественные копии @@ -14642,9 +15460,8 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - Start with a RetroShare link is only supported for Windows. - Запуск ссылкой RetroShare поддерживается только на ОС Windows. + Запуск ссылкой RetroShare поддерживается только на ОС Windows. @@ -14673,7 +15490,7 @@ Reported error is: %2 - + Click to send a private message to %1 (%2). Нажмите, чтобы отправить личное сообщение для %1 (%2). @@ -14683,7 +15500,7 @@ Reported error is: %1 (%2, Дополнительный - Источник включен) - + Click this link to send a private message to %1 (%2) Нажмите эту ссылку, чтобы отправить личное сообщение для %1 (%2) @@ -14723,7 +15540,7 @@ Reported error is: Транзитный трафик - + You appear to have nodes associated to DSA keys: Похоже, у вас имеются узлы, привязанные к DSA-ключам: @@ -14764,7 +15581,7 @@ Reported error is: - + %1 seconds ago %1 секунду назад @@ -14828,11 +15645,11 @@ Reported error is: Security: no anonymous IDs - + - - + + This cert is malformed. Error code: Этот сертификат имеет неверный формат. Код ошибки: @@ -14842,7 +15659,7 @@ Security: no anonymous IDs Указанное ниже не добавлено в ваш список закачек, так как эти файлы у вас уже имеются: - + Error Ошибка @@ -14864,12 +15681,12 @@ Security: no anonymous IDs <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14976,10 +15793,10 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Здесь представлены папки, к которым открыт доступ. Вы можете добавлять папки в список или удалять их оттуда, воспользовавшись кнопкой слева. При добавлении папки ко всему её содержимому будет открыт общий доступ.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">Вы можете раздельно устанавливать флаги доступа для каждой папки:</span><span style=" font-size:8pt;"> </span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Доступно друзьям</span><span style=" font-family:'Sans'; font-size:8pt;">: содержимое папки и его структура доступны только прямым друзьям.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Анонимный доступ</span><span style=" font-family:'Sans'; font-size:8pt;">: содержимое папки может быть скачано через систему анонимных туннелей.</span></p></body></html> @@ -15039,9 +15856,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Наслаждайтесь работой с RetroShare!</span></p></body></html> @@ -15050,8 +15867,8 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> @@ -15226,7 +16043,7 @@ p, li { white-space: pre-wrap; } RSettingsWin - + Error Saving Configuration on page Ошибка сохранения настроек на странице @@ -15456,12 +16273,12 @@ p, li { white-space: pre-wrap; } Скачать! - + File Файл - + Size Размер @@ -15478,7 +16295,7 @@ p, li { white-space: pre-wrap; } Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. Некоторые имена файлов или каталогов содержат запрещенные символы. Символы <b>", |, /, \, &lt;&gt;,, *,?</b> будут заменены на «_». @@ -15525,12 +16342,17 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Сохранить - + Collection Editor Редактор Коллекции - + + File Path + + + + File Count Количество Файлов @@ -15540,14 +16362,14 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Это корневой каталог. - - + + Real Size: Waiting child... Действительный размер: Ждите... - - + + Real File Count: Waiting child... Количество реальных файлов: Ждите... @@ -15700,7 +16522,7 @@ If you believe it is correct, remove the corresponding line from the file and re RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? Изображение велико для передачи. @@ -15718,7 +16540,7 @@ Reducing image to %1x%2 pixels? Rshare - + Resets ALL stored RetroShare settings. Сбрасывает ВСЕ сохранённые настройки RetroShare. @@ -15758,7 +16580,7 @@ Reducing image to %1x%2 pixels? Статистика использования RetroShare. - + Unable to open log file '%1': %2 Не получается открыть лог-файл '%1': %2 @@ -15773,12 +16595,12 @@ Reducing image to %1x%2 pixels? Не удалось создать каталог данных: %1 - + Revision Редакция - + Invalid language code specified: Указан недействительный код языка: @@ -15793,6 +16615,15 @@ Reducing image to %1x%2 pixels? Указан недействительный уровень журналирования: + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + + + RttStatistics @@ -16422,7 +17253,7 @@ Reducing image to %1x%2 pixels? If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. Если вы снимите этот флажок, RetroShare может определить ваш IP только при подключении к кому-нибудь. Этот флажок помогает подключаться, когда у вас мало друзей. Он также помогает, если вы находитесь за брандмауэром или VPN. @@ -16555,7 +17386,7 @@ Also check your ports! <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16658,12 +17489,12 @@ Also check your ports! <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + @@ -16673,12 +17504,12 @@ Also check your ports! <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + @@ -16690,8 +17521,8 @@ Also check your ports! Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? Tor Socks Proxy по умолчанию: 127.0.0.1:9050. Задайте в torrc и обновите здесь. @@ -16725,7 +17556,7 @@ I2P Socks Proxy: см. http://127.0.0.1:7657/i2ptunnelmgr для настрой <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + @@ -16747,7 +17578,7 @@ I2P Socks Proxy: см. http://127.0.0.1:7657/i2ptunnelmgr для настрой To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. @@ -17289,7 +18120,7 @@ Select the Friends with which you want to Share your Channel. Lobby - + @@ -17351,7 +18182,7 @@ Select the Friends with which you want to Share your Channel. SplashScreen - + Load profile Загрузка профиля @@ -17422,7 +18253,7 @@ The current identities/locations will not be affected. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17738,7 +18569,7 @@ This choice can be reverted in settings. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17751,7 +18582,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17915,17 +18746,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed Подписка - + Unsubscribe Отменить подписку - + Subscribe Подписаться @@ -18044,11 +18875,11 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> способна передавать данные и поисковые запросы между участниками сети, не обязательно являющимися друзьями. Однако этот трафик передаётся только через подключённых друзей и является анонимным.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">В диалоговом окне раздач для каждой папки по отдельности вы можете установить свои флаги с целью обеспечения:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">обзора папок друзьями</span>: файлы в папках видимы только вашими друзьями.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">анонимного доступа</span>: файлы доступны анонимно через F2F-туннели.</li></ul></body></html> @@ -18115,7 +18946,7 @@ p, li { white-space: pre-wrap; } TransfersDialog - + Downloads Обмен файлами @@ -18126,7 +18957,7 @@ p, li { white-space: pre-wrap; } Передача - + Name i.e: file name @@ -18396,39 +19227,39 @@ p, li { white-space: pre-wrap; } - + Failed Ошибка - - + + Okay OK (Хорошо) - - + + Waiting ожидание - + Downloading Загрузка - + Complete Готово - + Queued В очереди @@ -18448,7 +19279,7 @@ p, li { white-space: pre-wrap; } Неизвестно - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18537,7 +19368,7 @@ Try to be patient! Пожалуйста введите новое--и действительное--имя файла - + Last Time Seen i.e: Last Time Receiced Data Последний раз в сети @@ -18669,7 +19500,7 @@ Try to be patient! Показать Столбец Путь - + Could not delete preview file Не удалось удалить файл предварительного просмотра @@ -18679,7 +19510,7 @@ Try to be patient! Попробуйте еще раз? - + Create Collection... Создание Коллекции... @@ -18699,22 +19530,22 @@ Try to be patient! Коллекция - + File sharing Файлообмен - + Anonymous tunnel 0x Анонимный туннель 0x - + Show file list transfers Показать список передачи файлов - + version: версия: @@ -18873,12 +19704,12 @@ Try to be patient! Anonymous tunnels - + Authenticated tunnels - + @@ -19744,4 +20575,4 @@ Try to be patient! Изображения (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_sl.ts b/retroshare-gui/src/lang/retroshare_sl.ts index 21544db81..627f8120d 100644 --- a/retroshare-gui/src/lang/retroshare_sl.ts +++ b/retroshare-gui/src/lang/retroshare_sl.ts @@ -1,15 +1,17 @@ - + + + AWidget version - + RetroShare version - + @@ -18,42 +20,42 @@ About RetroShare - + About - + Copy Info - + close - + Max score: %1 - + Score: %1 - + Level: %1 - + Have fun ;-) - + @@ -61,7 +63,7 @@ Add Comment - + @@ -69,28 +71,28 @@ File type(extension): - + Use default command - + Command - + RetroShare - + - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file - + @@ -98,27 +100,27 @@ RetroShare: Advanced Search - + Search Criteria - + Add a further search criterion. - + Reset the search criteria. - + Cancels the search. - + @@ -128,12 +130,12 @@ Perform the advanced search. - + Search - + @@ -142,102 +144,102 @@ Create Album - + Album Name: - + Category: - + Animals - + Family - + Friends - + Flowers - + Holiday - + Landscapes - + Pets - + Portraits - + Travel - + Work - + Random - + Caption: - + Where: - + Photographer: - + Description: - + Share Options - + Policy: - + @@ -247,101 +249,101 @@ Comments: - + Identity: - + Public - + Restricted - + Resize Images (< 1Mb) - + Resize Images (< 10Mb) - + Send Original Images - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with Identity - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Back - + Add Photos - + Publish Album - + Untitle Album - + Say something about this album... - + Where were these taken? - + Load Album Thumbnail - + @@ -350,101 +352,101 @@ p, li { white-space: pre-wrap; } Album - + Album Thumbnail - + TextLabel - + Summary - + Album Title: - + Category: - + Caption - + Where: - + When - + Description: - + Share Options - + Comments - + Publish Identity - + Visibility - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Add Photo - + Edit Photo - + Delete Photo - + Publish Photos - + @@ -452,32 +454,32 @@ p, li { white-space: pre-wrap; } Form - + TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + @@ -485,169 +487,169 @@ p, li { white-space: pre-wrap; } Language - + Changes to language will only take effect after restarting RetroShare! - + Choose the language used in RetroShare - + Style - + Choose RetroShare's interface style - + Style Sheet - + Appearance - + Tool Bar - + On Tool Bar - + On List Item - + Where do you want to have the buttons for menu? - + On List Ite&m - + Where do you want to have the buttons for the page? - + Icon Only - + Text Only - + Text Beside Icon - + Text Under Icon - + Choose the style of Tool Buttons. - + Choose the style of List Items. - + Icon Size = 8x8 - + Icon Size = 16x16 - + Icon Size = 24x24 - + Icon Size = 64x64 - + Icon Size = 128x128 - + Status Bar - + Remove surplus text in status bar. - + Compact Mode - + Hide Sound Status - + Hide Toaster Disable - + Show SysTray on Status Bar - + Disable SysTray ToolTip - + Icon Size = 32x32 - + @@ -656,43 +658,43 @@ p, li { white-space: pre-wrap; } RetroShare - + Warning: The services here are experimental. Please help us test them. But Remember: Any data here *WILL* be lost when we upgrade the protocols. - + Identities - + Circles - + GxsForums - + GxsChannels - + The Wire - + Photos - + @@ -700,17 +702,17 @@ p, li { white-space: pre-wrap; } %p Kb - + Cancel Download - + [ERROR]) - + @@ -718,32 +720,32 @@ p, li { white-space: pre-wrap; } Change Avatar - + Your Avatar Picture - + Add Avatar - + Remove - + Set your Avatar picture - + Load Avatar - + @@ -751,15 +753,15 @@ p, li { white-space: pre-wrap; } Click to change your avatar - + BWGraphSource - + KB/s - + @@ -767,7 +769,7 @@ p, li { white-space: pre-wrap; } N/A - + @@ -775,7 +777,7 @@ p, li { white-space: pre-wrap; } RetroShare Bandwidth Usage - + @@ -791,37 +793,37 @@ p, li { white-space: pre-wrap; } Receive Rate - + Send Rate - + Always on Top - + Style - + Changes the transparency of the Bandwidth Graph - + 100 - + % Opaque - + @@ -836,12 +838,12 @@ p, li { white-space: pre-wrap; } Since: - + Hide Settings - + @@ -850,23 +852,23 @@ p, li { white-space: pre-wrap; } Sum - + All - + KB/s - + Count - + @@ -879,72 +881,72 @@ p, li { white-space: pre-wrap; } ID - + In (KB/s) - + InMax (KB/s) - + InQueue - + InAllocated (KB/s) - + Allocated Sent - + Out (KB/s) - + OutMax (KB/s) - + OutQueue - + OutAllowed (KB/s) - + Allowed Recvd - + TOTALS - + Totals - + Form - + @@ -952,42 +954,42 @@ p, li { white-space: pre-wrap; } Form - + Friend: - + Type: - + Vrsta: Up - + Down - + Service: - + Unit: - + Log scale - + @@ -995,27 +997,27 @@ p, li { white-space: pre-wrap; } Channels - + Tabs - + General - + Load posts in background (Thread) - + Open each channel in a new tab - + @@ -1023,155 +1025,160 @@ p, li { white-space: pre-wrap; } Participants - + Change nick name - + Mute participant - + + + + + Ban this person (Sets negative opinion) + Send Message - + Sort by Name - + Sort by Activity - + - + Invite friends to this lobby - + Leave this lobby (Unsubscribe) - + Invite friends - + Select friends to invite: - + - + Welcome to lobby %1 - + Topic: %1 - + Lobby chat - + - + Lobby management - + %1 has left the lobby. - + %1 joined the lobby. - + %1 changed his name to: %2 - + Unsubscribe to lobby - + Do you want to unsubscribe to this chat lobby? - + Right click to mute/unmute participants<br/>Double click to address this person<br/> - + This participant is not active since: - + seconds - + - + Start private chat - + - + Decryption failed. - + Signature mismatch - + Unknown key - + Unknown hash - + Unknown error. - + Cannot start distant chat - + Distant chat cannot be initiated: - + @@ -1179,7 +1186,7 @@ p, li { white-space: pre-wrap; } Show Chat Lobby - + @@ -1187,49 +1194,49 @@ p, li { white-space: pre-wrap; } Chat Lobbies - + You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + Unknown Lobby - + Remove All - + ChatLobbyWidget - + Chat lobbies - + - + Name Ime @@ -1237,104 +1244,104 @@ p, li { white-space: pre-wrap; } Count - + Topic - + Private Lobbies - + Public Lobbies - + Create chat lobby - + [No topic provided] - + - + Selected lobby info - + Private - + Public - + Anonymous IDs accepted - + You're not subscribed to this lobby; Double click-it to enter and chat. - + Remove Auto Subscribe - + Add Auto Subscribe - + %1 invites you to chat lobby named %2 - + - + Search Chat lobbies - + Search Name - + Subscribed - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + Columns - + @@ -1347,19 +1354,19 @@ p, li { white-space: pre-wrap; } Ne - + Lobby Name: - + Lobby Id: - + Topic: - + @@ -1369,12 +1376,12 @@ p, li { white-space: pre-wrap; } Security: - + Peers: - + @@ -1384,93 +1391,93 @@ p, li { white-space: pre-wrap; } TextLabel - + No lobby selected. Select lobbies at left to show details. Double click lobbies to enter and chat. - + Private Subscribed Lobbies - + Public Subscribed Lobbies - + Chat Lobbies - + Leave this lobby - + Enter this lobby - + Enter this lobby as... - + Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + You will need to create an identity in order to join chat lobbies. - + Choose an identity for this lobby: - + Create an identity and enter this lobby - + Show - + Pokaži column - + @@ -1478,33 +1485,33 @@ Double click lobbies to enter and chat. Remove Item - + Write a quick Message - + Send Mail - + Write Message - + Start Chat - + Send - + @@ -1512,167 +1519,172 @@ Double click lobbies to enter and chat. Prekliči - + Quick Message - + ChatPage - + General - + - + Distant Chat - + Everyone - + Contacts - + Nobody - + Accept encrypted distant chat from - + Chat Settings - + Enable Emoticons Private Chat - + Enable Emoticons Group Chat - + Enable custom fonts - + Enable custom font size - + Minimum font size - + Enable bold - + Enable italics - + Minimum text contrast - + Send message with Ctrl+Return - + + + + + Send as plain text by default + Chat Lobby - + Blink tab icon - + Private Chat - + Open Window for new chat - + Grab Focus when chat arrives - + Use a single tabbed window - + Blink window/tab icon - + Chat Font - + Change Chat Font - + Chat Font: - + History - + Style - + Group chat - + Variant - + @@ -1686,108 +1698,108 @@ Double click lobbies to enter and chat. Description: - + Private chat - + Incoming - + Outgoing - + - + Incoming message in history - + Outgoing message in history - + Incoming message - + Outgoing message - + Outgoing offline message - + System - + System message - + UserName - + /me is sending a message with /me - + Chat - + <html><head/><body><p align="justify">In this tab you can setup how many chat messages Retroshare will keep saved on the disc and how much of the previous conversation it will display, for the different chat systems. The max storage period allows to discard old messages and prevents the chat history from filling up with volatile chat (e.g. chat lobbies and distant chat).</p></body></html> - + Chatlobbies - + Enabled: - + Saved messages (0 = unlimited): - + Number of messages restored (0 = off): - + Maximum storage period, in days (0=keep all): - + Search by default - + @@ -1797,100 +1809,100 @@ Double click lobbies to enter and chat. Whole Words - + Move to cursor - + Color All Text Found - + Color of found text - + Choose color of found text - + Maximum count for coloring matching text - + Threshold for automatic search - + Default identity for chat lobbies: - + Show Bar by default - + - + Private chat invite from - + Name : - + PGP id : - + Valid until : - + ChatStyle - + Standard style for group chat - + Compact style for group chat - + Standard style for private chat - + Compact style for private chat - + Standard style for history - + Compact style for history - + @@ -1898,7 +1910,7 @@ Double click lobbies to enter and chat. Show Chat - + @@ -1906,7 +1918,7 @@ Double click lobbies to enter and chat. Private Chat - + @@ -1914,281 +1926,289 @@ Double click lobbies to enter and chat. Close - + - + Send - + - + Bold - + Underline - + Italic - + - + Attach a Picture - + - + Strike - + Clear Chat History - + Disable Emoticons - + Save Chat History - + Browse Message History - + Browse History - + Delete Chat History - + Deletes all stored and displayed chat history - + Choose font - + Reset font to default - + - + Quote - + Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... - + - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? - + - + Add Extra File - + Load Picture File - + Save as... - + Text File (*.txt );;All Files (*) - + appears to be Offline. - + Messages you send will be delivered after Friend is again Online - + is Idle and may not reply - + is Away and may not reply - + is Busy and may not reply - + - + Find Case Sensitively - + Find Whole Words - + Move To Cursor - + Don't stop to color after X items found (need more CPU) - + - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> - + <b>Find Next </b><br/><i>Ctrl+G</i> - + <b>Find </b><br/><i>Ctrl+F</i> - + - + (Status) - + - + Set text font & color - + Attach a File - + - + WARNING: Could take a long time on big history. - + Choose color - + - + <b>Mark this selected text</b><br><i>Ctrl+M</i> - + - - %1This message consists of %2 characters. - - - - + items found. - + No items found. - + <b>Return to marked text</b><br><i>Ctrl+M</i> - + - - Display Search Box - - - - - Search Box - - - - + Type a message here - + - + Don't stop to color after - + items found (need more CPU) - - - - - Warning: - + @@ -2196,25 +2216,25 @@ Double click lobbies to enter and chat. TextLabel - + Empty Circle - + CirclesDialog - + Showing details: - + Membership - + @@ -2225,23 +2245,23 @@ Double click lobbies to enter and chat. IDs - + - + Personal Circles - + Public Circles - + Peers - + @@ -2251,244 +2271,228 @@ Double click lobbies to enter and chat. ID - + - + Friends - + Friends of Friends - + Others - + Permissions - + Anon Transfers - + Discovery - + Share Category - + Create Personal Circle - + Create External Circle - + Edit Circle - + Todo - + Friends Of Friends - + - + External Circles (Admin) - + External Circles (Subscribed) - + External Circles (Other) - + Circles - + ConfCertDialog - + Details - + Node info - + Peer Address - + - + Local Address - + External Address - + Dynamic DNS - + Port - + Addresses list - + - + + Use this certificate to make friends: + + + + Include signatures - + - - + + RetroShare - + - - + + Error : cannot get peer details. - + - - Use as direct source, when available - - - - - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - - - - + Encryption - + Not connected - + Peer Addresses - + - Options - Možnosti + Možnosti - + Retroshare node details - + - + Node name : - + Status : - + Last Contact : - + Retroshare version : - + Node ID : - + PGP key : - + Retroshare Certificate - + - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + @@ -2499,57 +2503,47 @@ Double click lobbies to enter and chat. <p>This certificate contains: - + <li>a <b>node ID</b> and <b>name</b> - + an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + <p>You can use this certificate to make new friends. Send it by email, or give it hand to hand.</p> - + - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + with - + external signatures</li> - + @@ -2557,228 +2551,228 @@ Double click lobbies to enter and chat. Connect Friend Wizard - + Add a new Friend - + &You get a certificate file from your friend - + &Make friend with selected friends of my friends - + Text certificate - + Use text representation of the PGP certificates. - + Include signatures - + Copy your Cert to Clipboard - + Save your Cert into a File - + Run Email program - + Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + Certificate files - + Use PGP certificates saved in files. - + Import friend's certificate... - + You have to generate a file with your certificate and give it to your friend. Also, you can use a file generated before. - + Export my certificate... - + Drag and Drop your friends's certificate in this Window or specify path in the box below - + Browse - + Friends of friends - + Select now who you want to make friends with. - + Show me: - + Make friend with these peers - + RetroShare ID - + Use RetroShare ID for adding a Friend which is available in your network. - + Add Friends RetroShare ID... - + Paste Friends RetroShare ID in the box below - + Enter the RetroShare ID of your Friend, e.g. Peer@BDE8D16A46D938CF - + RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + GMail - + Yahoo - + Outlook - + AOL - + Yandex - + Email - + Invite Friends by Email - + Enter your friends' email addresses (separate each one with a semicolon) - + Your friends' email addresses: - + Enter Friends Email addresses - + Subject: - + Friend request - + Details about the request - + Peer details - + @@ -2790,23 +2784,23 @@ Double click lobbies to enter and chat. Email: - + Node: - + Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + Location: - + @@ -2818,194 +2812,194 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + Add friend to group: - + Authenticate friend (Sign PGP Key) - + Add as friend to connect with - + To accept the Friend Request, click the Finish button. - + Sorry, some error appeared - + Here is the error message: - + Make Friend - + Details about your friend: - + Key validity: - + Signers - + This peer is already on your friend list. Adding it might just set it's ip address. - + Abnormal size read is bigger than memory block. - + Invalid external IP. - + Invalid local IP. - + Invalid checksum section. - + Checksum mismatch. Certificate is corrupted. - + Unknown section type found (Certificate might be corrupted). - + Missing checksum. - + Unknown certificate error - + Certificate Load Failed - + Cannot get peer details of PGP key %1 - + Any peer I've not signed - + Friends of my friends who already trust me - + Signed peers showing as denied - + Peer name - + Also signed by - + Peer id - + RetroShare Invitation - + Ultimate - + Full - + Marginal - + @@ -3015,186 +3009,186 @@ resources. No Trust - + You have a friend request from - + Certificate Load Failed:file %1 not found - + This Peer %1 is not available in your Network - + Use new certificate format (safer, more robust) - + Use old (backward compatible) certificate format - + Remove signatures - + RetroShare Invite - + No or misspelled BEGIN tag found - + No or misspelled END tag found - + No checksum found (the last 5 chars should be separated by a '=' char), or no newline after tag line (e.g. line beginning with Version:) - + Unknown error. Your cert is probably not even a certificate. - + Connect Friend Help - + You can copy this text and send it to your friend via email or some other way - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + Save as... - + RetroShare Certificate (*.rsc );;All Files (*) - + Select Certificate - + Sorry, create certificate failed - + Please choose a filename - + Certificate file successfully created - + Sorry, certificate file creation failed - + *** None *** - + Use as direct source, when available - + IP-Addr: - + IP-Address - + Recommend many friends to each others - + Friend Recommendations - + The text below is your Retroshare certificate. You have to provide it to your friend - + Message: - + Recommend friends - + To - + Please select at least one friend for recommendation. - + Please select at least one friend as recipient. - + Add key to keyring - + This key is already in your keyring - + @@ -3202,69 +3196,69 @@ resources. This might be useful for sending distant messages to this peer even if you don't make friends. - + Certificate has wrong version number. Remember that v0.6 and v0.5 networks are incompatible. - + Invalid node id. - + Auto-download recommended files - + Can be used as direct source - + Require whitelist clearance to connect - + Add IP to whitelist - + No IP in this certificate! - + <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + Added with certificate from %1 - + Paste Cert of your friend from Clipboard - + Certificate Load Failed:can't read from file %1 - + Certificate Load Failed:something is wrong with %1 - + @@ -3272,228 +3266,228 @@ even if you don't make friends. Connection Progress - + Connecting to: - + TextLabel - + Network - + Net Result - + Connect Status - + Contact Result - + DHT Startup - + DHT Result - + Peer Lookup - + Peer Result - + UDP Setup - + UDP Result - + Connection Assistant - + Invalid Peer ID - + Unknown State - + Offline - + Behind Symmetric NAT - + Behind NAT & No DHT - + NET Restart - + Behind NAT - + No DHT - + NET STATE GOOD! - + DHT Failed - + DHT Disabled - + DHT Okay - + Finding RS Peers - + Lookup requires DHT - + Searching DHT - + Lookup Timeout - + Peer DHT NOT ACTIVE - + Lookup Failure - + Peer Offline - + Peer Firewalled - + Peer Online - + Connection In Progress - + Initial connections can take a while, please be patient - + If an error is detected it will be displayed here - + You can close this dialog at any time - + Retroshare will continue connecting in the background - + Connection Timeout - + Connection Attempt has taken too long - + But no error has been detected - + Try again shortly, Retroshare will continue connecting in the background - + @@ -3502,214 +3496,214 @@ even if you don't make friends. If you continue to get this message, please contact developers - + DHT Lookup Timeout - + DHT Lookup has taken too long - + UDP Connection Timeout - + UDP Connection has taken too long - + UDP Connection Failed - + We are continually working to improve connectivity. - + In this case the UDP connection attempt has failed. - + Improve connectivity by opening a Port in your Firewall. - + Connected - + Congratulations, you are connected - + DHT startup Failed - + Your DHT has not started properly - + Common causes of this problem are: - + - You are not connected to the Internet - + - You have a missing or out-of-date DHT bootstrap file (bdboot.txt) - + DHT is Disabled - + The DHT is OFF, so Retroshare cannot find your Friends. - + Retroshare has tried All Known Addresses, with no success - + The DHT is needed if your friends have Dynamic IP Addresses. - + Go to Settings->Server and change config to "Public: DHT and Discovery" - + Peer Denied Connection - + We successfully reached your Friend. - + but they have not added you as a Friend. - + Please contact them to add your Certificate - + Your Retroshare Node is configured Okay - + We successfully reached your Friend via UDP. - + Please contact them to add your Full Certificate - + We Cannot find your Friend. - + They are either offline or their DHT is Off - + Peer DHT is Disabled - + Your Friend has configured Retroshare with DHT Disabled. - + You have previously connected to this Friend - + Retroshare has determined that they have DHT switched off - + Without the DHT it is hard for Retroshare to locate your friend - + Try importing a fresh Certificate to get up-to-date connection information - + Incomplete Friend Details - + You have imported an incomplete Certificate - + Please retry importing the full Certificate - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> - + @@ -3717,248 +3711,314 @@ p, li { white-space: pre-wrap; } N/A - + UNVERIFIABLE FORWARD! - + UNVERIFIABLE FORWARD & NO DHT - + Searching - + UDP Connect Timeout - + Only Advanced Retroshare users should switch off the DHT. - + Retroshare cannot connect without this information - + They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details - + - - + Name Ime - - Creator - - - - - Distribution - - - - + Public - + - - Self-Restricted - - - - - Restricted to: - - - - - Circle Membership - - - - + IDs - + - - Known Identities - - - - + Filter - + - + Nickname - + - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID - + Type - + - - - - + + Name: + Ime: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare - + - + Please set a name for your Circle - + - - Personal Circle Details - - - - - External Circle Details - - - - - Cannot Edit Existing Circles Yet - - - - + No Restriction Circle Selected - + - + No Circle Limitations Selected - + - - Create New Personal Circle - - - - - Create New External Circle - - - - + Add Dodaj Remove - + - + Search - + - + All - + Signed - + Signed by known nodes - + - + Edit Circle - + - - + PGP Identity - + - - - + + + Anon Id - + + + + + Circle name + + + + + Update + + Close + + + + + + Create New Circle + + + + + Create + + + + PGP Linked Id - + + + + + Add Member + + + + + Remove Member + CreateGroup - + Create a Group - + + + + + Group Name: + + + + + Group ID: + - Group Name - Ime + Ime - + Enter a name for your group - + - + + To be defined + + + + Friends - + Edit Group - + @@ -3967,260 +4027,270 @@ p, li { white-space: pre-wrap; } New Channel Post - + Channel Post - + Channel Post to: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> - + Add File to Attach - + Add Channel Thumbnail - + Message - + Subject : - + Attachments - + Allow channels to get frame for message thumbnail from movie media attachments or not - + Auto Thumbnail - + Drag and Drop Files from Search Results - + Paste RetroShare Links - + Paste RetroShare Link - + Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + Add Extra File - + RetroShare - + File already Added and Hashed - + Please add a Subject - + Load thumbnail picture - + Generate mass data - + Do you really want to generate %1 messages ? - + You are about to add files you're not actually sharing. Do you still want this to happen? - + About to post un-owned files to a channel. - + CreateGxsForumMsg - + Post Forum Message - + Forum - + Subject - + Attach File - + Sign Message - + Forum Post - + Attach files via drag and drop - + You can attach files via drag and drop here in this window - + Start New Thread - + - + No Forum - + - + In Reply to - + RetroShare - + Please set a Forum Subject and Forum Message - + Please choose Signing Id, it is required - + Add Extra File - + + + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + - + Generate mass data - + Do you really want to generate %1 messages ? - + - + Send - + - + Forum Message - + Forum Message has not been Sent. Do you want to reject this message? - + Post as - + Congrats, you found a bug! - + @@ -4229,82 +4299,82 @@ Do you want to reject this message? Create Chat Lobby - + A chat lobby is a decentralized and anonymous chat group. All participants receive all messages. Once the lobby is created you can invite other friends from the Friends tab. - + Lobby name: - + Lobby topic: - + Visibility: - + Public (Visible by friends) - + Private (Works on invitation only) - + <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + Security: - + Select the Friends with which you want to group chat. - + Invited friends - + Put a sensible lobby name here - + Set a descriptive topic here - + Contacts: - + Identity to use: - + @@ -4312,7 +4382,7 @@ Do you want to reject this message? Public Information - + @@ -4322,127 +4392,127 @@ Do you want to reject this message? Location: - + Location ID: - + Software Version: - + Online since: - + Other Information - + Certificate - + Include signatures - + Save Key into a file - + A RetroShare link with your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + Error - + Your certificate could not be parsed correctly. Please contact the developers. - + RetroShare - + Your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + Save as... - + RetroShare Certificate (*.rsc );;All Files (*) - + TextLabel - + PGP fingerprint: - + Node information - + PGP Id : - + Friend nodes: - + Copy certificate to clipboard - + Save certificate to file - + Node - + Create new node... - + show statistics window - + @@ -4450,7 +4520,7 @@ Do you want to reject this message? users - + @@ -4458,38 +4528,38 @@ Do you want to reject this message? DHT - + <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + DHT Off - + DHT Searching for RetroShare Peers - + RetroShare users in DHT (Total DHT users) - + DHT Good - + No peer found in DHT - + @@ -4497,27 +4567,27 @@ Do you want to reject this message? B - + KB - + MB - + GB - + File Never Seen - + @@ -4525,62 +4595,62 @@ Do you want to reject this message? Details - + General - + Done - + Active - + Outstanding - + Needs checking - + retroshare link(s) - + retroshare link - + Copy link to clipboard - + Rating - + Comments - + File Name - + @@ -4588,32 +4658,32 @@ Do you want to reject this message? Net Status - + Connect Options - + Network Mode - + Nat Type - + Nat Hole - + Peer Address - + @@ -4623,83 +4693,83 @@ Do you want to reject this message? PeerId - + DHT Status - + ConnectLogic - + Connect Status - + Connect Mode - + Request Status - + Cb Status - + RsId - + Bucket - + IP:Port - + Key - + Status Flags - + Found - + Last Sent - + Last Recv - + Relay Mode - + @@ -4709,7 +4779,7 @@ Do you want to reject this message? Proxy - + @@ -4719,202 +4789,202 @@ Do you want to reject this message? Class - + Age - + Bandwidth - + IP - + Search IP - + Copy %1 to clipboard - + Unknown NetState - + Offline - + Local Net - + Behind NAT - + External IP - + UNKNOWN NAT STATE - + SYMMETRIC NAT - + DETERMINISTIC SYM NAT - + RESTRICTED CONE NAT - + FULL CONE NAT - + OTHER NAT - + NO NAT - + UNKNOWN NAT HOLE STATUS - + NO NAT HOLE - + UPNP FORWARD - + NATPMP FORWARD - + MANUAL FORWARD - + NET BAD: Unknown State - + NET BAD: Offline - + NET BAD: Behind Symmetric NAT - + NET BAD: Behind NAT & No DHT - + NET WARNING: NET Restart - + NET WARNING: Behind NAT - + NET WARNING: No DHT - + NET STATE GOOD! - + CAUTION: UNVERIFIABLE FORWARD! - + CAUTION: UNVERIFIABLE FORWARD & NO DHT - + Not Active (Maybe Connected!) - + Searching - + Failed - + offline - + Unreachable - + ONLINE - + Direct - + @@ -4924,43 +4994,43 @@ Do you want to reject this message? Disconnected - + Udp Started - + Connected - + Request Active - + No Request - + Unknown - + RELAY END - + Yourself - + @@ -4971,17 +5041,17 @@ Do you want to reject this message? unlimited - + Own Relay - + RELAY PROXY - + @@ -4990,27 +5060,27 @@ Do you want to reject this message? %1 secs ago - + %1B/s - + Relays - + 0x%1 EX:0x%2 - + never - + @@ -5018,113 +5088,113 @@ Do you want to reject this message? DHT - + Net Status: - + Network Mode: - + Nat Type: - + Nat Hole: - + Connect Mode: - + Peer Address: - + Unreach: - + Online: - + Offline: - + DHT Peers: - + Disconnected: - + Direct: - + Proxy: - + Relay: - + Filter: - + Search Network - + Peers - + Relay - + DHT Graph - + Proxy VIA - + Relay VIA - + @@ -5132,98 +5202,98 @@ Do you want to reject this message? Incoming Directory - + Browse - + Partials Directory - + Shared Directories - + Automatically share incoming directory (Recommended) - + Edit Share - + Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. - + Remember hashed files for - + days - + Forget any hashed file that is not anymore shared. - + Clean Hash Cache - + Auto-check shared directories every - + minute(s) - + Cache cleaning confirmation - + This will forget any former hash of non shared files. Do you confirm ? - + Set Incoming Directory - + Set Partials Directory - + Directories - + @@ -5231,12 +5301,12 @@ you plug it in. Waiting outgoing discovery operations - + Waiting incoming discovery operations - + @@ -5244,7 +5314,7 @@ you plug it in. Start file - + @@ -5254,36 +5324,36 @@ you plug it in. to - + ignore case - + dd.MM.yyyy - + KB - + MB - + GB - + @@ -5291,12 +5361,12 @@ you plug it in. Expression Widget - + Delete this expression - + @@ -5304,52 +5374,52 @@ you plug it in. &New - + Add new Association - + &Edit - + Edit this Association - + &Remove - + Remove this Association - + File type - + Friend Help - + You this - + Associations - + @@ -5357,47 +5427,47 @@ you plug it in. Chunk map - + Active chunks - + Availability map (%1 active source) - + Availability map (%1 active sources) - + File info - + File name - + Destination folder - + File hash - + File size - + @@ -5405,52 +5475,52 @@ you plug it in. bytes - + Chunk size - + Number of chunks - + Transferred - + Remaining - + Number of sources - + Chunk strategy - + Transfer type - + Anonymous F2F - + Direct friend transfer / Availability assumed - + @@ -5458,73 +5528,73 @@ you plug it in. Picture - + Video - + Audio - + Archive - + Program - + CD/DVD-Image - + Document - + RetroShare collection file - + Subtitles - + Nintendo DS Rom - + Patch - + C++ - + Header - + C - + @@ -5532,37 +5602,37 @@ you plug it in. Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + Directory - + @@ -5570,37 +5640,37 @@ you plug it in. Misc - + Set message to read on activate - + Expand new messages - + Forum - + Load embedded images - + Tabs - + Open each forum in a new tab - + @@ -5608,283 +5678,283 @@ you plug it in. Last Contact - + Hide Offline Friends - + export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + Show State - + Show Groups - + - + Group - + Friend - + Edit Group - + Remove Group - + Chat - + Recommend this Friend to... - + Copy certificate link - + Add to group - + - + Search - + Sort by state - + - + Move to group - + Groups - + Remove from group - + Remove from all groups - + Expand all - + Collapse all - + Available - + - + Do you want to remove this Friend? - + - + Done! - + Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + Error - + Failed to get a file! - + File is not writeable! - + File is not readable! - + IP - + - + Attempt to connect - + Create new group - + Display - + Paste certificate link - + Node - + Remove Friend Node - + - + Do you want to remove this node? - + Friend nodes - + - + Send message to whole group - + Details - + Deny - + Send message - + @@ -5892,17 +5962,17 @@ at least one peer was not added to a group Confirm Friend Request - + wants to be friend with you on RetroShare - + Unknown (Incoming) Connect Attempt - + @@ -5910,12 +5980,12 @@ at least one peer was not added to a group Search : - + Sort by state - + @@ -5925,17 +5995,17 @@ at least one peer was not added to a group Search Friends - + - + Mark all - + Mark none - + @@ -5943,122 +6013,122 @@ at least one peer was not added to a group Edit status message - + Broadcast - + Clear Chat History - + Add Friend - + Add your Avatar Picture - + A - + Set your status message - + Edit your status message - + Browse Message History - + Browse History - + Save Chat History - + Add a new Group - + Delete Chat History - + Deletes all stored and displayed chat history - + Create new Chat lobby - + Choose Font - + Reset font to default - + Keyring - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + Retroshare broadcast chat: messages are sent to all connected friends. - + Network - + Network graph - + Set your status message here. - + @@ -6066,7 +6136,7 @@ at least one peer was not added to a group Create new Profile - + @@ -6076,295 +6146,295 @@ at least one peer was not added to a group Enter your nickname here - + Email - + Be careful: this email will be visible to your friends and friends of your friends. This information is required by PGP, but to stay anonymous, you can use a fake email. - + Password - + [Optional] Visible to your friends, and friends of friends. - + [Required] Examples: Home, Laptop,... - + [Required] Visible to your friends, and friends of friends. - + All fields are required with a minimum of 3 characters - + Password (check) - + - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> - + [Required] Type the same password again here. - + Passwords do not match - + Port - + This password is for PGP - + Node - + Create new node - + Generate new node - + Create a new node - + You can use it now to create a new node. - + Invalid hidden node - + Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile - + Import new profile - + Export selected profile - + Advanced options - + Create a hidden node - + Use profile - + hidden address - + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + Create new profile - + Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + Export profile - + RetroShare profile files (*.asc) - + Profile saved - + @@ -6373,77 +6443,77 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + Import profile - + Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6451,103 +6521,133 @@ Fill in your PGP password when asked, to sign your new key. Startup - + Start RetroShare when my system starts - + Start minimized - + Start minimized on system start - + For Advanced Users - + Enable Advanced Mode (Restart Required) - + Misc - + Do not show the Quit RetroShare MessageBox - + Auto Login - + - Register retroshare:// as URL protocol (Restart required) - + Register retroshare:// as URL protocol + You need administrator rights to change this option. - + - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle - + Idle Time - + seconds - + Launch startup wizard - + - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error - + Could not add retroshare:// as protocol. - + Could not remove retroshare:// protocol. - + General - + - + Minimize to Tray Icon - + @@ -6556,55 +6656,55 @@ Fill in your PGP password when asked, to sign your new key. Getting Started - + Invite Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be sure to get their invitation back as well... </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can only connect with friends if you have both added each other.</span></p></body></html> - + Add Your Friends to RetroShare - + Add Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6616,31 +6716,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6653,107 +6753,107 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + Connect To Friends - + Advanced: Open Firewall Port - + Further Help and Support - + Open RS Website - + Open FAQ Wiki - + Open Online Forums - + Email Support - + Email Feedback - + RetroShare Invitation - + Your friend has installed RetroShare, and would like you to try it out. - + You can get RetroShare here: %1 - + RetroShare is a private Friend-2-Friend sharing network. - + forums and channels, all of which are as secure as the file-sharing. - + Here is your friends ID Certificate. - + Cut and paste the text below into your RetroShare client - + and send them your ID Certificate to get securely connected. - + Cut Below Here - + RetroShare Feedback - + RetroShare Support - + It has many features, including built-in chat, messaging, - + @@ -6761,82 +6861,82 @@ p, li { white-space: pre-wrap; } Router Statistics - + GroupBox - + ID - + Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + Unknown Peer - + Pending packets - + Unknown - + @@ -6844,22 +6944,22 @@ p, li { white-space: pre-wrap; } Managed keys - + Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6867,7 +6967,15 @@ p, li { white-space: pre-wrap; } Show Group Chat - + + + + + GroupChooser + + + [Unknown] + @@ -6875,27 +6983,27 @@ p, li { white-space: pre-wrap; } Friends - + Family - + Co-Workers - + Other Contacts - + Favorites - + @@ -6903,78 +7011,78 @@ p, li { white-space: pre-wrap; } Directory is browsable for friends from groups - + Directory is NOT browsable for friends from groups - + Directory is accessible by anonymous tunnels from friends from groups - + Directory is NOT accessible by anonymous tunnels from friends from groups - + Directory is browsable for any friend - + Directory is NOT browsable for any friend - + Directory is accessible by anonymous tunnels from any friend - + Directory is NOT accessible by anonymous tunnels from any friend - + No one can browse this directory - + No one can anonymously access this directory. - + All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -6982,12 +7090,12 @@ p, li { white-space: pre-wrap; } Form - + Hide tabbar with one open tab - + @@ -6995,47 +7103,47 @@ p, li { white-space: pre-wrap; } Share - + Contacts: - + - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer - + - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7043,57 +7151,62 @@ p, li { white-space: pre-wrap; } Title - + Search Title - + Description - + Search Description - + Sort by Name - + Sort by Popularity - + Sort by Last Post - + Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + Display - + - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7101,17 +7214,17 @@ p, li { white-space: pre-wrap; } and - + and / or - + or - + @@ -7126,72 +7239,72 @@ p, li { white-space: pre-wrap; } Extension - + Hash - + Date - + Size - + Popularity - + contains - + contains all - + is - + less than - + less than or equal - + equals - + greater than or equal - + greater than - + is in range - + @@ -7200,68 +7313,68 @@ p, li { white-space: pre-wrap; } Channels - + Create Channel - + Enable Auto-Download - + My Channels - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + Subscribed Channels - + Popular Channels - + Other Channels - + Select channel download directory - + Disable Auto-Download - + Set download directory - + [Default directory] - + Specify... - + @@ -7269,52 +7382,52 @@ p, li { white-space: pre-wrap; } Form - + Download - + TextLabel - + Open folder - + Error - + Paused - + Waiting - + Checking - + Are you sure that you want to cancel and delete the file? - + Can't open folder - + @@ -7322,27 +7435,27 @@ p, li { white-space: pre-wrap; } Form - + Filename - + Size - + Title - + Published - + @@ -7355,37 +7468,37 @@ p, li { white-space: pre-wrap; } Create New Channel - + Channel - + Edit Channel - + Add Channel Admins - + Select Channel Admins - + Update Channel - + Create - + @@ -7393,257 +7506,308 @@ p, li { white-space: pre-wrap; } Copy RetroShare Link - + Subscribe to Channel - + Expand - + Remove Item - + Channel Description - + Loading - + New Channel - + Hide - + GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status - + Download - + - + Play - + Comments - + Copy RetroShare Link - + Unsubscribe From Channel - + Expand - + Set as read and remove item - + Remove Item - + - + Channel Feed - + - + Files - + Warning! You have less than %1 hours and %2 minute before this file is deleted Consider saving it. - + Hide - + New - + 0 - + Comment - + I like this - + I dislike this - + - + Loading - + - + Open Odpri Open File - + Play Media - + GxsChannelPostsWidget - + Post to Channel - + Loading - + Search channels - + - + Title - + Search Title - + Message - + Search Message - + Filename - + Search Filename - + No Channel Selected - + - + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download - + Enable Auto-Download - + Show feeds - + Show files - + - + + Administrator: + + + + + + unknown + neznano + + + + Distribution: + + + + Feeds - + Files - + - + Subscribers - + - + Description: - + - + Posts (at neighbor nodes): - + @@ -7651,7 +7815,7 @@ p, li { white-space: pre-wrap; } Channel Post - + @@ -7659,7 +7823,7 @@ p, li { white-space: pre-wrap; } Comment Container - + @@ -7667,67 +7831,67 @@ p, li { white-space: pre-wrap; } Form - + Hot - + New - + Top - + Voter ID: - + Refresh - + Comment - + Author - + Date - + Score - + UpVotes - + DownVotes - + OwnVote - + @@ -7735,22 +7899,22 @@ p, li { white-space: pre-wrap; } Reply to Comment - + Submit Comment - + Vote Up - + Vote Down - + @@ -7758,32 +7922,32 @@ p, li { white-space: pre-wrap; } Make Comment - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> - + Signed by - + Comment Signing Error - + You need to create an Identity before you can comment - + @@ -7791,37 +7955,37 @@ before you can comment Create New Forum - + Forum - + Edit Forum - + Update Forum - + Add Forum Admins - + Select Forum Admins - + Create - + @@ -7829,38 +7993,38 @@ before you can comment Subscribe to Forum - + Expand - + Remove Item - + Forum Description - + Loading - + New Forum - + Hide - + @@ -7869,48 +8033,48 @@ before you can comment Subject: - + Unsubscribe To Forum - + Expand - + Set as read and remove item - + Remove Item - + In Reply to: - + Loading - + Forum Feed - + Hide - + @@ -7918,221 +8082,261 @@ before you can comment Form - + - + Start new Thread for Selected Forum - + Search forums - + Last Post - + Threaded View - + Flat View - + - + Title - + Date - + - + Author - + Save image - + - + Loading - + Reply Message - + Previous Thread - + Next Thread - + Download all files - + Next unread - + Search Title - + Search Date - + Search Author - + Content - + Search Content - + No name - + Reply - + Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + Start New Thread - + Expand all - + Collapse all - + Mark as read - + with children - + Mark as unread - + Copy RetroShare Link - + Hide - + Expand - + This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + + + + Anti-spam - + [ ... Redacted message ... ] - + Anonymous - + signed - + @@ -8142,27 +8346,27 @@ before you can comment [ ... Missing Message ... ] - + <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8172,85 +8376,85 @@ before you can comment RetroShare - + No Forum Selected! - + You cant reply to a non-existant Message - + You cant reply to an Anonymous Author - + Original Message - + From - + Sent - + Subject - + On %1, %2 wrote: - + - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description - + By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8258,7 +8462,7 @@ before you can comment Forum Post - + @@ -8266,38 +8470,38 @@ before you can comment <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + Forums - + Create Forum - + My Forums - + Subscribed Forums - + Popular Forums - + Other Forums - + @@ -8305,85 +8509,85 @@ before you can comment Waiting - + Retrieving - + Loading - + GxsGroupDialog - - + + Name Ime - + Add Icon - + Key recipients can publish to restricted-type group and can view and publish for private-type channels - + Share Publish Key - + - + check peers you would like to share private publish key with - + Share Key With - + - - + + Description - + - + Message Distribution - + - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public - + - - - Restricted to Group - - - - - + Only For Your Friends - + - + Publish Signatures - + @@ -8393,184 +8597,249 @@ before you can comment New Thread - + Required - + Encrypted Msgs - + Personal Signatures - + PGP Required - + Signature Required - + If No Publish Signature - + - Comments - + - + Allow Comments - + No Comments - + Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: - + - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name - + - + + PGP signature from known ID required + + + + Load Group Logo - + - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback - + Owner: - + - + Set a descriptive description here - + - + Info - + - - Comments allowed - - - - - Comments not allowed - - - - + ID - + - + Last Post - + + + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + - Popularity - + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + - - Posts - + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + + Popularity + - Type - + Posts + - + Author - + GxsIdLabel - + @@ -8578,146 +8847,146 @@ before you can comment Loading - + Todo - + Print - + PrintPreview - + Unsubscribe - + Subscribe - + Open in new tab - + Show Details - + Edit Details - + - + + Share publish permissions + + + + Copy RetroShare Link - + Mark all as read - + Mark all as unread - + - + AUTHD - - - - - Share admin permissions - + GxsIdChooser - + No Signature - + - + Create new Identity - + GxsIdDetails - + Loading - + Not found - + No Signature - + [Banned] - + Authentication - + unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8725,12 +8994,12 @@ before you can comment Loading - + No name - + @@ -8738,42 +9007,42 @@ before you can comment Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + @@ -8782,17 +9051,17 @@ before you can comment Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + @@ -8801,22 +9070,22 @@ before you can comment RetroShare Help - + Find: - + Find Previous - + Find Next - + @@ -8826,141 +9095,141 @@ before you can comment Whole words only - + Contents - + Help Topics - + Search - + Searching for: - + Found Documents - + Back - + Move to previous page (Backspace) - + Backspace - + Forward - + Move to next page (Shift+Backspace) - + Shift+Backspace - + Home - + Move to the Home page (Ctrl+H) - + Ctrl+H - + Find - + Search for a word or phrase on current page (Ctrl+F) - + Ctrl+F - + Close - + Close Vidalia Help - + Esc - + Supplied XML file is not a valid Contents document. - + Search reached end of document - + Search reached start of document - + Text not found in document - + Found %1 results - + Error Loading Help Contents: - + @@ -8968,27 +9237,27 @@ before you can comment About - + Authors - + Thanks to - + Translation - + License Agreement - + @@ -8997,14 +9266,14 @@ before you can comment p, li { white-space: pre-wrap; } </style></head><body style=" font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; font-weight:600;">About RetroShare</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9015,14 +9284,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Swedish: </span><span style=" font-size:8pt;"> Daniel Wester</span><span style=" font-size:8pt; font-weight:600;"> &lt;</span><span style=" font-size:8pt;">wester@speedmail.se</span><span style=" font-size:8pt; font-weight:600;">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">German: </span><span style=" font-size:8pt;">Jan</span><span style=" font-size:8pt; font-weight:600;"> </span><span style=" font-size:8pt;">Keller</span> &lt;<span style=" font-size:8pt;">trilarion@users.sourceforge.net</span>&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polish: </span>Maciej Mrug</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9032,16 +9301,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + Libraries - + @@ -9049,51 +9318,51 @@ p, li { white-space: pre-wrap; } Opening External Link - + RetroShare can open the link you selected in your default Web browser. If your browser is not currently configured to use Tor then the request will not be anonymous. - + Do you want Retroshare to open the link in your Web browser? - + Unable to Open Link - + RetroShare was unable to open the selected link in your Web browser. You can still copy the URL and paste it into your browser. - + Error opening help file: - + IdDetailsDialog - + Person Details - + Identity Info - + Owner node ID : - + @@ -9103,61 +9372,61 @@ p, li { white-space: pre-wrap; } Owner node name : - + Identity name : - + Identity ID : - + Last used: - + Your Avatar Click here to change your avatar - + Reputation - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9167,217 +9436,250 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + Unknown real name - + Anonymous Id - + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + V redu Banned - + IdDialog - + + New ID - + - - + + All - + Reputation - + Search - + - - Unknown real name - - - - + Anonymous Id - + - + Create new Identity - + + + + + Create new circle + Persons - + - + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + + + + + Circle name + + + + + Membership + + + + + Public Circles + + + + + Personal Circles + + + + Edit identity - + Delete identity - + Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID - + - + Send message - + - + Identity info - + Identity ID : - + Owner node name : - + @@ -9387,277 +9689,480 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous - + - + ID - + Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + neznano + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + OK - + V redu Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People - + Your Avatar Click here to change your avatar - + - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9665,43 +10170,43 @@ p, li { white-space: pre-wrap; } Nickname - + Key ID - + PGP Name - + PGP Hash - + PGP Id - + Pseudonym - + New identity - + To be generated - + @@ -9714,43 +10219,43 @@ p, li { white-space: pre-wrap; } N/A - + Edit identity - + Error getting key! - + Error KeyID invalid - + Unknown GpgId - + Unknown real name - + Create New Identity - + Type - + @@ -9760,7 +10265,7 @@ p, li { white-space: pre-wrap; } TextLabel - + @@ -9769,7 +10274,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9780,32 +10285,32 @@ p, li { white-space: pre-wrap; } Your Avatar Click here to change your avatar - + Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9818,12 +10323,12 @@ p, li { white-space: pre-wrap; } KeyId - + GXSId - + @@ -9833,27 +10338,27 @@ p, li { white-space: pre-wrap; } - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9862,23 +10367,23 @@ p, li { white-space: pre-wrap; } Message History - + - + Copy Kopiraj Remove - + Mark all - + @@ -9888,12 +10393,12 @@ p, li { white-space: pre-wrap; } Clear history - + Send - + @@ -9902,17 +10407,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -9921,69 +10426,69 @@ p, li { white-space: pre-wrap; } Open File - + Open Folder - + Edit Share Permissions - + Checking... - + Check files - + Edit Shared Folder - + Recommend in a message to - + Set command for opening this file - + Collection - + MainWindow - + Add Friend - + Add a Friend Wizard - + Add Share - + - + Options Možnosti @@ -9991,45 +10496,45 @@ p, li { white-space: pre-wrap; } Messenger - + About - + SMPlayer - + Quit - + Quick Start Wizard - + - + RetroShare %1 a secure decentralized communication platform - + - + Unfinished - + Low disk space warning - + @@ -10038,12 +10543,12 @@ p, li { white-space: pre-wrap; } RetroShare will now safely suspend any disk access to this directory. Please make some free space and click Ok. - + Show/Hide - + @@ -10053,27 +10558,27 @@ p, li { white-space: pre-wrap; } Notify - + Open Messenger - + Open Messages - + Bandwidth Graph - + Applications - + @@ -10083,67 +10588,67 @@ p, li { white-space: pre-wrap; } Minimize - + Maximize - + &Quit - + RetroShare - + %1 new message - + %1 new messages - + Down: %1 (kB/s) - + Up: %1 (kB/s) - + %1 friend connected - + %1 friends connected - + Do you really want to exit RetroShare ? - + - + Internal Error - + Hide - + @@ -10153,233 +10658,233 @@ p, li { white-space: pre-wrap; } Make sure this link has not been forged to drag you to a malicious website. - + Don't ask me again - + It seems to be an old RetroShare link. Please use copy instead. - + The file link is malformed. - + ServicePermissions - + Service permissions matrix - + - + Add Dodaj Statistics - + Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose - + Contacts - + Paragraph - + Heading 1 - + Heading 2 - + Heading 3 - + Heading 4 - + Heading 5 - + Heading 6 - + Font size - + Increase font size - + Decrease font size - + Bold - + Italic - + Alignment - + Add an Image - + Sets text font to code style - + Underline - + Subject: - + Tags: - + - + Tags - + Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + Recommended Files - + File Name - + Size - + Hash - + Send - + Send this message now - + Reply - + Toggle Contacts View - + @@ -10389,368 +10894,368 @@ p, li { white-space: pre-wrap; } Save this message - + Attach - + Attach File - + Quote - + Add Blockquote - + Send To: - + &Left - + C&enter - + &Right - + &Justify - + All addresses (mixed) - + All people - + My contacts - + Hello,<br>I recommend a good friend of mine; you can trust them too when you trust me. <br> - + You have a friend recommendation - + This friend is suggested by - + wants to be friends with you on RetroShare - + Hi %1,<br><br>%2 wants to be friends with you on RetroShare.<br><br>Respond now:<br>%3<br><br>Thanks,<br>The RetroShare Team - + - + Save Message - + Message has not been Sent. Do you want to save message to draft box? - + Paste RetroShare Link - + Add to "To" - + Add to "CC" - + Add to "BCC" - + Add as Recommend - + Original Message - + From - + To - + Cc - + Sent - + Subject - + On %1, %2 wrote: - + Re: - + Fwd: - + RetroShare - + Do you want to send the message without a subject ? - + Please insert at least one recipient. - + Bcc - + Unknown - + &File - + &New - + &Open... - + &Save - + Save &As File - + Save &As Draft - + &Print... - + &Export PDF... - + &Quit - + &Edit - + &Undo - + &Redo - + Cu&t - + &Copy - + &Paste - + &View - + &Contacts Sidebar - + &Insert - + &Image - + &Horizontal Line - + &Format - + Details - + Open File... - + HTML-Files (*.htm *.html);;All Files (*) - + Save as... - + Print Document - + Export PDF - + Message has not been Sent. Do you want to save message ? - + Choose Image - + Image Files supported (*.png *.jpeg *.jpg *.gif) - + Add Extra File - + Close - + @@ -10758,74 +11263,74 @@ Do you want to save message ? Od: - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10833,47 +11338,47 @@ Do you want to save message ? Everyone - + Contacts - + Nobody - + Accept encrypted distant messages from - + Reading - + Set message to read on activate - + Open messages in - + Tags - + Tags can be used to categorize and prioritize your messages - + @@ -10883,7 +11388,7 @@ Do you want to save message ? Edit - + @@ -10898,32 +11403,32 @@ Do you want to save message ? A new tab - + A new window - + Edit Tag - + Message - + Distant messages: - + Load embedded images - + @@ -10931,7 +11436,7 @@ Do you want to save message ? Sub: - + @@ -10939,7 +11444,7 @@ Do you want to save message ? Message - + @@ -10947,17 +11452,17 @@ Do you want to save message ? Recommended Files - + Download all Recommended Files - + Subject: - + @@ -10972,98 +11477,98 @@ Do you want to save message ? Cc: - + Bcc: - + Tags: - + File Name - + Size - + Hash - + Print - + Print Preview - + Confirm %1 as friend - + Add %1 as friend - + No subject - + Download - + Download all - + Print Document - + Save as... - + HTML-Files (*.htm *.html);;All Files (*) - + Load images always for this message - + Hide the attachment pane - + Show the attachment pane - + @@ -11071,47 +11576,47 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Forward - + Remove selected message - + @@ -11121,81 +11626,81 @@ Do you want to save message ? Print selected message - + Print - + Display - + Tags - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + &File - + Save &As File - + &Print... - + Print Preview... - + &Quit - + @@ -11204,47 +11709,47 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Foward - + Remove selected message - + @@ -11254,17 +11759,17 @@ Do you want to save message ? Print selected message - + Print - + Display - + @@ -11273,7 +11778,7 @@ Do you want to save message ? Tags - + @@ -11281,7 +11786,7 @@ Do you want to save message ? Inbox - + @@ -11289,18 +11794,18 @@ Do you want to save message ? Outbox - + Draft - + Sent - + @@ -11308,283 +11813,283 @@ Do you want to save message ? Trash - + Total Inbox: - + Folders - + Quick View - + Print... - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + Save As... - + Reply to Message - + Reply to All - + Forward Message - + Subject - + From - + Date - + Content - + Click to sort by attachments - + Click to sort by subject - + Click to sort by read - + Click to sort by from - + Click to sort by date - + Click to sort by tags - + Click to sort by star - + Forward selected Message - + Search Subject - + Search From - + Search Date - + Search Content - + Search Tags - + Attachments - + Search Attachments - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + Starred - + System - + Open in a new window - + Open in a new tab - + Mark as read - + Mark as unread - + Add Star - + Edit - + Edit as new - + Remove Messages - + Remove Message - + Undelete - + Empty trash - + Drafts - + No starred messages available. Stars let you give messages a special status to make them easier to find. To star a message, click on the light gray star beside any message. - + No system messages available. - + To - + Click to sort by to - + This message goes to a distant person. - + @@ -11593,33 +12098,33 @@ Do you want to save message ? Total: - + Messages - + Click to sort by signature - + This message was signed and the signature checks - + This message was signed but the signature doesn't check - + This message comes from a distant person. - + @@ -11627,17 +12132,17 @@ Do you want to save message ? RetroShare Messenger - + - + Add a Friend - + Share files for your friends - + @@ -11645,27 +12150,27 @@ Do you want to save message ? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + Paste RetroShare Link - + Paste my certificate link - + @@ -11673,58 +12178,58 @@ Do you want to save message ? Reply to Message - + Reply Message - + Delete Message - + Play Media - + Expand - + Remove Item - + Message From - + Sent Msg - + Draft Msg - + Pending Msg - + Hide - + @@ -11732,52 +12237,52 @@ Do you want to save message ? <strong>NAT:</strong> - + Network Status Unknown - + Offline - + Nasty Firewall - + DHT Disabled and Firewalled - + Network Restarting - + Behind Firewall - + DHT Disabled - + RetroShare Server - + Forwarded Port - + @@ -11785,12 +12290,12 @@ Do you want to save message ? Filter: - + Search Network - + @@ -11802,129 +12307,129 @@ Do you want to save message ? Did I authenticated peer - + Did I sign his PGP key - + Did peer authenticated me - + Cert Id - + Last used - + Clear - + Set Tabs Right - + Set Tabs North - + Set Tabs South - + Set Tabs Left - + Set Tabs Rounded - + Set Tabs Triangular - + Add Friend - + Copy My Key to Clipboard - + Export My Key - + Create New Profile - + Create a new Profile - + Peer ID - + Deny friend - + Peer details... - + Remove unused keys... - + Clean keyring - + - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. The removal may fail when running multiple Retroshare instances on the same machine. - + Keyring info - + @@ -11932,165 +12437,165 @@ Notes: Your old keyring will be backed up. For security, your keyring was previously backed-up to file - + Unknown error - + Cannot delete secret keys - + Cannot create backup file. Check for permissions in pgp directory, disk space, etc. - + Personal signature - + PGP key signed by you - + Marginally trusted peer - + Fully trusted peer - + Untrusted peer - + Has authenticated me - + Unknown - + Last hour - + Today - + Never - + %1 days ago - + has authenticated you. Right-click and select 'make friend' to be able to connect. - + yourself - + Data inconsistency in the keyring. This is most probably a bug. Please contact the developers. - + Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12098,7 +12603,7 @@ Reported error: Network - + @@ -12106,22 +12611,22 @@ Reported error: Redraw - + Friendship level: - + Edge length: - + Freeze - + @@ -12129,7 +12634,7 @@ Reported error: New Tag - + @@ -12139,7 +12644,7 @@ Reported error: Choose color - + @@ -12157,7 +12662,7 @@ Reported error: News Feed - + @@ -12167,32 +12672,32 @@ Reported error: Remove All - + This is a test. - + News feed - + Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12200,290 +12705,290 @@ Reported error: News Feed - + Channels - + Forums - + Blogs - + Messages - + Chat - + Security - + Test - + Systray Icon - + Message - + Connect attempt - + Toasters - + Friend Connect - + Ip security - + New Message - + Download completed - + Private Chat - + Group Chat - + Chat Lobby - + Position - + X Margin - + Y Margin - + Systray message - + Group chat - + Chat lobbies - + Combined - + Blink - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + Top Left - + Top Right - + Bottom Left - + Bottom Right - + Notify - + Disable All Toasters - + Posted - + Disable All Toaster temporarily - + Feed - + Systray - + Chat Lobbies - + Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase - + Wrong password ! - + Unregistered plugin/executable - + RetroShare has detected an unregistered plugin. This happens in two cases:<UL><LI>Your RetroShare executable has changed.</LI><LI>The plugin has changed</LI></UL>Click on Yes to authorize this plugin, or No to deny it. You can change your mind later in Options -> Plugins, then restart. - + - + Please check your system clock. - + - + Examining shared files... - + Hashing file - + Saving file index... - + Test - + This is a test. - + Unknown title - + Encrypted message - + - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12491,7 +12996,7 @@ Reported error: Friend Online - + @@ -12499,30 +13004,30 @@ Reported error: Normal Mode - + No Anon D/L - + Gaming Mode - + Low Traffic - + - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers - + @@ -12530,232 +13035,293 @@ Reported error: Dialog - + PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + Unknown - + No trust - + Marginal - + Full - + Ultimate - + Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign PGP key - + <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures - + + + + + Options + Možnosti + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + PGP Key details - + - - + + RetroShare - + - - - + + + Error : cannot get peer details. - + - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) - + - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + Your trust in this peer is full. - + Your trust in this peer is marginal. - + Your trust in this peer is none. - + - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure - + Maybe password is wrong - + - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12768,7 +13334,7 @@ p, li { white-space: pre-wrap; } Unknown - + @@ -12776,23 +13342,23 @@ p, li { white-space: pre-wrap; } Chat - + Start Chat - + Expand - + Remove Item - + @@ -12802,62 +13368,62 @@ p, li { white-space: pre-wrap; } Peer ID: - + Trust: - + Location: - + IP Address: - + Connection Method: - + Status: - + Write Message - + Friend - + Friend Connected - + Connect Attempt - + Friend of Friend - + Peer - + @@ -12870,17 +13436,17 @@ p, li { white-space: pre-wrap; } Unknown Peer - + Hide - + Send Message - + @@ -12888,42 +13454,96 @@ p, li { white-space: pre-wrap; } Friends: 0/0 - + Online Friends/Total Friends - + Friends - + PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -12931,7 +13551,7 @@ p, li { white-space: pre-wrap; } Form - + @@ -12939,47 +13559,47 @@ p, li { white-space: pre-wrap; } PhotoShare - + Photo - + TextLabel - + Comment - + Summary - + Caption - + Where: - + Photo Title: - + When - + @@ -12989,12 +13609,12 @@ p, li { white-space: pre-wrap; } Add Comment - + Write a comment... - + @@ -13002,39 +13622,39 @@ p, li { white-space: pre-wrap; } Form - + TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> - + @@ -13042,58 +13662,58 @@ p, li { white-space: pre-wrap; } Form - + Create Album - + View Album - + Subscribe To Album - + Slide Show - + My Albums - + Subscribed Albums - + Shared Albums - + View Photo - + PhotoShare - + Please select an album before requesting to edit it! - + @@ -13101,53 +13721,53 @@ requesting to edit it! Album Name - + Image - + Show/Hide Details - + << - + Stop - + >> - + Close - + Start - + Start Slide Show - + Stop Slide Show - + @@ -13155,7 +13775,7 @@ requesting to edit it! Remove - + @@ -13163,26 +13783,26 @@ requesting to edit it! TextLabel - + Show more details about this plugin - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> - + Enable this plugin (restart required) - + @@ -13192,47 +13812,47 @@ p, li { white-space: pre-wrap; } Disable this plugin (restart required) - + Disable - + Launch configuration panel, if provided by the plugin - + Configure - + About - + File name: - + File hash: - + Status: - + will be enabled after your restart RetroShare. - + @@ -13240,37 +13860,37 @@ p, li { white-space: pre-wrap; } base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13278,22 +13898,22 @@ p, li { white-space: pre-wrap; } Install New Plugin... - + Open Plugin to install - + Plugins (*.so *.dll) - + Widget for plugin %1 not found on plugins frame - + @@ -13301,27 +13921,27 @@ p, li { white-space: pre-wrap; } Authorize all plugins - + Plugin look-up directories - + Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + No API number supplied. Please read plugin development manual. - + @@ -13330,37 +13950,37 @@ p, li { white-space: pre-wrap; } [loading problem] - + No SVN number supplied. Please read plugin development manual. - + Loading error. - + Missing symbol. Wrong version? - + No plugin object - + Plugins is loaded. - + Unknown status. - + @@ -13368,18 +13988,18 @@ p, li { white-space: pre-wrap; } be checked for the hash. However, in normal times, checking the hash protects you from malicious behavior of crafted plugins. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + Plugins - + @@ -13387,7 +14007,7 @@ malicious behavior of crafted plugins. Popularity - + @@ -13395,17 +14015,17 @@ malicious behavior of crafted plugins. Clear offline messages - + Hide Avatar - + Show Avatar - + @@ -13413,36 +14033,36 @@ malicious behavior of crafted plugins. Avatar - + Set your Avatar Picture - + Dock tab - + Undock tab - + Set Chat Window Color - + Set window on top - + @@ -13450,32 +14070,32 @@ malicious behavior of crafted plugins. Chat remotely closed. Please close this window. - + The person you're talking to has deleted the secured chat tunnel. You may remove the chat window now. - + Closing this window will end the conversation, notify the peer and remove the encrypted tunnel. - + Kill the tunnel? - + Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13483,57 +14103,57 @@ malicious behavior of crafted plugins. Signed by: - + Notes - + RetroShare - + Please create or choose a Signing Id first - + Submit Post - + You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + Submit - + Submit a new Post - + Please add a Title - + Title - + Link - + @@ -13541,42 +14161,42 @@ malicious behavior of crafted plugins. Posted Links - + Posted - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + My Topics - + Subscribed Topics - + Popular Topics - + Other Topics - + @@ -13584,37 +14204,37 @@ malicious behavior of crafted plugins. Posted Topic - + Add Topic Admins - + Select Topic Admins - + Create New Topic - + Edit Topic - + Update Topic - + Create - + @@ -13622,107 +14242,117 @@ malicious behavior of crafted plugins. Subscribe to Posted - + Expand - + Remove Item - + Posted Description - + Loading - + New Posted - + Hide - + PostedItem - + 0 - + Site - + - + Comments - + Comment - + Vote up - + Vote down - + \/ - + Set as read and remove item - + New - + - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status - + Remove Item - + - + Loading - + By - + @@ -13730,77 +14360,77 @@ malicious behavior of crafted plugins. Form - + Hot - + New - + Top - + Today - + Yesterday - + This Week - + This Month - + This Year - + Submit a new Post - + Next - + RetroShare - + Please create or choose a Signing Id before Voting - + Previous - + 1-10 - + @@ -13808,17 +14438,17 @@ malicious behavior of crafted plugins. Tabs - + Posted - + Open each topic in a new tab - + @@ -13826,7 +14456,7 @@ malicious behavior of crafted plugins. Posted - + @@ -13834,37 +14464,37 @@ malicious behavior of crafted plugins. RetroShare Message - Print Preview - + Print - + &Print... - + Page Setup... - + Zoom In - + Zoom Out - + &Close - + @@ -13873,7 +14503,7 @@ malicious behavior of crafted plugins. Profile Manager - + @@ -13883,29 +14513,29 @@ malicious behavior of crafted plugins. Email - + GID - + Export Identity - + RetroShare Identity files (*.asc) - + Identity saved - + @@ -13914,80 +14544,80 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Identity not saved - + Your identity was not saved. An error occurred. - + Import Identity - + Identity not loaded - + Your identity was not loaded properly: - + New identity imported - + Your identity was imported successfully: - + Select Trusted Friend - + Certificates (*.pqi *.pem) - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + You can use it now to create a new node. - + @@ -13996,22 +14626,22 @@ p, li { white-space: pre-wrap; } Edit status message - + Copy Certificate - + Profile Manager - + Public Information - + @@ -14021,73 +14651,73 @@ p, li { white-space: pre-wrap; } Location: - + Peer ID: - + Number of Friends: - + Version: - + Online since: - + Other Information - + My Address - + Local Address: - + External Address: - + Dynamic DNS: - + Addresses list: - + RetroShare - + Sorry, create certificate failed - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -14095,51 +14725,51 @@ p, li { white-space: pre-wrap; } Post From: - + Account 1 - + Account 2 - + Account 3 - + Add to Pulse - + filter - + URL Adder - + Display As - + URL - + @@ -14149,7 +14779,7 @@ p, li { white-space: pre-wrap; } Post Pulse to Wire - + @@ -14157,12 +14787,12 @@ p, li { white-space: pre-wrap; } From - + Date - + @@ -14175,305 +14805,320 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation - + Do you want this link to be handled by your system? - + - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. - + - + Add file - + Add files - + Do you want to process the link ? - + Do you want to process %1 links ? - + - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. - + %1 of %2 RetroShare links processed. - + File added - + Files added - + File exist - + Files exist - + Friend added - + Friends added - + Friend exist - + Friends exist - + Friend not added - + Friends not added - + Friend not found - + Friends not found - + Forum not found - + Forums not found - + Forum message not found - + Forum messages not found - + Channel not found - + Channels not found - + Channel message not found - + Channel messages not found - + + + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + Recipient not accepted - + Recipients not accepted - + Unkown recipient - + Unkown recipients - + Malformed links - + Invalid links - + Warning: forbidden characters found in filenames. Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. - + Result - + - + Unable to make path - + Unable to make path: - + Failed to process collection file - + - + Deny friend - + Make friend - + Peer details - + File Request canceled - + - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. - + Choose between:<br><ul><li><b>Ok</b> to copy the existing keyring from gnupg (safest bet), or </li><li><b>Close without saving</b> to start fresh with an empty keyring (you will be asked to create a new PGP key to work with RetroShare, or import a previously saved pgp keypair). </li><li><b>Cancel</b> to quit and forge a keyring by yourself (needs some PGP skills)</li></ul> - + - + RetroShare - + - + Initialization failed. Wrong or missing installation of PGP. - + An unexpected error occurred. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + Multiple instances - + Another RetroShare using the same profile is already running on your system. Please close that instance first Lock file: - + An unexpected error occurred when Retroshare tried to acquire the single instance lock Lock file: - - - - - Start with a RetroShare link is only supported for Windows. - + Distant peer has closed the chat - + Tunnel is pending... - + Secured tunnel is working. You can talk! - + @@ -14481,186 +15126,186 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Reported error is: %2 - + - + Click to send a private message to %1 (%2). - + %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + secs - + TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + %1 days ago - + Subject: - + Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error - + unable to parse XML file! - + @@ -14668,19 +15313,19 @@ Security: no anonymous IDs Quick Start Wizard - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14689,7 +15334,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Choose which files you share.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Get started using RetroShare.</span></p></body></html> - + @@ -14697,7 +15342,7 @@ p, li { white-space: pre-wrap; } Next > - + @@ -14706,73 +15351,73 @@ p, li { white-space: pre-wrap; } Exit - + For best performance, RetroShare needs to know a little about your connection to the internet. - + Choose your download speed limit: - + KB/s - + Choose your upload speed limit: - + Connection : - + Automatic (UPnP) - + Firewalled - + Manually forwarded port - + Discovery : - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + @@ -14780,35 +15425,35 @@ p, li { white-space: pre-wrap; } < Back - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> - + Directory - + Network Wide - + Browseable - + @@ -14818,115 +15463,115 @@ p, li { white-space: pre-wrap; } Remove - + Automatically share incoming directory (Recommended) - + RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + Do not show a message when Closing RetroShare - + Start Minimized - + Start RetroShare when my System Starts. - + Start minimized on system start - + Finish - + Select A Folder To Share - + Shared Directory Added! - + Warning! - + Browsable - + Universal - + If checked, the share is anonymously shared to anybody. - + If checked, the share is browsable by your friends. - + @@ -14934,12 +15579,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + @@ -14947,17 +15592,17 @@ p, li { white-space: pre-wrap; } %1 KB - + %1 MB - + %1 GB - + @@ -14965,17 +15610,17 @@ p, li { white-space: pre-wrap; } Form - + The loading of embedded images is blocked. - + Load images - + @@ -14983,60 +15628,60 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15044,17 +15689,17 @@ p, li { white-space: pre-wrap; } Down - + Up - + <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15062,89 +15707,89 @@ p, li { white-space: pre-wrap; } Enable Relay Connections - + Use Relay Servers - + Relay options - + Number - + Bandwidth per link - + Total Bandwidth - + Friends - + kB/s - + Friends of Friends - + General - + Total: - + Relay Server Setup - + Add Server - + Server DHT Key - + Remove Server - + Relay - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15152,17 +15797,17 @@ p, li { white-space: pre-wrap; } Download - + Recommend in a message to - + Collection - + @@ -15170,7 +15815,7 @@ p, li { white-space: pre-wrap; } NEW - + @@ -15178,27 +15823,27 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + Unknown - + @@ -15206,33 +15851,33 @@ p, li { white-space: pre-wrap; } Add IP to whitelist - + Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15240,17 +15885,17 @@ p, li { white-space: pre-wrap; } Collection - + File name : - + Total size : - + @@ -15261,39 +15906,39 @@ p, li { white-space: pre-wrap; } Download! - + - + File - + - + Size - + Hash - + Bad filenames have been cleaned - + Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. - + Selected files : - + @@ -15303,27 +15948,27 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + >> - + <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + + - + @@ -15331,58 +15976,63 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Shrani - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + Real Size=%1 - + Real File Count=%1 - + Save Collection File. - + What do you want to do? - + @@ -15392,42 +16042,42 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Merge - + Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + File already exists. - + <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15436,17 +16086,17 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Cannot open file %1 - + Error parsing xml file - + Open collection file - + @@ -15454,31 +16104,31 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Collection files - + Create collection file - + This file contains the string "%1" and is therefore an invalid collection file. If you believe it is correct, remove the corresponding line from the file and re-open it with Retroshare. - + Save Collection File. - + What do you want to do? - + @@ -15488,7 +16138,7 @@ If you believe it is correct, remove the corresponding line from the file and re Merge - + @@ -15498,16 +16148,16 @@ If you believe it is correct, remove the corresponding line from the file and re File already exists. - + RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? - + @@ -15515,85 +16165,94 @@ Reducing image to %1x%2 pixels? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. - + Sets the directory RetroShare uses for data files. - + Sets the name and location of RetroShare's logfile. - + Sets the verbosity of RetroShare's logging. - + Sets RetroShare's interface style. - + Sets RetroShare's interface stylesheets. - + Sets RetroShare's language. - + RetroShare Usage Information - + - + Unable to open log file '%1': %2 - + built-in - + Could not create data directory: %1 - + - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -15601,7 +16260,7 @@ Reducing image to %1x%2 pixels? RTT Statistics - + @@ -15609,282 +16268,282 @@ Reducing image to %1x%2 pixels? Enter a keyword here (at least 3 char long) - + Start Search - + Search - + Advanced Search - + Advanced - + Search inside "browsable" files of your friends - + Browsable files - + Multi-hop search at distance 6 in the network (always reports available files) - + Distant - + Include files from your own file list in the search result - + Own files - + Close all Search Results - + Clear - + KeyWords - + Results - + Search Id - + Filename - + Size - + Sources - + Type - + Age - + Hash - + Filter: - + Filter Search Result - + Max results: - + Any - + Archive - + Audio - + CD-Image - + Document - + Picture - + Program - + Video - + Directory - + Download Selected - + Download selected - + File Name - + Download - + Copy RetroShare Link - + Send RetroShare Link - + Download Notice - + Skipping Local Files - + Sorry - + This function is not yet implemented. - + Search again - + Remove - + Remove All - + Folder - + New RetroShare Link(s) - + Open Folder - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + Collection - + @@ -15892,81 +16551,81 @@ Reducing image to %1x%2 pixels? Peer details - + Expand - + Remove Item - + IP address: - + Peer ID: - + Location: - + Peer Name: - + Unknown Peer - + Hide - + but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -15974,43 +16633,43 @@ Reducing image to %1x%2 pixels? wants to be friend with you on RetroShare - + Accept Friend Request - + Peer details - + Deny friend - + Chat - + Start Chat - + Expand - + Remove Item - + @@ -16020,62 +16679,62 @@ Reducing image to %1x%2 pixels? Peer ID: - + Trust: - + Location: - + IP Address: - + Connection Method: - + Status: - + Write Message - + Connect Attempt - + Connection refused by remote peer - + Unknown (Incoming) Connect Attempt - + Unknown (Outgoing) Connect Attempt - + Unknown Security Issue - + @@ -16084,42 +16743,42 @@ Reducing image to %1x%2 pixels? Unknown Peer - + Hide - + Do you want to remove this Friend? - + Certificate has wrong signature!! This peer is not who he claims to be. - + Missing/Damaged certificate. Not a real Retroshare user. - + Certificate caused an internal error. - + Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16127,262 +16786,262 @@ Reducing image to %1x%2 pixels? Network Configuration - + Network Mode - + Nat - + Automatic (UPnP) - + Firewalled - + Manually Forwarded Port - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + Local Address - + External Address - + Dynamic DNS - + Port: - + Local network - + External ip address finder - + UPnP - + Known / Previous IPs: - + Show Discovery information in statusbar - + If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. - + Allow RetroShare to ask my ip to these websites: - + kB/s - + Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + Onion Address - + Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + Clear - + Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + Test - + Network - + IP Filters - + IP blacklist - + IP range - + @@ -16396,260 +17055,260 @@ Also check your ports! Origin - + Reason - + Comment - + IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + Remove - + Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16657,27 +17316,27 @@ If you have issues connecting over Tor check the Tor logs too. Service permissions - + Service Permissions - + Use as direct source, when available - + Auto-download recommended files - + Require whitelist - + @@ -16685,7 +17344,7 @@ If you have issues connecting over Tor check the Tor logs too. ServicePermissions - + @@ -16695,17 +17354,17 @@ If you have issues connecting over Tor check the Tor logs too. Permissions - + hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16721,48 +17380,48 @@ If you have issues connecting over Tor check the Tor logs too. RetroShare Share Folder - + Share Folder - + Local Path - + Browse - + Virtual Folder - + Share Flags - + Edit Shared Folder - + Select A Folder To Share - + Share flags and groups: - + @@ -16770,23 +17429,23 @@ If you have issues connecting over Tor check the Tor logs too. check peers you would like to share private publish key with - + Share for Friend - + Share - + You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -16794,37 +17453,37 @@ Select the Friends with which you want to Share your Channel. RetroShare Share Manager - + Shared Folder Manager - + Directory - + Virtual Folder - + Share flags - + Groups - + Add a Share Directory - + @@ -16834,70 +17493,70 @@ Select the Friends with which you want to Share your Channel. Stop sharing selected Directory - + Remove - + Apply and close - + Edit selected Shared Directory - + Edit - + Share Manager - + Edit Shared Folder - + Warning! - + Do you really want to stop sharing this directory ? - + Drop file error. - + File can't be dropped, only directories are accepted. - + Directory not found or directory name not accepted. - + This is a list of shared folders. You can add and remove folders using the buttons at the bottom. When you add a new folder, intially all files in that folder are shared. You can separately setup share flags for each shared directory. - + @@ -16905,17 +17564,17 @@ Select the Friends with which you want to Share your Channel. Files - + Search files - + Start Search - + @@ -16925,108 +17584,108 @@ Select the Friends with which you want to Share your Channel. Tree view - + Flat view - + All - + One day old - + One Week old - + One month old - + check files - + Download selected - + Download - + Copy retroshare Links to Clipboard - + Copy retroshare Links to Clipboard (HTML) - + Send retroshare Links - + Send retroshare Links to Cloud - + Add Links to Cloud - + RetroShare Link - + Recommendation(s) - + Add Share - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + @@ -17034,48 +17693,48 @@ Select the Friends with which you want to Share your Channel. Friend - + Go Online - + Chatmessage - + New Msg - + Message - + Message arrived - + Download - + Download complete - + Lobby - + @@ -17083,7 +17742,7 @@ Select the Friends with which you want to Share your Channel. Event: - + @@ -17093,32 +17752,32 @@ Select the Friends with which you want to Share your Channel. Browse - + Event - + Filename - + Open File - + Sound - + Default - + Privzeto @@ -17126,30 +17785,30 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile - + Load configuration - + Create interface - + @@ -17157,60 +17816,60 @@ Select the Friends with which you want to Share your Channel. RetroShare - + Login - + Name (PGP Id) - location: - + Remember Password - + Log In - + Opens a dialog for creating a new profile or adding locations to an existing profile. The current identities/locations will not be affected. - + Load Person Failure - + Missing PGP Certificate - + Warning - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17219,7 +17878,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17228,7 +17887,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17237,7 +17896,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17245,17 +17904,17 @@ This choice can be reverted in settings. Add Friend - + Add a Friend Wizard - + Add Share - + @@ -17265,63 +17924,63 @@ This choice can be reverted in settings. Messenger - + About - + SMPlayer - + Quit - + Quick Start Wizard - + ServicePermissions - + Service permissions matrix - + DHT - + Bandwidth - + Turtle Router - + Global Router - + RTT Statistics - + @@ -17330,165 +17989,165 @@ This choice can be reverted in settings. Offline - + Away - + Busy - + Online - + Idle - + Friend is offline - + Friend is away - + Friend is busy - + Friend is online - + Friend is idle - + Connected - + Unreachable - + Available - + Neighbor - + Trying TCP - + Trying UDP - + Connected: TCP - + Connected: UDP - + Connected: I2P - + Connected: Unknown - + DHT: Contact - + TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17496,30 +18155,30 @@ This choice can be reverted in settings. Status message - + Message: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> - + @@ -17528,28 +18187,28 @@ p, li { white-space: pre-wrap; } Define Style - + Choose color - + Color 2 - + Color 1 - + Style - + @@ -17559,12 +18218,12 @@ p, li { white-space: pre-wrap; } Solid - + Gradient - + @@ -17572,91 +18231,91 @@ p, li { white-space: pre-wrap; } %p Kb - + Cancel Download - + Download File - + Download - + Play File - + Play - + Save File - + ERROR - + EXTRA - + REMOTE - + DOWNLOAD - + LOCAL - + UPLOAD - + Remove Attachment - + File %1 does not exist at location. - + File %1 is not completed. - + Save Channel File - + @@ -17666,30 +18325,30 @@ p, li { white-space: pre-wrap; } Open File - + Copy RetroShare Link - + SubscribeToolButton - + Subscribed - + - + Unsubscribe - + - + Subscribe - + @@ -17697,7 +18356,7 @@ p, li { white-space: pre-wrap; } Pause - + @@ -17705,27 +18364,27 @@ p, li { white-space: pre-wrap; } Important - + Work - + Personal - + Todo - + Later - + @@ -17733,12 +18392,12 @@ p, li { white-space: pre-wrap; } Remove All Tags - + New tag ... - + @@ -17746,12 +18405,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17759,90 +18418,90 @@ p, li { white-space: pre-wrap; } Transfer options - + Maximum simultaneous downloads: - + Slots reserved for non-cache transfers: - + Default chunk strategy: - + Safety disk space limit : - + Streaming - + Progressive - + Random - + MB - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> - + Max. tunnel req. forwarded per second: - + <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -17850,45 +18509,45 @@ p, li { white-space: pre-wrap; } Download completed - + You have %1 completed downloads - + You have %1 completed download - + %1 completed downloads - + %1 completed download - + TransfersDialog - + Downloads - + Uploads - + - + Name i.e: file name @@ -17899,31 +18558,31 @@ p, li { white-space: pre-wrap; } Size i.e: file size - + Completed - + Speed i.e: Download speed - + Progress / Availability i.e: % downloaded - + Sources i.e: Sources - + @@ -17936,84 +18595,84 @@ p, li { white-space: pre-wrap; } Speed / Queue position - + Remaining - + Download time i.e: Estimated Time of Arrival / Time left - + Peer i.e: user name - + Progress i.e: % uploaded - + Speed i.e: upload speed - + Transferred - + Hash - + Search - + Friends files - + My files - + Download from collection file... - + Pause - + Resume - + Force Check - + @@ -18024,193 +18683,193 @@ p, li { white-space: pre-wrap; } Open Folder - + Open File - + Preview File - + Details... - + Clear Completed - + Copy RetroShare Link - + Paste RetroShare Link - + Down - + Up - + Top - + Bottom - + Streaming - + Slower - + Average - + Faster - + Random - + Progressive - + Play - + Rename file... - + Specify... - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + Move in Queue... - + Priority (Speed)... - + Chunk strategy - + Set destination directory - + Choose directory - + - + Failed - + - - + + Okay V redu - - + + Waiting - - - - - Downloading - - - - - - - - Complete - + + Downloading + + + + + + + + Complete + + + + Queued - + Paused - + Checking... - + Unknown - + - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18221,27 +18880,27 @@ map of the data; it will compare and invalidate bad blocks, and download them again Try to be patient! - + Transferring - + Uploading - + Are you sure that you want to cancel and delete these files? - + RetroShare - + @@ -18249,163 +18908,163 @@ Try to be patient! File preview - + Can't create link for file %1. - + File %1 preview failed. - + Click OK when program terminates! - + Open Transfer - + File %1 is not completed. If it is a media file, try to preview it. - + Change file name - + Please enter a new file name - + Please enter a new--and valid--filename - + - + Last Time Seen i.e: Last Time Receiced Data - + UserID - + Expand all - + Collapse all - + Size - + Show Size Column - + Show Completed Column - + Speed - + Show Speed Column - + Progress / Availability - + Show Progress / Availability Column - + Sources - + Show Sources Column - + Show Status Column - + Show Speed / Queue position Column - + Show Remaining Column - + Download time - + Show Download time Column - + Show Hash Column - + Last Time Seen - + Show Last Time Seen Column - + Columns - + File Transfers - + @@ -18421,57 +19080,57 @@ Try to be patient! Show Path Column - + - + Could not delete preview file - + Try it again? - + - + Create Collection... - + Modify Collection... - + View Collection... - + Collection - + - + File sharing - + - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: - + @@ -18480,69 +19139,69 @@ Try to be patient! My files - + FILE - + Files - + File - + DIR - + Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + What's new - + Groups - + @@ -18551,13 +19210,13 @@ Try to be patient! Search requests - + Tunnel requests - + @@ -18566,28 +19225,28 @@ Try to be patient! Unknown hashes - + Tunnel id - + last transfer - + Speed - + Request id: %1 from [%2] %3 secs ago - + @@ -18595,12 +19254,12 @@ Try to be patient! Router Statistics - + F2F router information - + @@ -18608,42 +19267,42 @@ Try to be patient! Router Statistics - + Age in seconds - + Depth - + total - + Anonymous tunnels - + Authenticated tunnels - + Unknown Peer - + Turtle Router - + @@ -18651,47 +19310,47 @@ Try to be patient! Search requests repartition - + Tunnel requests repartition - + Turtle router traffic - + Tunnel requests Up - + Tunnel requests Dn - + Incoming file data - + Outgoing file data - + TR Forward probabilities - + Forwarded data - + @@ -18703,7 +19362,7 @@ Try to be patient! Loading - + @@ -18711,22 +19370,22 @@ Try to be patient! B - + KB - + MB - + GB - + @@ -18734,22 +19393,22 @@ Try to be patient! You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + @@ -18802,12 +19461,12 @@ Try to be patient! Quit - + Browse - + @@ -18815,62 +19474,62 @@ Try to be patient! Form - + Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -18878,123 +19537,123 @@ Try to be patient! Basic Details - + Group Name: - + Category: - + Travel - + Holiday - + Friends - + Family - + Work - + Random - + Description: - + Share Options - + Public - + All Friends - + Restricted - + N/A - + University Friends - + This List Contains - + All your Groups - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with XXX Key - + Cancel - + Create Group - + @@ -19003,107 +19662,107 @@ Try to be patient! Wiki Pages - + New Group - + Page Name - + Page Id - + Orig Id - + << - + >> - + Republish - + Edit - + New Page - + Refresh - + Search - + My Groups - + Subscribed Groups - + Popular Groups - + Other Groups - + Subscribe to Group - + Unsubscribe to Group - + Todo - + Show Wiki Group - + Edit Wiki Group - + @@ -19111,74 +19770,74 @@ Try to be patient! Page Edit History - + Enable Obsolete Edits - + Choose for Merge - + Merge for Republish (TODO) - + Publish Date - + By - + PageId - + \/ - + /\ - + Wiki Group: - + Page Name: - + Previous Version - + Tags - + Show Edit History - + @@ -19199,39 +19858,39 @@ Try to be patient! Revert - + Submit - + Hide Edit History - + Edit Page - + Create New Wiki Page - + Republish - + Edit Wiki Page - + @@ -19239,37 +19898,37 @@ Try to be patient! Create New Wiki Group - + Wiki Group - + Edit Wiki Group - + Add Wiki Moderators - + Select Wiki Moderators - + Create Group - + Update Group - + @@ -19277,98 +19936,98 @@ Try to be patient! TimeRange - + All - + Last Month - + Last Week - + Today - + New - + from - + until - + Search/Filter - + Network Wide - + Manage Accounts - + Showing: - + Yourself - + Friends - + Following - + Custom - + Account 1 - + Account 2 - + Account 3 - + @@ -19377,12 +20036,12 @@ Try to be patient! CheckBox - + Post Pulse to Wire - + @@ -19391,112 +20050,112 @@ Try to be patient! Unknown Unknown (size) - + B bytes - + KB kilobytes (1024 bytes) - + MB megabytes (1024 kilobytes) - + GB gigabytes (1024 megabytes) - + TB, terabytes (1024 gigabytes) - + TB terabytes (1024 gigabytes) - + Unknown - + < 1m < 1 minute - + %1 minutes e.g: 10minutes - + %1h %2m e.g: 3hours 5minutes - + %1d %2h e.g: 2days 10hours - + %1y %2d e.g: 2 years 2days - + k e.g: 3.1 k - + M e.g: 3.1 M - + G e.g: 3.1 G - + T e.g: 3.1 T - + Load avatar image - + Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_sr.ts b/retroshare-gui/src/lang/retroshare_sr.ts index 588f56a84..2151d5fd0 100644 --- a/retroshare-gui/src/lang/retroshare_sr.ts +++ b/retroshare-gui/src/lang/retroshare_sr.ts @@ -1,15 +1,17 @@ - + + + AWidget version - + RetroShare version - + @@ -28,7 +30,7 @@ Copy Info - + @@ -61,7 +63,7 @@ Add Comment - + @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file Нажалост, не могу да одредим подразумевану наредбу система за ову датотеку. @@ -143,117 +145,117 @@ Create Album - + Album Name: - + Category: - + Animals - + Family - + Friends - + Flowers - + Holiday - + Landscapes - + Pets - + Portraits - + Travel - + Work - + Random - + Caption: - + Where: - + Photographer: - + Description: - + Share Options - + Policy: - + Quality: - + Comments: - + Identity: - + @@ -263,86 +265,86 @@ Restricted - + Resize Images (< 1Mb) - + Resize Images (< 10Mb) - + Send Original Images - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with Identity - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Back - + Add Photos - + Publish Album - + Untitle Album - + Say something about this album... - + Where were these taken? - + Load Album Thumbnail - + @@ -351,101 +353,101 @@ p, li { white-space: pre-wrap; } Album - + Album Thumbnail - + TextLabel - + Summary - + Album Title: - + Category: - + Caption - + Where: - + When - + Description: - + Share Options - + Comments - + Publish Identity - + Visibility - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Add Photo - + Edit Photo - + Delete Photo - + Publish Photos - + @@ -460,25 +462,25 @@ p, li { white-space: pre-wrap; } TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + @@ -491,12 +493,12 @@ p, li { white-space: pre-wrap; } Changes to language will only take effect after restarting RetroShare! - + Choose the language used in RetroShare - + @@ -506,7 +508,7 @@ p, li { white-space: pre-wrap; } Choose RetroShare's interface style - + @@ -521,134 +523,134 @@ p, li { white-space: pre-wrap; } Tool Bar - + On Tool Bar - + On List Item - + Where do you want to have the buttons for menu? - + On List Ite&m - + Where do you want to have the buttons for the page? - + Icon Only - + Text Only - + Text Beside Icon - + Text Under Icon - + Choose the style of Tool Buttons. - + Choose the style of List Items. - + Icon Size = 8x8 - + Icon Size = 16x16 - + Icon Size = 24x24 - + Icon Size = 64x64 - + Icon Size = 128x128 - + Status Bar - + Remove surplus text in status bar. - + Compact Mode - + Hide Sound Status - + Hide Toaster Disable - + Show SysTray on Status Bar - + Disable SysTray ToolTip - + Icon Size = 32x32 - + @@ -663,37 +665,37 @@ p, li { white-space: pre-wrap; } Warning: The services here are experimental. Please help us test them. But Remember: Any data here *WILL* be lost when we upgrade the protocols. - + Identities - + Circles - + GxsForums - + GxsChannels - + The Wire - + Photos - + @@ -719,17 +721,17 @@ p, li { white-space: pre-wrap; } Change Avatar - + Your Avatar Picture - + Add Avatar - + @@ -739,12 +741,12 @@ p, li { white-space: pre-wrap; } Set your Avatar picture - + Load Avatar - + @@ -758,9 +760,9 @@ p, li { white-space: pre-wrap; } BWGraphSource - + KB/s - + @@ -768,7 +770,7 @@ p, li { white-space: pre-wrap; } N/A - + @@ -851,23 +853,23 @@ p, li { white-space: pre-wrap; } Sum - + All - + KB/s - + Count - + @@ -885,62 +887,62 @@ p, li { white-space: pre-wrap; } In (KB/s) - + InMax (KB/s) - + InQueue - + InAllocated (KB/s) - + Allocated Sent - + Out (KB/s) - + OutMax (KB/s) - + OutQueue - + OutAllowed (KB/s) - + Allowed Recvd - + TOTALS - + Totals - + @@ -953,42 +955,42 @@ p, li { white-space: pre-wrap; } Form - + Образац Friend: - + Type: - + Up - + Down - + Service: - + Unit: - + Log scale - + @@ -996,27 +998,27 @@ p, li { white-space: pre-wrap; } Channels - + Tabs - + General - + Load posts in background (Thread) - + Open each channel in a new tab - + @@ -1024,155 +1026,160 @@ p, li { white-space: pre-wrap; } Participants - + Change nick name - + Mute participant - + + + + + Ban this person (Sets negative opinion) + Send Message - + Sort by Name - + Sort by Activity - + - + Invite friends to this lobby - + Leave this lobby (Unsubscribe) - + Invite friends - + Select friends to invite: - + - + Welcome to lobby %1 - + Topic: %1 - + Lobby chat - + - + Lobby management - + %1 has left the lobby. - + %1 joined the lobby. - + %1 changed his name to: %2 - + Unsubscribe to lobby - + Do you want to unsubscribe to this chat lobby? - + Right click to mute/unmute participants<br/>Double click to address this person<br/> - + This participant is not active since: - + seconds - + - + Start private chat - + - + Decryption failed. - + Signature mismatch - + Unknown key - + Unknown hash - + Unknown error. - + Cannot start distant chat - + Distant chat cannot be initiated: - + @@ -1180,7 +1187,7 @@ p, li { white-space: pre-wrap; } Show Chat Lobby - + @@ -1188,49 +1195,49 @@ p, li { white-space: pre-wrap; } Chat Lobbies - + You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + Unknown Lobby - + Remove All - + ChatLobbyWidget - + Chat lobbies - + - + Name Назив @@ -1238,39 +1245,39 @@ p, li { white-space: pre-wrap; } Count - + Topic - + Private Lobbies - + Public Lobbies - + Create chat lobby - + [No topic provided] - + - + Selected lobby info - + @@ -1285,57 +1292,57 @@ p, li { white-space: pre-wrap; } Anonymous IDs accepted - + You're not subscribed to this lobby; Double click-it to enter and chat. - + Remove Auto Subscribe - + Add Auto Subscribe - + %1 invites you to chat lobby named %2 - + - + Search Chat lobbies - + Search Name - + Subscribed - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + Columns - + @@ -1348,34 +1355,34 @@ p, li { white-space: pre-wrap; } Не - + Lobby Name: - + Lobby Id: - + Topic: - + Type: - + Security: - + Peers: - + @@ -1385,93 +1392,93 @@ p, li { white-space: pre-wrap; } TextLabel - + No lobby selected. Select lobbies at left to show details. Double click lobbies to enter and chat. - + Private Subscribed Lobbies - + Public Subscribed Lobbies - + Chat Lobbies - + Leave this lobby - + Enter this lobby - + Enter this lobby as... - + Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + You will need to create an identity in order to join chat lobbies. - + Choose an identity for this lobby: - + Create an identity and enter this lobby - + Show - + Прикажи column - + @@ -1484,28 +1491,28 @@ Double click lobbies to enter and chat. Write a quick Message - + Send Mail - + Write Message - + Start Chat - + Send - + @@ -1513,149 +1520,154 @@ Double click lobbies to enter and chat. Поништи - + Quick Message - + ChatPage - + General - + - + Distant Chat - + Everyone - + Contacts - + Nobody - + Accept encrypted distant chat from - + Chat Settings - + Enable Emoticons Private Chat - + Enable Emoticons Group Chat - + Enable custom fonts - + Enable custom font size - + Minimum font size - + Enable bold - + Enable italics - + Minimum text contrast - + Send message with Ctrl+Return - + + + + + Send as plain text by default + Chat Lobby - + Blink tab icon - + Private Chat - + Open Window for new chat - + Grab Focus when chat arrives - + Use a single tabbed window - + Blink window/tab icon - + Chat Font - + Change Chat Font - + Chat Font: - + History - + @@ -1666,14 +1678,14 @@ Double click lobbies to enter and chat. Group chat - + Variant - + @@ -1687,108 +1699,108 @@ Double click lobbies to enter and chat. Description: - + Private chat - + Incoming - + Outgoing - + - + Incoming message in history - + Outgoing message in history - + Incoming message - + Outgoing message - + Outgoing offline message - + System - + System message - + UserName - + /me is sending a message with /me - + Chat - + <html><head/><body><p align="justify">In this tab you can setup how many chat messages Retroshare will keep saved on the disc and how much of the previous conversation it will display, for the different chat systems. The max storage period allows to discard old messages and prevents the chat history from filling up with volatile chat (e.g. chat lobbies and distant chat).</p></body></html> - + Chatlobbies - + Enabled: - + Saved messages (0 = unlimited): - + Number of messages restored (0 = off): - + Maximum storage period, in days (0=keep all): - + Search by default - + @@ -1798,100 +1810,100 @@ Double click lobbies to enter and chat. Whole Words - + Move to cursor - + Color All Text Found - + Color of found text - + Choose color of found text - + Maximum count for coloring matching text - + Threshold for automatic search - + Default identity for chat lobbies: - + Show Bar by default - + - + Private chat invite from - + Name : - + PGP id : - + Valid until : - + ChatStyle - + Standard style for group chat - + Compact style for group chat - + Standard style for private chat - + Compact style for private chat - + Standard style for history - + Compact style for history - + @@ -1899,7 +1911,7 @@ Double click lobbies to enter and chat. Show Chat - + @@ -1907,7 +1919,7 @@ Double click lobbies to enter and chat. Private Chat - + @@ -1918,278 +1930,286 @@ Double click lobbies to enter and chat. Затвори - + Send - + - + Bold - + Underline - + Italic - + - + Attach a Picture - + - + Strike - + Clear Chat History - + Disable Emoticons - + Save Chat History - + Browse Message History - + Browse History - + Delete Chat History - + Deletes all stored and displayed chat history - + Choose font - + Reset font to default - + - + Quote - + Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... - + - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? - + - + Add Extra File - + Load Picture File - + Save as... - + Text File (*.txt );;All Files (*) - + appears to be Offline. - + Messages you send will be delivered after Friend is again Online - + is Idle and may not reply - + is Away and may not reply - + is Busy and may not reply - + - + Find Case Sensitively - + Find Whole Words - + Move To Cursor - + Don't stop to color after X items found (need more CPU) - + - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> - + <b>Find Next </b><br/><i>Ctrl+G</i> - + <b>Find </b><br/><i>Ctrl+F</i> - + - + (Status) - + - + Set text font & color - + Attach a File - + - + WARNING: Could take a long time on big history. - + Choose color - + - + <b>Mark this selected text</b><br><i>Ctrl+M</i> - + - - %1This message consists of %2 characters. - - - - + items found. - + No items found. - + <b>Return to marked text</b><br><i>Ctrl+M</i> - + - - Display Search Box - - - - - Search Box - - - - + Type a message here - + - + Don't stop to color after - + items found (need more CPU) - - - - - Warning: - + @@ -2197,25 +2217,25 @@ Double click lobbies to enter and chat. TextLabel - + Empty Circle - + CirclesDialog - + Showing details: - + Membership - + @@ -2230,24 +2250,24 @@ Double click lobbies to enter and chat. - + Personal Circles - + Public Circles - + Peers - + Status - + @@ -2256,301 +2276,275 @@ Double click lobbies to enter and chat. - + Friends - + Friends of Friends - + Others - + Permissions - + Anon Transfers - + Discovery - + Share Category - + Create Personal Circle - + Create External Circle - + Edit Circle - + Todo - + Friends Of Friends - + - + External Circles (Admin) - + External Circles (Subscribed) - + External Circles (Other) - + Circles - + ConfCertDialog - + Details - + Node info - + Peer Address - + - + Local Address - + External Address - + Dynamic DNS - + Port - + Addresses list - + - + + Use this certificate to make friends: + + + + Include signatures - + - - + + RetroShare Ретрошер - - + + Error : cannot get peer details. - + - - Use as direct source, when available - - - - - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - - - - + Encryption - + Not connected - + Peer Addresses - + - Options - Опције + Опције - + Retroshare node details - + - + Node name : - + Status : - + Last Contact : - + Retroshare version : - + Node ID : - + PGP key : - + Retroshare Certificate - + - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + none - + <p>This certificate contains: - + <li>a <b>node ID</b> and <b>name</b> - + an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + <p>You can use this certificate to make new friends. Send it by email, or give it hand to hand.</p> - + - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + with - + external signatures</li> - + @@ -2558,228 +2552,228 @@ Double click lobbies to enter and chat. Connect Friend Wizard - + Add a new Friend - + &You get a certificate file from your friend - + &Make friend with selected friends of my friends - + Text certificate - + Use text representation of the PGP certificates. - + Include signatures - + Copy your Cert to Clipboard - + Save your Cert into a File - + Run Email program - + Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + Certificate files - + Use PGP certificates saved in files. - + Import friend's certificate... - + You have to generate a file with your certificate and give it to your friend. Also, you can use a file generated before. - + Export my certificate... - + Drag and Drop your friends's certificate in this Window or specify path in the box below - + Browse - + Friends of friends - + Select now who you want to make friends with. - + Show me: - + Make friend with these peers - + RetroShare ID - + Use RetroShare ID for adding a Friend which is available in your network. - + Add Friends RetroShare ID... - + Paste Friends RetroShare ID in the box below - + Enter the RetroShare ID of your Friend, e.g. Peer@BDE8D16A46D938CF - + RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + GMail - + Yahoo - + Outlook - + AOL - + Yandex - + Email - + Invite Friends by Email - + Enter your friends' email addresses (separate each one with a semicolon) - + Your friends' email addresses: - + Enter Friends Email addresses - + Subject: - + Friend request - + Details about the request - + Peer details - + @@ -2791,18 +2785,18 @@ Double click lobbies to enter and chat. Email: - + Node: - + Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + @@ -2819,194 +2813,194 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + Add friend to group: - + Authenticate friend (Sign PGP Key) - + Add as friend to connect with - + To accept the Friend Request, click the Finish button. - + Sorry, some error appeared - + Here is the error message: - + Make Friend - + Details about your friend: - + Key validity: - + Signers - + This peer is already on your friend list. Adding it might just set it's ip address. - + Abnormal size read is bigger than memory block. - + Invalid external IP. - + Invalid local IP. - + Invalid checksum section. - + Checksum mismatch. Certificate is corrupted. - + Unknown section type found (Certificate might be corrupted). - + Missing checksum. - + Unknown certificate error - + Certificate Load Failed - + Cannot get peer details of PGP key %1 - + Any peer I've not signed - + Friends of my friends who already trust me - + Signed peers showing as denied - + Peer name - + Also signed by - + Peer id - + RetroShare Invitation - + Ultimate - + Full - + Marginal - + @@ -3016,186 +3010,186 @@ resources. No Trust - + You have a friend request from - + Certificate Load Failed:file %1 not found - + This Peer %1 is not available in your Network - + Use new certificate format (safer, more robust) - + Use old (backward compatible) certificate format - + Remove signatures - + RetroShare Invite - + No or misspelled BEGIN tag found - + No or misspelled END tag found - + No checksum found (the last 5 chars should be separated by a '=' char), or no newline after tag line (e.g. line beginning with Version:) - + Unknown error. Your cert is probably not even a certificate. - + Connect Friend Help - + You can copy this text and send it to your friend via email or some other way - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + Save as... - + RetroShare Certificate (*.rsc );;All Files (*) - + Select Certificate - + Sorry, create certificate failed - + Please choose a filename - + Certificate file successfully created - + Sorry, certificate file creation failed - + *** None *** - + Use as direct source, when available - + IP-Addr: - + IP-Address - + Recommend many friends to each others - + Friend Recommendations - + The text below is your Retroshare certificate. You have to provide it to your friend - + Message: - + Recommend friends - + To - + Please select at least one friend for recommendation. - + Please select at least one friend as recipient. - + Add key to keyring - + This key is already in your keyring - + @@ -3203,69 +3197,69 @@ resources. This might be useful for sending distant messages to this peer even if you don't make friends. - + Certificate has wrong version number. Remember that v0.6 and v0.5 networks are incompatible. - + Invalid node id. - + Auto-download recommended files - + Can be used as direct source - + Require whitelist clearance to connect - + Add IP to whitelist - + No IP in this certificate! - + <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + Added with certificate from %1 - + Paste Cert of your friend from Clipboard - + Certificate Load Failed:can't read from file %1 - + Certificate Load Failed:something is wrong with %1 - + @@ -3273,228 +3267,228 @@ even if you don't make friends. Connection Progress - + Connecting to: - + TextLabel - + Network - + Net Result - + Connect Status - + Contact Result - + DHT Startup - + DHT Result - + Peer Lookup - + Peer Result - + UDP Setup - + UDP Result - + Connection Assistant - + Invalid Peer ID - + Unknown State - + Offline - + Behind Symmetric NAT - + Behind NAT & No DHT - + NET Restart - + Behind NAT - + No DHT - + NET STATE GOOD! - + DHT Failed - + DHT Disabled - + DHT Okay - + Finding RS Peers - + Lookup requires DHT - + Searching DHT - + Lookup Timeout - + Peer DHT NOT ACTIVE - + Lookup Failure - + Peer Offline - + Peer Firewalled - + Peer Online - + Connection In Progress - + Initial connections can take a while, please be patient - + If an error is detected it will be displayed here - + You can close this dialog at any time - + Retroshare will continue connecting in the background - + Connection Timeout - + Connection Attempt has taken too long - + But no error has been detected - + Try again shortly, Retroshare will continue connecting in the background - + @@ -3503,214 +3497,214 @@ even if you don't make friends. If you continue to get this message, please contact developers - + DHT Lookup Timeout - + DHT Lookup has taken too long - + UDP Connection Timeout - + UDP Connection has taken too long - + UDP Connection Failed - + We are continually working to improve connectivity. - + In this case the UDP connection attempt has failed. - + Improve connectivity by opening a Port in your Firewall. - + Connected - + Congratulations, you are connected - + DHT startup Failed - + Your DHT has not started properly - + Common causes of this problem are: - + - You are not connected to the Internet - + - You have a missing or out-of-date DHT bootstrap file (bdboot.txt) - + DHT is Disabled - + The DHT is OFF, so Retroshare cannot find your Friends. - + Retroshare has tried All Known Addresses, with no success - + The DHT is needed if your friends have Dynamic IP Addresses. - + Go to Settings->Server and change config to "Public: DHT and Discovery" - + Peer Denied Connection - + We successfully reached your Friend. - + but they have not added you as a Friend. - + Please contact them to add your Certificate - + Your Retroshare Node is configured Okay - + We successfully reached your Friend via UDP. - + Please contact them to add your Full Certificate - + We Cannot find your Friend. - + They are either offline or their DHT is Off - + Peer DHT is Disabled - + Your Friend has configured Retroshare with DHT Disabled. - + You have previously connected to this Friend - + Retroshare has determined that they have DHT switched off - + Without the DHT it is hard for Retroshare to locate your friend - + Try importing a fresh Certificate to get up-to-date connection information - + Incomplete Friend Details - + You have imported an incomplete Certificate - + Please retry importing the full Certificate - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> - + @@ -3718,248 +3712,314 @@ p, li { white-space: pre-wrap; } N/A - + UNVERIFIABLE FORWARD! - + UNVERIFIABLE FORWARD & NO DHT - + Searching - + UDP Connect Timeout - + Only Advanced Retroshare users should switch off the DHT. - + Retroshare cannot connect without this information - + They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details - + - - + Name Назив - - Creator - - - - - Distribution - - - - + Public Јавно - - Self-Restricted - - - - - Restricted to: - - - - - Circle Membership - - - - + IDs ИД - - Known Identities - - - - + Filter - + - + Nickname - + - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ИД Type - + - - - - + + Name: + Назив: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + Приватно + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare Ретрошер - + Please set a name for your Circle - + - - Personal Circle Details - - - - - External Circle Details - - - - - Cannot Edit Existing Circles Yet - - - - + No Restriction Circle Selected - + - + No Circle Limitations Selected - + - - Create New Personal Circle - - - - - Create New External Circle - - - - + Add Додај Remove - + - + Search Претражи - + All - + Signed - + Signed by known nodes - + - + Edit Circle - + - - + PGP Identity - + - - - + + + Anon Id - + + + + + Circle name + + + + + Update + + Close + Затвори + + + + + Create New Circle + + + + + Create + + + + PGP Linked Id - + + + + + Add Member + + + + + Remove Member + CreateGroup - + Create a Group - + + + + + Group Name: + + + + + Group ID: + - Group Name - Назив + Назив - + Enter a name for your group - + - + + To be defined + + + + Friends - + Edit Group - + @@ -3968,100 +4028,100 @@ p, li { white-space: pre-wrap; } New Channel Post - + Channel Post - + Channel Post to: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> - + Add File to Attach - + Add Channel Thumbnail - + Message - + Subject : - + Attachments - + Allow channels to get frame for message thumbnail from movie media attachments or not - + Auto Thumbnail - + Drag and Drop Files from Search Results - + Paste RetroShare Links - + Paste RetroShare Link - + Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + Add Extra File - + @@ -4072,52 +4132,52 @@ p, li { white-space: pre-wrap; } File already Added and Hashed - + Please add a Subject - + Load thumbnail picture - + Generate mass data - + Do you really want to generate %1 messages ? - + You are about to add files you're not actually sharing. Do you still want this to happen? - + About to post un-owned files to a channel. - + CreateGxsForumMsg - + Post Forum Message - + Forum - + @@ -4127,42 +4187,42 @@ p, li { white-space: pre-wrap; } Attach File - + Sign Message - + Forum Post - + Attach files via drag and drop - + You can attach files via drag and drop here in this window - + Start New Thread - + - + No Forum - + - + In Reply to - + @@ -4174,54 +4234,64 @@ p, li { white-space: pre-wrap; } Please set a Forum Subject and Forum Message - + Please choose Signing Id, it is required - + Add Extra File - + + + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + - + Generate mass data - + Do you really want to generate %1 messages ? - + - + Send - + - + Forum Message - + Forum Message has not been Sent. Do you want to reject this message? - + Post as - + Congrats, you found a bug! - + @@ -4230,82 +4300,82 @@ Do you want to reject this message? Create Chat Lobby - + A chat lobby is a decentralized and anonymous chat group. All participants receive all messages. Once the lobby is created you can invite other friends from the Friends tab. - + Lobby name: - + Lobby topic: - + Visibility: - + Public (Visible by friends) - + Private (Works on invitation only) - + <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + Security: - + Select the Friends with which you want to group chat. - + Invited friends - + Put a sensible lobby name here - + Set a descriptive topic here - + Contacts: - + Identity to use: - + @@ -4313,7 +4383,7 @@ Do you want to reject this message? Public Information - + @@ -4328,52 +4398,52 @@ Do you want to reject this message? Location ID: - + Software Version: - + Online since: - + Other Information - + Certificate - + Include signatures - + Save Key into a file - + A RetroShare link with your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + Error - + Your certificate could not be parsed correctly. Please contact the developers. - + @@ -4383,67 +4453,67 @@ Do you want to reject this message? Your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + Save as... - + RetroShare Certificate (*.rsc );;All Files (*) - + TextLabel - + PGP fingerprint: - + Node information - + PGP Id : - + Friend nodes: - + Copy certificate to clipboard - + Save certificate to file - + Node - + Create new node... - + show statistics window - + @@ -4451,7 +4521,7 @@ Do you want to reject this message? users - + @@ -4459,38 +4529,38 @@ Do you want to reject this message? DHT - + <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + DHT Off - + DHT Searching for RetroShare Peers - + RetroShare users in DHT (Total DHT users) - + DHT Good - + No peer found in DHT - + @@ -4498,27 +4568,27 @@ Do you want to reject this message? B - + KB - + MB - + GB - + File Never Seen - + @@ -4526,62 +4596,62 @@ Do you want to reject this message? Details - + General - + Done - + Active - + Outstanding - + Needs checking - + retroshare link(s) - + retroshare link - + Copy link to clipboard - + Rating - + Comments - + File Name - + @@ -4589,32 +4659,32 @@ Do you want to reject this message? Net Status - + Connect Options - + Network Mode - + Nat Type - + Nat Hole - + Peer Address - + @@ -4624,298 +4694,298 @@ Do you want to reject this message? PeerId - + DHT Status - + ConnectLogic - + Connect Status - + Connect Mode - + Request Status - + Cb Status - + RsId - + Bucket - + IP:Port - + Key - + Status Flags - + Found - + Last Sent - + Last Recv - + Relay Mode - + Source - + Proxy - + Destination - + Class - + Age - + Bandwidth - + IP - + Search IP - + Copy %1 to clipboard - + Unknown NetState - + Offline - + Local Net - + Behind NAT - + External IP - + UNKNOWN NAT STATE - + SYMMETRIC NAT - + DETERMINISTIC SYM NAT - + RESTRICTED CONE NAT - + FULL CONE NAT - + OTHER NAT - + NO NAT - + UNKNOWN NAT HOLE STATUS - + NO NAT HOLE - + UPNP FORWARD - + NATPMP FORWARD - + MANUAL FORWARD - + NET BAD: Unknown State - + NET BAD: Offline - + NET BAD: Behind Symmetric NAT - + NET BAD: Behind NAT & No DHT - + NET WARNING: NET Restart - + NET WARNING: Behind NAT - + NET WARNING: No DHT - + NET STATE GOOD! - + CAUTION: UNVERIFIABLE FORWARD! - + CAUTION: UNVERIFIABLE FORWARD & NO DHT - + Not Active (Maybe Connected!) - + Searching - + Failed - + offline - + Unreachable - + ONLINE - + Direct - + @@ -4925,64 +4995,64 @@ Do you want to reject this message? Disconnected - + Udp Started - + Connected - + Request Active - + No Request - + Unknown - + RELAY END - + Yourself - + unknown - + unlimited - + Own Relay - + RELAY PROXY - + @@ -4991,27 +5061,27 @@ Do you want to reject this message? %1 secs ago - + %1B/s - + Relays - + 0x%1 EX:0x%2 - + never - + @@ -5019,113 +5089,113 @@ Do you want to reject this message? DHT - + Net Status: - + Network Mode: - + Nat Type: - + Nat Hole: - + Connect Mode: - + Peer Address: - + Unreach: - + Online: - + Offline: - + DHT Peers: - + Disconnected: - + Direct: - + Proxy: - + Relay: - + Filter: - + Search Network - + Peers - + Relay - + DHT Graph - + Proxy VIA - + Relay VIA - + @@ -5133,98 +5203,98 @@ Do you want to reject this message? Incoming Directory - + Browse - + Partials Directory - + Shared Directories - + Automatically share incoming directory (Recommended) - + Edit Share - + Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. - + Remember hashed files for - + days - + Forget any hashed file that is not anymore shared. - + Clean Hash Cache - + Auto-check shared directories every - + minute(s) - + Cache cleaning confirmation - + This will forget any former hash of non shared files. Do you confirm ? - + Set Incoming Directory - + Set Partials Directory - + Directories - + @@ -5232,12 +5302,12 @@ you plug it in. Waiting outgoing discovery operations - + Waiting incoming discovery operations - + @@ -5245,7 +5315,7 @@ you plug it in. Start file - + @@ -5255,36 +5325,36 @@ you plug it in. to - + ignore case - + dd.MM.yyyy - + KB - + MB - + GB - + @@ -5292,12 +5362,12 @@ you plug it in. Expression Widget - + Delete this expression - + @@ -5305,52 +5375,52 @@ you plug it in. &New - + Add new Association - + &Edit - + Edit this Association - + &Remove - + Remove this Association - + File type - + Friend Help - + You this - + Associations - + @@ -5358,47 +5428,47 @@ you plug it in. Chunk map - + Active chunks - + Availability map (%1 active source) - + Availability map (%1 active sources) - + File info - + File name - + Destination folder - + File hash - + File size - + @@ -5406,52 +5476,52 @@ you plug it in. bytes - + Chunk size - + Number of chunks - + Transferred - + Remaining - + Number of sources - + Chunk strategy - + Transfer type - + Anonymous F2F - + Direct friend transfer / Availability assumed - + @@ -5459,73 +5529,73 @@ you plug it in. Picture - + Video - + Audio - + Archive - + Program - + CD/DVD-Image - + Document - + RetroShare collection file - + Subtitles - + Nintendo DS Rom - + Patch - + C++ - + Header - + C - + @@ -5533,37 +5603,37 @@ you plug it in. Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + Directory - + @@ -5571,37 +5641,37 @@ you plug it in. Misc - + Set message to read on activate - + Expand new messages - + Forum - + Load embedded images - + Tabs - + Open each forum in a new tab - + @@ -5609,283 +5679,283 @@ you plug it in. Last Contact - + Hide Offline Friends - + export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + Show State - + Show Groups - + - + Group - + Friend - + Edit Group - + Remove Group - + Chat - + Recommend this Friend to... - + Copy certificate link - + Add to group - + - + Search - + Претражи Sort by state - + - + Move to group - + Groups - + Remove from group - + Remove from all groups - + Expand all - + Collapse all - + Available - + - + Do you want to remove this Friend? - + - + Done! - + Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + Error - + Failed to get a file! - + File is not writeable! - + File is not readable! - + IP - + - + Attempt to connect - + Create new group - + Display - + Paste certificate link - + Node - + Remove Friend Node - + - + Do you want to remove this node? - + Friend nodes - + - + Send message to whole group - + Details - + Deny - + Send message - + @@ -5893,17 +5963,17 @@ at least one peer was not added to a group Confirm Friend Request - + wants to be friend with you on RetroShare - + Unknown (Incoming) Connect Attempt - + @@ -5911,12 +5981,12 @@ at least one peer was not added to a group Search : - + Sort by state - + @@ -5926,17 +5996,17 @@ at least one peer was not added to a group Search Friends - + - + Mark all - + Mark none - + @@ -5944,122 +6014,122 @@ at least one peer was not added to a group Edit status message - + Broadcast - + Clear Chat History - + Add Friend - + Add your Avatar Picture - + A - + Set your status message - + Edit your status message - + Browse Message History - + Browse History - + Save Chat History - + Add a new Group - + Delete Chat History - + Deletes all stored and displayed chat history - + Create new Chat lobby - + Choose Font - + Reset font to default - + Keyring - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + Retroshare broadcast chat: messages are sent to all connected friends. - + Network - + Network graph - + Set your status message here. - + @@ -6067,7 +6137,7 @@ at least one peer was not added to a group Create new Profile - + @@ -6077,295 +6147,295 @@ at least one peer was not added to a group Enter your nickname here - + Email - + Be careful: this email will be visible to your friends and friends of your friends. This information is required by PGP, but to stay anonymous, you can use a fake email. - + Password - + [Optional] Visible to your friends, and friends of friends. - + [Required] Examples: Home, Laptop,... - + [Required] Visible to your friends, and friends of friends. - + All fields are required with a minimum of 3 characters - + Password (check) - + - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> - + [Required] Type the same password again here. - + Passwords do not match - + Port - + This password is for PGP - + Node - + Create new node - + Generate new node - + Create a new node - + You can use it now to create a new node. - + Invalid hidden node - + Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile - + Import new profile - + Export selected profile - + Advanced options - + Create a hidden node - + Use profile - + hidden address - + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + Create new profile - + Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + Export profile - + RetroShare profile files (*.asc) - + Profile saved - + @@ -6374,77 +6444,77 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + Import profile - + Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6452,103 +6522,133 @@ Fill in your PGP password when asked, to sign your new key. Startup - + Start RetroShare when my system starts - + Start minimized - + Start minimized on system start - + For Advanced Users - + Enable Advanced Mode (Restart Required) - + Misc - + Do not show the Quit RetroShare MessageBox - + Auto Login - + - Register retroshare:// as URL protocol (Restart required) - + Register retroshare:// as URL protocol + You need administrator rights to change this option. - + - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle - + Idle Time - + seconds - + Launch startup wizard - + - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error - + Could not add retroshare:// as protocol. - + Could not remove retroshare:// protocol. - + General - + - + Minimize to Tray Icon - + @@ -6557,55 +6657,55 @@ Fill in your PGP password when asked, to sign your new key. Getting Started - + Invite Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be sure to get their invitation back as well... </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can only connect with friends if you have both added each other.</span></p></body></html> - + Add Your Friends to RetroShare - + Add Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6617,31 +6717,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6654,107 +6754,107 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + Connect To Friends - + Advanced: Open Firewall Port - + Further Help and Support - + Open RS Website - + Open FAQ Wiki - + Open Online Forums - + Email Support - + Email Feedback - + RetroShare Invitation - + Your friend has installed RetroShare, and would like you to try it out. - + You can get RetroShare here: %1 - + RetroShare is a private Friend-2-Friend sharing network. - + forums and channels, all of which are as secure as the file-sharing. - + Here is your friends ID Certificate. - + Cut and paste the text below into your RetroShare client - + and send them your ID Certificate to get securely connected. - + Cut Below Here - + RetroShare Feedback - + RetroShare Support - + It has many features, including built-in chat, messaging, - + @@ -6762,82 +6862,82 @@ p, li { white-space: pre-wrap; } Router Statistics - + GroupBox - + ID - + ИД Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + Unknown Peer - + Pending packets - + Unknown - + @@ -6845,22 +6945,22 @@ p, li { white-space: pre-wrap; } Managed keys - + Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6868,7 +6968,15 @@ p, li { white-space: pre-wrap; } Show Group Chat - + + + + + GroupChooser + + + [Unknown] + @@ -6876,27 +6984,27 @@ p, li { white-space: pre-wrap; } Friends - + Family - + Co-Workers - + Other Contacts - + Favorites - + @@ -6904,78 +7012,78 @@ p, li { white-space: pre-wrap; } Directory is browsable for friends from groups - + Directory is NOT browsable for friends from groups - + Directory is accessible by anonymous tunnels from friends from groups - + Directory is NOT accessible by anonymous tunnels from friends from groups - + Directory is browsable for any friend - + Directory is NOT browsable for any friend - + Directory is accessible by anonymous tunnels from any friend - + Directory is NOT accessible by anonymous tunnels from any friend - + No one can browse this directory - + No one can anonymously access this directory. - + All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -6988,7 +7096,7 @@ p, li { white-space: pre-wrap; } Hide tabbar with one open tab - + @@ -6996,47 +7104,47 @@ p, li { white-space: pre-wrap; } Share - + Contacts: - + - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer - + - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7044,57 +7152,62 @@ p, li { white-space: pre-wrap; } Title - + Search Title - + Description - + Search Description - + Sort by Name - + Sort by Popularity - + Sort by Last Post - + Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + Display - + - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7102,17 +7215,17 @@ p, li { white-space: pre-wrap; } and - + and / or - + or - + @@ -7127,22 +7240,22 @@ p, li { white-space: pre-wrap; } Extension - + Hash - + Date - + Size - + @@ -7152,47 +7265,47 @@ p, li { white-space: pre-wrap; } contains - + contains all - + is - + less than - + less than or equal - + equals - + greater than or equal - + greater than - + is in range - + @@ -7201,68 +7314,68 @@ p, li { white-space: pre-wrap; } Channels - + Create Channel - + Enable Auto-Download - + My Channels - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + Subscribed Channels - + Popular Channels - + Other Channels - + Select channel download directory - + Disable Auto-Download - + Set download directory - + [Default directory] - + Specify... - + @@ -7275,47 +7388,47 @@ p, li { white-space: pre-wrap; } Download - + TextLabel - + Open folder - + Error - + Paused - + Waiting - + Checking - + Are you sure that you want to cancel and delete the file? - + Can't open folder - + @@ -7328,27 +7441,27 @@ p, li { white-space: pre-wrap; } Filename - + Size - + Title - + Published - + Status - + @@ -7356,37 +7469,37 @@ p, li { white-space: pre-wrap; } Create New Channel - + Channel - + Edit Channel - + Add Channel Admins - + Select Channel Admins - + Update Channel - + Create - + @@ -7394,12 +7507,12 @@ p, li { white-space: pre-wrap; } Copy RetroShare Link - + Subscribe to Channel - + @@ -7415,17 +7528,17 @@ p, li { white-space: pre-wrap; } Channel Description - + Loading - + New Channel - + @@ -7437,30 +7550,40 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Промени статус порука Download - + - + Play - + Comments - + Copy RetroShare Link - + @@ -7476,7 +7599,7 @@ p, li { white-space: pre-wrap; } Set as read and remove item - + @@ -7484,19 +7607,19 @@ p, li { white-space: pre-wrap; } Уклони ставку - + Channel Feed - + - + Files - + Warning! You have less than %1 hours and %2 minute before this file is deleted Consider saving it. - + @@ -7506,12 +7629,12 @@ p, li { white-space: pre-wrap; } New - + 0 - + 0 @@ -7521,27 +7644,27 @@ p, li { white-space: pre-wrap; } I like this - + I dislike this - + - + Loading - + - + Open Отвори Open File - + @@ -7552,99 +7675,140 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel - + Loading - + Search channels - + - + Title - + Search Title - + Message - + Search Message - + Filename - + Search Filename - + No Channel Selected - + - + + Public + Јавно + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download - + Enable Auto-Download - + Show feeds - + Show files - + - + + Administrator: + + + + + + unknown + + + + + Distribution: + + + + Feeds - + Files - + - + Subscribers - + - + Description: - + - + Posts (at neighbor nodes): - + @@ -7652,7 +7816,7 @@ p, li { white-space: pre-wrap; } Channel Post - + @@ -7660,7 +7824,7 @@ p, li { white-space: pre-wrap; } Comment Container - + @@ -7673,27 +7837,27 @@ p, li { white-space: pre-wrap; } Hot - + New - + Top - + Voter ID: - + Refresh - + @@ -7703,32 +7867,32 @@ p, li { white-space: pre-wrap; } Author - + Date - + Score - + UpVotes - + DownVotes - + OwnVote - + @@ -7736,22 +7900,22 @@ p, li { white-space: pre-wrap; } Reply to Comment - + Submit Comment - + Vote Up - + Vote Down - + @@ -7759,32 +7923,32 @@ p, li { white-space: pre-wrap; } Make Comment - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> - + Signed by - + Comment Signing Error - + You need to create an Identity before you can comment - + @@ -7792,37 +7956,37 @@ before you can comment Create New Forum - + Forum - + Edit Forum - + Update Forum - + Add Forum Admins - + Select Forum Admins - + Create - + @@ -7830,7 +7994,7 @@ before you can comment Subscribe to Forum - + @@ -7846,17 +8010,17 @@ before you can comment Forum Description - + Loading - + New Forum - + @@ -7870,12 +8034,12 @@ before you can comment Subject: - + Unsubscribe To Forum - + @@ -7886,7 +8050,7 @@ before you can comment Set as read and remove item - + @@ -7896,17 +8060,17 @@ before you can comment In Reply to: - + Loading - + Forum Feed - + @@ -7922,14 +8086,14 @@ before you can comment Образац - + Start new Thread for Selected Forum - + Search forums - + @@ -7939,150 +8103,150 @@ before you can comment Threaded View - + Flat View - + - + Title - + Date - + - + Author - + Save image - + - + Loading - + Reply Message - + Previous Thread - + Next Thread - + Download all files - + Next unread - + Search Title - + Search Date - + Search Author - + Content - + Search Content - + No name - + Reply - + Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + Start New Thread - + Expand all - + Collapse all - + Mark as read - + with children - + Mark as unread - + Copy RetroShare Link - + @@ -8097,73 +8261,113 @@ before you can comment This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + Јавно + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + + + + Anti-spam - + [ ... Redacted message ... ] - + Anonymous - + signed - + none - + [ ... Missing Message ... ] - + <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8178,35 +8382,35 @@ before you can comment No Forum Selected! - + You cant reply to a non-existant Message - + You cant reply to an Anonymous Author - + Original Message - + From - + Sent - + @@ -8216,42 +8420,42 @@ before you can comment On %1, %2 wrote: - + - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description - + By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8259,7 +8463,7 @@ before you can comment Forum Post - + @@ -8267,38 +8471,38 @@ before you can comment <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + Forums - + Create Forum - + My Forums - + Subscribed Forums - + Popular Forums - + Other Forums - + @@ -8306,85 +8510,85 @@ before you can comment Waiting - + Retrieving - + Loading - + GxsGroupDialog - - + + Name Назив - + Add Icon - + Key recipients can publish to restricted-type group and can view and publish for private-type channels - + Share Publish Key - + - + check peers you would like to share private publish key with - + Share Key With - + - - + + Description - + - + Message Distribution - + - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public Јавно - - - Restricted to Group - - - - - + Only For Your Friends - + - + Publish Signatures - + @@ -8394,184 +8598,249 @@ before you can comment New Thread - + Required - + Encrypted Msgs - + Personal Signatures - + PGP Required - + Signature Required - + If No Publish Signature - + - Comments - + - + Allow Comments - + No Comments - + Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: - + - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name - + - + + PGP signature from known ID required + + + + Load Group Logo - + - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback - + Owner: - + - + Set a descriptive description here - + - + Info - + - - Comments allowed - - - - - Comments not allowed - - - - + ID ИД - + Last Post Последња порука + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity Популарност - - - Posts - - - Type - + Posts + - + Author - + GxsIdLabel - + @@ -8579,22 +8848,22 @@ before you can comment Loading - + Todo - + Print - + PrintPreview - + @@ -8609,116 +8878,116 @@ before you can comment Open in new tab - + Show Details - + Edit Details - + - + + Share publish permissions + + + + Copy RetroShare Link - + Mark all as read - + Mark all as unread - + - + AUTHD - - - - - Share admin permissions - + GxsIdChooser - + No Signature - + - + Create new Identity - + GxsIdDetails - + Loading - + Not found - + No Signature - + [Banned] - + Authentication - + unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8726,12 +8995,12 @@ before you can comment Loading - + No name - + @@ -8739,42 +9008,42 @@ before you can comment Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + @@ -8783,17 +9052,17 @@ before you can comment Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + @@ -8802,22 +9071,22 @@ before you can comment RetroShare Help - + Find: - + Find Previous - + Find Next - + @@ -8827,17 +9096,17 @@ before you can comment Whole words only - + Contents - + Help Topics - + @@ -8848,74 +9117,74 @@ before you can comment Searching for: - + Found Documents - + Back - + Move to previous page (Backspace) - + Backspace - + Forward - + Move to next page (Shift+Backspace) - + Shift+Backspace - + Home - + Move to the Home page (Ctrl+H) - + Ctrl+H - + Find - + Search for a word or phrase on current page (Ctrl+F) - + Ctrl+F - + @@ -8925,43 +9194,43 @@ before you can comment Close Vidalia Help - + Esc - + Supplied XML file is not a valid Contents document. - + Search reached end of document - + Search reached start of document - + Text not found in document - + Found %1 results - + Error Loading Help Contents: - + @@ -8974,22 +9243,22 @@ before you can comment Authors - + Thanks to - + Translation - + License Agreement - + @@ -8998,14 +9267,14 @@ before you can comment p, li { white-space: pre-wrap; } </style></head><body style=" font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; font-weight:600;">About RetroShare</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9016,14 +9285,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Swedish: </span><span style=" font-size:8pt;"> Daniel Wester</span><span style=" font-size:8pt; font-weight:600;"> &lt;</span><span style=" font-size:8pt;">wester@speedmail.se</span><span style=" font-size:8pt; font-weight:600;">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">German: </span><span style=" font-size:8pt;">Jan</span><span style=" font-size:8pt; font-weight:600;"> </span><span style=" font-size:8pt;">Keller</span> &lt;<span style=" font-size:8pt;">trilarion@users.sourceforge.net</span>&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polish: </span>Maciej Mrug</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9033,16 +9302,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + Libraries - + @@ -9050,115 +9319,115 @@ p, li { white-space: pre-wrap; } Opening External Link - + RetroShare can open the link you selected in your default Web browser. If your browser is not currently configured to use Tor then the request will not be anonymous. - + Do you want Retroshare to open the link in your Web browser? - + Unable to Open Link - + RetroShare was unable to open the selected link in your Web browser. You can still copy the URL and paste it into your browser. - + Error opening help file: - + IdDetailsDialog - + Person Details - + Identity Info - + Owner node ID : - + Type: - + Owner node name : - + Identity name : - + Identity ID : - + Last used: - + Your Avatar Click here to change your avatar - + Reputation - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9168,119 +9437,120 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + Unknown real name - + Anonymous Id - + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + У Реду Banned - + IdDialog - + + New ID - + - - + + All - + Reputation - + @@ -9288,377 +9558,612 @@ p, li { white-space: pre-wrap; } Претражи - - Unknown real name - - - - + Anonymous Id - + - + Create new Identity - + + + + + Create new circle + Persons - + - + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + + + + + Circle name + + + + + Membership + + + + + Public Circles + + + + + Personal Circles + + + + Edit identity - + Delete identity - + Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID - + - + Send message - + - + Identity info - + Identity ID : - + Owner node name : - + Type: - + Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous - + - + ID - + ИД Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + Јавно + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + Статус: + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + OK - + У Реду Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People - + Your Avatar Click here to change your avatar - + - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9666,43 +10171,43 @@ p, li { white-space: pre-wrap; } Nickname - + Key ID - + PGP Name - + PGP Hash - + PGP Id - + Pseudonym - + New identity - + To be generated - + @@ -9715,43 +10220,43 @@ p, li { white-space: pre-wrap; } N/A - + Edit identity - + Error getting key! - + Error KeyID invalid - + Unknown GpgId - + Unknown real name - + Create New Identity - + Type - + @@ -9761,7 +10266,7 @@ p, li { white-space: pre-wrap; } TextLabel - + @@ -9770,7 +10275,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9781,32 +10286,32 @@ p, li { white-space: pre-wrap; } Your Avatar Click here to change your avatar - + Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9819,12 +10324,12 @@ p, li { white-space: pre-wrap; } KeyId - + GXSId - + @@ -9834,27 +10339,27 @@ p, li { white-space: pre-wrap; } - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9863,11 +10368,11 @@ p, li { white-space: pre-wrap; } Message History - + - + Copy Умножи @@ -9879,7 +10384,7 @@ p, li { white-space: pre-wrap; } Mark all - + @@ -9889,12 +10394,12 @@ p, li { white-space: pre-wrap; } Clear history - + Send - + @@ -9903,17 +10408,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -9922,69 +10427,69 @@ p, li { white-space: pre-wrap; } Open File - + Open Folder - + Edit Share Permissions - + Checking... - + Check files - + Edit Shared Folder - + Recommend in a message to - + Set command for opening this file - + Collection - + MainWindow - + Add Friend - + Add a Friend Wizard - + Add Share - + - + Options Опције @@ -9992,7 +10497,7 @@ p, li { white-space: pre-wrap; } Messenger - + @@ -10003,34 +10508,34 @@ p, li { white-space: pre-wrap; } SMPlayer - + Quit - + Quick Start Wizard - + - + RetroShare %1 a secure decentralized communication platform - + - + Unfinished - + Low disk space warning - + @@ -10039,42 +10544,42 @@ p, li { white-space: pre-wrap; } RetroShare will now safely suspend any disk access to this directory. Please make some free space and click Ok. - + Show/Hide - + Status - + Notify - + Open Messenger - + Open Messages - + Bandwidth Graph - + Applications - + @@ -10084,17 +10589,17 @@ p, li { white-space: pre-wrap; } Minimize - + Maximize - + &Quit - + @@ -10104,42 +10609,42 @@ p, li { white-space: pre-wrap; } %1 new message - + %1 new messages - + Down: %1 (kB/s) - + Up: %1 (kB/s) - + %1 friend connected - + %1 friends connected - + Do you really want to exit RetroShare ? - + - + Internal Error - + @@ -10154,233 +10659,233 @@ p, li { white-space: pre-wrap; } Make sure this link has not been forged to drag you to a malicious website. - + Don't ask me again - + It seems to be an old RetroShare link. Please use copy instead. - + The file link is malformed. - + ServicePermissions - + Service permissions matrix - + - + Add Додај Statistics - + Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose - + Contacts - + Paragraph - + Heading 1 - + Heading 2 - + Heading 3 - + Heading 4 - + Heading 5 - + Heading 6 - + Font size - + Increase font size - + Decrease font size - + Bold - + Italic - + Alignment - + Add an Image - + Sets text font to code style - + Underline - + Subject: - + Tags: - + - + Tags - + Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + Recommended Files - + File Name - + Size - + Hash - + Send - + Send this message now - + Reply - + Toggle Contacts View - + @@ -10390,158 +10895,158 @@ p, li { white-space: pre-wrap; } Save this message - + Attach - + Attach File - + Quote - + Add Blockquote - + Send To: - + &Left - + C&enter - + &Right - + &Justify - + All addresses (mixed) - + All people - + My contacts - + Hello,<br>I recommend a good friend of mine; you can trust them too when you trust me. <br> - + You have a friend recommendation - + This friend is suggested by - + wants to be friends with you on RetroShare - + Hi %1,<br><br>%2 wants to be friends with you on RetroShare.<br><br>Respond now:<br>%3<br><br>Thanks,<br>The RetroShare Team - + - + Save Message - + Message has not been Sent. Do you want to save message to draft box? - + Paste RetroShare Link - + Add to "To" - + Add to "CC" - + Add to "BCC" - + Add as Recommend - + Original Message - + From - + To - + Cc - + Sent - + @@ -10551,17 +11056,17 @@ Do you want to save message to draft box? On %1, %2 wrote: - + Re: - + Fwd: - + @@ -10573,180 +11078,180 @@ Do you want to save message to draft box? Do you want to send the message without a subject ? - + Please insert at least one recipient. - + Bcc - + Unknown - + &File - + &New - + &Open... - + &Save - + Save &As File - + Save &As Draft - + &Print... - + &Export PDF... - + &Quit - + &Edit - + &Undo - + &Redo - + Cu&t - + &Copy - + &Paste - + &View - + &Contacts Sidebar - + &Insert - + &Image - + &Horizontal Line - + &Format - + Details - + Open File... - + HTML-Files (*.htm *.html);;All Files (*) - + Save as... - + Print Document - + Export PDF - + Message has not been Sent. Do you want to save message ? - + Choose Image - + Image Files supported (*.png *.jpeg *.jpg *.gif) - + Add Extra File - + @@ -10756,77 +11261,77 @@ Do you want to save message ? From: - + - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10834,47 +11339,47 @@ Do you want to save message ? Everyone - + Contacts - + Nobody - + Accept encrypted distant messages from - + Reading - + Set message to read on activate - + Open messages in - + Tags - + Tags can be used to categorize and prioritize your messages - + @@ -10884,7 +11389,7 @@ Do you want to save message ? Edit - + @@ -10899,32 +11404,32 @@ Do you want to save message ? A new tab - + A new window - + Edit Tag - + Message - + Distant messages: - + Load embedded images - + @@ -10932,7 +11437,7 @@ Do you want to save message ? Sub: - + @@ -10940,7 +11445,7 @@ Do you want to save message ? Message - + @@ -10948,123 +11453,123 @@ Do you want to save message ? Recommended Files - + Download all Recommended Files - + Subject: - + From: - + To: - + Cc: - + Bcc: - + Tags: - + File Name - + Size - + Hash - + Print - + Print Preview - + Confirm %1 as friend - + Add %1 as friend - + No subject - + Download - + Download all - + Print Document - + Save as... - + HTML-Files (*.htm *.html);;All Files (*) - + Load images always for this message - + Hide the attachment pane - + Show the attachment pane - + @@ -11072,47 +11577,47 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Forward - + Remove selected message - + @@ -11122,81 +11627,81 @@ Do you want to save message ? Print selected message - + Print - + Display - + Tags - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + &File - + Save &As File - + &Print... - + Print Preview... - + &Quit - + @@ -11205,47 +11710,47 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Foward - + Remove selected message - + @@ -11255,17 +11760,17 @@ Do you want to save message ? Print selected message - + Print - + Display - + @@ -11274,7 +11779,7 @@ Do you want to save message ? Tags - + @@ -11282,7 +11787,7 @@ Do you want to save message ? Inbox - + @@ -11290,18 +11795,18 @@ Do you want to save message ? Outbox - + Draft - + Sent - + @@ -11309,80 +11814,80 @@ Do you want to save message ? Trash - + Total Inbox: - + Folders - + Quick View - + Print... - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + Save As... - + Reply to Message - + Reply to All - + Forward Message - + @@ -11395,197 +11900,197 @@ Do you want to save message ? From - + Date - + Content - + Click to sort by attachments - + Click to sort by subject - + Click to sort by read - + Click to sort by from - + Click to sort by date - + Click to sort by tags - + Click to sort by star - + Forward selected Message - + Search Subject - + Search From - + Search Date - + Search Content - + Search Tags - + Attachments - + Search Attachments - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + Starred - + System - + Open in a new window - + Open in a new tab - + Mark as read - + Mark as unread - + Add Star - + Edit - + Edit as new - + Remove Messages - + Remove Message - + Undelete - + Empty trash - + Drafts - + No starred messages available. Stars let you give messages a special status to make them easier to find. To star a message, click on the light gray star beside any message. - + No system messages available. - + To - + Click to sort by to - + This message goes to a distant person. - + @@ -11594,33 +12099,33 @@ Do you want to save message ? Total: - + Messages - + Click to sort by signature - + This message was signed and the signature checks - + This message was signed but the signature doesn't check - + This message comes from a distant person. - + @@ -11628,17 +12133,17 @@ Do you want to save message ? RetroShare Messenger - + - + Add a Friend - + Share files for your friends - + @@ -11646,27 +12151,27 @@ Do you want to save message ? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + Paste RetroShare Link - + Paste my certificate link - + @@ -11674,17 +12179,17 @@ Do you want to save message ? Reply to Message - + Reply Message - + Delete Message - + @@ -11705,22 +12210,22 @@ Do you want to save message ? Message From - + Sent Msg - + Draft Msg - + Pending Msg - + @@ -11733,52 +12238,52 @@ Do you want to save message ? <strong>NAT:</strong> - + Network Status Unknown - + Offline - + Nasty Firewall - + DHT Disabled and Firewalled - + Network Restarting - + Behind Firewall - + DHT Disabled - + RetroShare Server - + Forwarded Port - + @@ -11786,12 +12291,12 @@ Do you want to save message ? Filter: - + Search Network - + @@ -11803,129 +12308,129 @@ Do you want to save message ? Did I authenticated peer - + Did I sign his PGP key - + Did peer authenticated me - + Cert Id - + Last used - + Clear - + Set Tabs Right - + Set Tabs North - + Set Tabs South - + Set Tabs Left - + Set Tabs Rounded - + Set Tabs Triangular - + Add Friend - + Copy My Key to Clipboard - + Export My Key - + Create New Profile - + Create a new Profile - + Peer ID - + Deny friend - + Peer details... - + Remove unused keys... - + Clean keyring - + - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. The removal may fail when running multiple Retroshare instances on the same machine. - + Keyring info - + @@ -11933,165 +12438,165 @@ Notes: Your old keyring will be backed up. For security, your keyring was previously backed-up to file - + Unknown error - + Cannot delete secret keys - + Cannot create backup file. Check for permissions in pgp directory, disk space, etc. - + Personal signature - + PGP key signed by you - + Marginally trusted peer - + Fully trusted peer - + Untrusted peer - + Has authenticated me - + Unknown - + Last hour - + Today - + Never - + %1 days ago - + has authenticated you. Right-click and select 'make friend' to be able to connect. - + yourself - + Data inconsistency in the keyring. This is most probably a bug. Please contact the developers. - + Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12099,7 +12604,7 @@ Reported error: Network - + @@ -12107,22 +12612,22 @@ Reported error: Redraw - + Friendship level: - + Edge length: - + Freeze - + @@ -12130,7 +12635,7 @@ Reported error: New Tag - + @@ -12140,7 +12645,7 @@ Reported error: Choose color - + @@ -12158,7 +12663,7 @@ Reported error: News Feed - + @@ -12168,32 +12673,32 @@ Reported error: Remove All - + This is a test. - + News feed - + Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12201,290 +12706,290 @@ Reported error: News Feed - + Channels - + Forums - + Blogs - + Messages - + Chat - + Security - + Test - + Systray Icon - + Message - + Connect attempt - + Toasters - + Friend Connect - + Ip security - + New Message - + Download completed - + Private Chat - + Group Chat - + Chat Lobby - + Position - + X Margin - + Y Margin - + Systray message - + Group chat - + Chat lobbies - + Combined - + Blink - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + Top Left - + Top Right - + Bottom Left - + Bottom Right - + Notify - + Disable All Toasters - + Posted - + Disable All Toaster temporarily - + Feed - + Systray - + Chat Lobbies - + Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase - + Wrong password ! - + Unregistered plugin/executable - + RetroShare has detected an unregistered plugin. This happens in two cases:<UL><LI>Your RetroShare executable has changed.</LI><LI>The plugin has changed</LI></UL>Click on Yes to authorize this plugin, or No to deny it. You can change your mind later in Options -> Plugins, then restart. - + - + Please check your system clock. - + - + Examining shared files... - + Hashing file - + Saving file index... - + Test - + This is a test. - + Unknown title - + Encrypted message - + - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12492,7 +12997,7 @@ Reported error: Friend Online - + @@ -12500,30 +13005,30 @@ Reported error: Normal Mode - + No Anon D/L - + Gaming Mode - + Low Traffic - + - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers - + @@ -12531,232 +13036,293 @@ Reported error: Dialog - + PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + Unknown - + No trust - + Marginal - + Full - + Ultimate - + Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign PGP key - + <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures - + + + + + Options + Опције + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + PGP Key details - + - - + + RetroShare Ретрошер - - - + + + Error : cannot get peer details. - + - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) - + - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + Your trust in this peer is full. - + Your trust in this peer is marginal. - + Your trust in this peer is none. - + - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure - + Maybe password is wrong - + - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12769,7 +13335,7 @@ p, li { white-space: pre-wrap; } Unknown - + @@ -12777,12 +13343,12 @@ p, li { white-space: pre-wrap; } Chat - + Start Chat - + @@ -12803,12 +13369,12 @@ p, li { white-space: pre-wrap; } Peer ID: - + Trust: - + @@ -12818,12 +13384,12 @@ p, li { white-space: pre-wrap; } IP Address: - + Connection Method: - + @@ -12833,32 +13399,32 @@ p, li { white-space: pre-wrap; } Write Message - + Friend - + Friend Connected - + Connect Attempt - + Friend of Friend - + Peer - + @@ -12871,7 +13437,7 @@ p, li { white-space: pre-wrap; } Unknown Peer - + @@ -12881,7 +13447,7 @@ p, li { white-space: pre-wrap; } Send Message - + @@ -12889,42 +13455,96 @@ p, li { white-space: pre-wrap; } Friends: 0/0 - + Online Friends/Total Friends - + Friends - + PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -12940,17 +13560,17 @@ p, li { white-space: pre-wrap; } PhotoShare - + Photo - + TextLabel - + @@ -12960,27 +13580,27 @@ p, li { white-space: pre-wrap; } Summary - + Caption - + Where: - + Photo Title: - + When - + @@ -12990,12 +13610,12 @@ p, li { white-space: pre-wrap; } Add Comment - + Write a comment... - + @@ -13008,34 +13628,34 @@ p, li { white-space: pre-wrap; } TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> - + @@ -13048,53 +13668,53 @@ p, li { white-space: pre-wrap; } Create Album - + View Album - + Subscribe To Album - + Slide Show - + My Albums - + Subscribed Albums - + Shared Albums - + View Photo - + PhotoShare - + Please select an album before requesting to edit it! - + @@ -13102,33 +13722,33 @@ requesting to edit it! Album Name - + Image - + Show/Hide Details - + << - + Stop - + >> - + @@ -13138,17 +13758,17 @@ requesting to edit it! Start - + Start Slide Show - + Stop Slide Show - + @@ -13164,26 +13784,26 @@ requesting to edit it! TextLabel - + Show more details about this plugin - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> - + Enable this plugin (restart required) - + @@ -13193,22 +13813,22 @@ p, li { white-space: pre-wrap; } Disable this plugin (restart required) - + Disable - + Launch configuration panel, if provided by the plugin - + Configure - + @@ -13218,12 +13838,12 @@ p, li { white-space: pre-wrap; } File name: - + File hash: - + @@ -13233,7 +13853,7 @@ p, li { white-space: pre-wrap; } will be enabled after your restart RetroShare. - + @@ -13241,37 +13861,37 @@ p, li { white-space: pre-wrap; } base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13279,22 +13899,22 @@ p, li { white-space: pre-wrap; } Install New Plugin... - + Open Plugin to install - + Plugins (*.so *.dll) - + Widget for plugin %1 not found on plugins frame - + @@ -13302,27 +13922,27 @@ p, li { white-space: pre-wrap; } Authorize all plugins - + Plugin look-up directories - + Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + No API number supplied. Please read plugin development manual. - + @@ -13331,37 +13951,37 @@ p, li { white-space: pre-wrap; } [loading problem] - + No SVN number supplied. Please read plugin development manual. - + Loading error. - + Missing symbol. Wrong version? - + No plugin object - + Plugins is loaded. - + Unknown status. - + @@ -13369,18 +13989,18 @@ p, li { white-space: pre-wrap; } be checked for the hash. However, in normal times, checking the hash protects you from malicious behavior of crafted plugins. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + Plugins - + @@ -13396,17 +14016,17 @@ malicious behavior of crafted plugins. Clear offline messages - + Hide Avatar - + Show Avatar - + @@ -13414,36 +14034,36 @@ malicious behavior of crafted plugins. Avatar - + Set your Avatar Picture - + Dock tab - + Undock tab - + Set Chat Window Color - + Set window on top - + @@ -13451,32 +14071,32 @@ malicious behavior of crafted plugins. Chat remotely closed. Please close this window. - + The person you're talking to has deleted the secured chat tunnel. You may remove the chat window now. - + Closing this window will end the conversation, notify the peer and remove the encrypted tunnel. - + Kill the tunnel? - + Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13484,12 +14104,12 @@ malicious behavior of crafted plugins. Signed by: - + Notes - + @@ -13499,42 +14119,42 @@ malicious behavior of crafted plugins. Please create or choose a Signing Id first - + Submit Post - + You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + Submit - + Submit a new Post - + Please add a Title - + Title - + Link - + @@ -13542,42 +14162,42 @@ malicious behavior of crafted plugins. Posted Links - + Posted - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + My Topics - + Subscribed Topics - + Popular Topics - + Other Topics - + @@ -13585,37 +14205,37 @@ malicious behavior of crafted plugins. Posted Topic - + Add Topic Admins - + Select Topic Admins - + Create New Topic - + Edit Topic - + Update Topic - + Create - + @@ -13623,7 +14243,7 @@ malicious behavior of crafted plugins. Subscribe to Posted - + @@ -13639,17 +14259,17 @@ malicious behavior of crafted plugins. Posted Description - + Loading - + New Posted - + @@ -13660,20 +14280,20 @@ malicious behavior of crafted plugins. PostedItem - + 0 - + 0 Site - + - + Comments - + @@ -13683,30 +14303,40 @@ malicious behavior of crafted plugins. Vote up - + Vote down - + \/ - + Set as read and remove item - + New - + - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Промени статус порука @@ -13716,14 +14346,14 @@ malicious behavior of crafted plugins. Уклони ставку - + Loading - + By - + @@ -13736,52 +14366,52 @@ malicious behavior of crafted plugins. Hot - + New - + Top - + Today - + Yesterday - + This Week - + This Month - + This Year - + Submit a new Post - + Next - + @@ -13791,17 +14421,17 @@ malicious behavior of crafted plugins. Please create or choose a Signing Id before Voting - + Previous - + 1-10 - + 1-10 @@ -13809,17 +14439,17 @@ malicious behavior of crafted plugins. Tabs - + Posted - + Open each topic in a new tab - + @@ -13827,7 +14457,7 @@ malicious behavior of crafted plugins. Posted - + @@ -13835,37 +14465,37 @@ malicious behavior of crafted plugins. RetroShare Message - Print Preview - + Print - + &Print... - + Page Setup... - + Zoom In - + Zoom Out - + &Close - + @@ -13874,7 +14504,7 @@ malicious behavior of crafted plugins. Profile Manager - + @@ -13884,29 +14514,29 @@ malicious behavior of crafted plugins. Email - + GID - + Export Identity - + RetroShare Identity files (*.asc) - + Identity saved - + @@ -13915,80 +14545,80 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Identity not saved - + Your identity was not saved. An error occurred. - + Import Identity - + Identity not loaded - + Your identity was not loaded properly: - + New identity imported - + Your identity was imported successfully: - + Select Trusted Friend - + Certificates (*.pqi *.pem) - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + You can use it now to create a new node. - + @@ -13997,22 +14627,22 @@ p, li { white-space: pre-wrap; } Edit status message - + Copy Certificate - + Profile Manager - + Public Information - + @@ -14027,52 +14657,52 @@ p, li { white-space: pre-wrap; } Peer ID: - + Number of Friends: - + Version: - + Online since: - + Other Information - + My Address - + Local Address: - + External Address: - + Dynamic DNS: - + Addresses list: - + @@ -14083,12 +14713,12 @@ p, li { white-space: pre-wrap; } Sorry, create certificate failed - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -14096,51 +14726,51 @@ p, li { white-space: pre-wrap; } Post From: - + Account 1 - + Account 2 - + Account 3 - + Add to Pulse - + filter - + URL Adder - + Display As - + URL - + @@ -14150,7 +14780,7 @@ p, li { white-space: pre-wrap; } Post Pulse to Wire - + @@ -14158,12 +14788,12 @@ p, li { white-space: pre-wrap; } From - + Date - + @@ -14176,305 +14806,320 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation - + Do you want this link to be handled by your system? - + - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. - + - + Add file - + Add files - + Do you want to process the link ? - + Do you want to process %1 links ? - + - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. - + %1 of %2 RetroShare links processed. - + File added - + Files added - + File exist - + Files exist - + Friend added - + Friends added - + Friend exist - + Friends exist - + Friend not added - + Friends not added - + Friend not found - + Friends not found - + Forum not found - + Forums not found - + Forum message not found - + Forum messages not found - + Channel not found - + Channels not found - + Channel message not found - + Channel messages not found - + + + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + Recipient not accepted - + Recipients not accepted - + Unkown recipient - + Unkown recipients - + Malformed links - + Invalid links - + Warning: forbidden characters found in filenames. Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. - + Result - + - + Unable to make path - + Unable to make path: - + Failed to process collection file - + - + Deny friend - + Make friend - + Peer details - + File Request canceled - + - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. - + Choose between:<br><ul><li><b>Ok</b> to copy the existing keyring from gnupg (safest bet), or </li><li><b>Close without saving</b> to start fresh with an empty keyring (you will be asked to create a new PGP key to work with RetroShare, or import a previously saved pgp keypair). </li><li><b>Cancel</b> to quit and forge a keyring by yourself (needs some PGP skills)</li></ul> - + - + RetroShare Ретрошер - + Initialization failed. Wrong or missing installation of PGP. - + An unexpected error occurred. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + Multiple instances - + Another RetroShare using the same profile is already running on your system. Please close that instance first Lock file: - + An unexpected error occurred when Retroshare tried to acquire the single instance lock Lock file: - - - - - Start with a RetroShare link is only supported for Windows. - + Distant peer has closed the chat - + Tunnel is pending... - + Secured tunnel is working. You can talk! - + @@ -14482,186 +15127,186 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Reported error is: %2 - + - + Click to send a private message to %1 (%2). - + %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + secs - + TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + %1 days ago - + Subject: - + Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error - + unable to parse XML file! - + @@ -14669,19 +15314,19 @@ Security: no anonymous IDs Quick Start Wizard - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14690,7 +15335,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Choose which files you share.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Get started using RetroShare.</span></p></body></html> - + @@ -14698,7 +15343,7 @@ p, li { white-space: pre-wrap; } Next > - + @@ -14707,73 +15352,73 @@ p, li { white-space: pre-wrap; } Exit - + For best performance, RetroShare needs to know a little about your connection to the internet. - + Choose your download speed limit: - + KB/s - + Choose your upload speed limit: - + Connection : - + Automatic (UPnP) - + Firewalled - + Manually forwarded port - + Discovery : - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + @@ -14781,35 +15426,35 @@ p, li { white-space: pre-wrap; } < Back - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> - + Directory - + Network Wide - + Browseable - + @@ -14824,110 +15469,110 @@ p, li { white-space: pre-wrap; } Automatically share incoming directory (Recommended) - + RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + Do not show a message when Closing RetroShare - + Start Minimized - + Start RetroShare when my System Starts. - + Start minimized on system start - + Finish - + Select A Folder To Share - + Shared Directory Added! - + Warning! - + Browsable - + Universal - + If checked, the share is anonymously shared to anybody. - + If checked, the share is browsable by your friends. - + @@ -14935,12 +15580,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + @@ -14948,17 +15593,17 @@ p, li { white-space: pre-wrap; } %1 KB - + %1 MB - + %1 GB - + @@ -14971,12 +15616,12 @@ p, li { white-space: pre-wrap; } The loading of embedded images is blocked. - + Load images - + @@ -14984,60 +15629,60 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15045,17 +15690,17 @@ p, li { white-space: pre-wrap; } Down - + Up - + <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15063,89 +15708,89 @@ p, li { white-space: pre-wrap; } Enable Relay Connections - + Use Relay Servers - + Relay options - + Number - + Bandwidth per link - + Total Bandwidth - + Friends - + kB/s - + Friends of Friends - + General - + Total: - + Relay Server Setup - + Add Server - + Server DHT Key - + Remove Server - + Relay - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15153,17 +15798,17 @@ p, li { white-space: pre-wrap; } Download - + Recommend in a message to - + Collection - + @@ -15171,7 +15816,7 @@ p, li { white-space: pre-wrap; } NEW - + @@ -15179,27 +15824,27 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + Unknown - + @@ -15207,33 +15852,33 @@ p, li { white-space: pre-wrap; } Add IP to whitelist - + Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15241,17 +15886,17 @@ p, li { white-space: pre-wrap; } Collection - + File name : - + Total size : - + @@ -15262,39 +15907,39 @@ p, li { white-space: pre-wrap; } Download! - + - + File - + - + Size - + Hash - + Bad filenames have been cleaned - + Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. - + Selected files : - + @@ -15304,27 +15949,27 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + >> - + <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + + - + @@ -15332,58 +15977,63 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Сачувај - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + Real Size=%1 - + Real File Count=%1 - + Save Collection File. - + What do you want to do? - + @@ -15393,42 +16043,42 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Merge - + Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + File already exists. - + <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15437,17 +16087,17 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Cannot open file %1 - + Error parsing xml file - + Open collection file - + @@ -15455,31 +16105,31 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Collection files - + Create collection file - + This file contains the string "%1" and is therefore an invalid collection file. If you believe it is correct, remove the corresponding line from the file and re-open it with Retroshare. - + Save Collection File. - + What do you want to do? - + @@ -15489,7 +16139,7 @@ If you believe it is correct, remove the corresponding line from the file and re Merge - + @@ -15499,16 +16149,16 @@ If you believe it is correct, remove the corresponding line from the file and re File already exists. - + RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? - + @@ -15516,85 +16166,94 @@ Reducing image to %1x%2 pixels? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. - + Sets the directory RetroShare uses for data files. - + Sets the name and location of RetroShare's logfile. - + Sets the verbosity of RetroShare's logging. - + Sets RetroShare's interface style. - + Sets RetroShare's interface stylesheets. - + Sets RetroShare's language. - + RetroShare Usage Information - + - + Unable to open log file '%1': %2 - + built-in - + Could not create data directory: %1 - + - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -15602,7 +16261,7 @@ Reducing image to %1x%2 pixels? RTT Statistics - + @@ -15610,12 +16269,12 @@ Reducing image to %1x%2 pixels? Enter a keyword here (at least 3 char long) - + Start Search - + @@ -15625,216 +16284,216 @@ Reducing image to %1x%2 pixels? Advanced Search - + Advanced - + Search inside "browsable" files of your friends - + Browsable files - + Multi-hop search at distance 6 in the network (always reports available files) - + Distant - + Include files from your own file list in the search result - + Own files - + Close all Search Results - + Clear - + KeyWords - + Results - + Search Id - + Filename - + Size - + Sources - + Type - + Age - + Hash - + Filter: - + Filter Search Result - + Max results: - + Any - + Archive - + Audio - + CD-Image - + Document - + Picture - + Program - + Video - + Directory - + Download Selected - + Download selected - + File Name - + Download - + Copy RetroShare Link - + Send RetroShare Link - + Download Notice - + Skipping Local Files - + Sorry - + This function is not yet implemented. - + Search again - + @@ -15844,48 +16503,48 @@ Reducing image to %1x%2 pixels? Remove All - + Folder - + New RetroShare Link(s) - + Open Folder - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + Collection - + @@ -15893,7 +16552,7 @@ Reducing image to %1x%2 pixels? Peer details - + @@ -15909,12 +16568,12 @@ Reducing image to %1x%2 pixels? IP address: - + Peer ID: - + @@ -15924,14 +16583,14 @@ Reducing image to %1x%2 pixels? Peer Name: - + Unknown Peer - + @@ -15941,33 +16600,33 @@ Reducing image to %1x%2 pixels? but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -15975,32 +16634,32 @@ Reducing image to %1x%2 pixels? wants to be friend with you on RetroShare - + Accept Friend Request - + Peer details - + Deny friend - + Chat - + Start Chat - + @@ -16021,12 +16680,12 @@ Reducing image to %1x%2 pixels? Peer ID: - + Trust: - + @@ -16036,12 +16695,12 @@ Reducing image to %1x%2 pixels? IP Address: - + Connection Method: - + @@ -16051,32 +16710,32 @@ Reducing image to %1x%2 pixels? Write Message - + Connect Attempt - + Connection refused by remote peer - + Unknown (Incoming) Connect Attempt - + Unknown (Outgoing) Connect Attempt - + Unknown Security Issue - + @@ -16085,7 +16744,7 @@ Reducing image to %1x%2 pixels? Unknown Peer - + @@ -16095,32 +16754,32 @@ Reducing image to %1x%2 pixels? Do you want to remove this Friend? - + Certificate has wrong signature!! This peer is not who he claims to be. - + Missing/Damaged certificate. Not a real Retroshare user. - + Certificate caused an internal error. - + Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16128,282 +16787,282 @@ Reducing image to %1x%2 pixels? Network Configuration - + Network Mode - + Nat - + Automatic (UPnP) - + Firewalled - + Manually Forwarded Port - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + Local Address - + External Address - + Dynamic DNS - + Port: - + Local network - + External ip address finder - + UPnP - + Known / Previous IPs: - + Show Discovery information in statusbar - + If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. - + Allow RetroShare to ask my ip to these websites: - + kB/s - + Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + Onion Address - + Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + Clear - + Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + Test - + Network - + IP Filters - + IP blacklist - + IP range - + Status - + Origin - + Reason - + @@ -16415,158 +17074,158 @@ Also check your ports! IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + @@ -16579,78 +17238,78 @@ If you have issues connecting over Tor check the Tor logs too. Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16658,27 +17317,27 @@ If you have issues connecting over Tor check the Tor logs too. Service permissions - + Service Permissions - + Use as direct source, when available - + Auto-download recommended files - + Require whitelist - + @@ -16686,7 +17345,7 @@ If you have issues connecting over Tor check the Tor logs too. ServicePermissions - + @@ -16696,17 +17355,17 @@ If you have issues connecting over Tor check the Tor logs too. Permissions - + hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16722,48 +17381,48 @@ If you have issues connecting over Tor check the Tor logs too. RetroShare Share Folder - + Share Folder - + Local Path - + Browse - + Virtual Folder - + Share Flags - + Edit Shared Folder - + Select A Folder To Share - + Share flags and groups: - + @@ -16771,23 +17430,23 @@ If you have issues connecting over Tor check the Tor logs too. check peers you would like to share private publish key with - + Share for Friend - + Share - + You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -16795,37 +17454,37 @@ Select the Friends with which you want to Share your Channel. RetroShare Share Manager - + Shared Folder Manager - + Directory - + Virtual Folder - + Share flags - + Groups - + Add a Share Directory - + @@ -16835,7 +17494,7 @@ Select the Friends with which you want to Share your Channel. Stop sharing selected Directory - + @@ -16846,59 +17505,59 @@ Select the Friends with which you want to Share your Channel. Apply and close - + Edit selected Shared Directory - + Edit - + Share Manager - + Edit Shared Folder - + Warning! - + Do you really want to stop sharing this directory ? - + Drop file error. - + File can't be dropped, only directories are accepted. - + Directory not found or directory name not accepted. - + This is a list of shared folders. You can add and remove folders using the buttons at the bottom. When you add a new folder, intially all files in that folder are shared. You can separately setup share flags for each shared directory. - + @@ -16906,17 +17565,17 @@ Select the Friends with which you want to Share your Channel. Files - + Search files - + Start Search - + @@ -16926,108 +17585,108 @@ Select the Friends with which you want to Share your Channel. Tree view - + Flat view - + All - + One day old - + One Week old - + One month old - + check files - + Download selected - + Download - + Copy retroshare Links to Clipboard - + Copy retroshare Links to Clipboard (HTML) - + Send retroshare Links - + Send retroshare Links to Cloud - + Add Links to Cloud - + RetroShare Link - + Recommendation(s) - + Add Share - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + @@ -17035,48 +17694,48 @@ Select the Friends with which you want to Share your Channel. Friend - + Go Online - + Chatmessage - + New Msg - + Message - + Message arrived - + Download - + Download complete - + Lobby - + @@ -17084,7 +17743,7 @@ Select the Friends with which you want to Share your Channel. Event: - + @@ -17094,32 +17753,32 @@ Select the Friends with which you want to Share your Channel. Browse - + Event - + Filename - + Open File - + Sound - + Default - + Подразумевано @@ -17127,30 +17786,30 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile - + Load configuration - + Create interface - + @@ -17163,55 +17822,55 @@ Select the Friends with which you want to Share your Channel. Login - + Name (PGP Id) - location: - + Remember Password - + Log In - + Opens a dialog for creating a new profile or adding locations to an existing profile. The current identities/locations will not be affected. - + Load Person Failure - + Missing PGP Certificate - + Warning - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17220,7 +17879,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17229,7 +17888,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17238,7 +17897,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17246,17 +17905,17 @@ This choice can be reverted in settings. Add Friend - + Add a Friend Wizard - + Add Share - + @@ -17266,7 +17925,7 @@ This choice can be reverted in settings. Messenger - + @@ -17276,53 +17935,53 @@ This choice can be reverted in settings. SMPlayer - + Quit - + Quick Start Wizard - + ServicePermissions - + Service permissions matrix - + DHT - + Bandwidth - + Turtle Router - + Global Router - + RTT Statistics - + @@ -17331,165 +17990,165 @@ This choice can be reverted in settings. Offline - + Away - + Busy - + Online - + Idle - + Friend is offline - + Friend is away - + Friend is busy - + Friend is online - + Friend is idle - + Connected - + Unreachable - + Available - + Neighbor - + Trying TCP - + Trying UDP - + Connected: TCP - + Connected: UDP - + Connected: I2P - + Connected: Unknown - + DHT: Contact - + TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17497,30 +18156,30 @@ This choice can be reverted in settings. Status message - + Message: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> - + @@ -17529,23 +18188,23 @@ p, li { white-space: pre-wrap; } Define Style - + Choose color - + Color 2 - + Color 1 - + @@ -17560,12 +18219,12 @@ p, li { white-space: pre-wrap; } Solid - + Gradient - + @@ -17583,81 +18242,81 @@ p, li { white-space: pre-wrap; } Download File - + Download - + Play File - + Play - + Save File - + ERROR - + EXTRA - + REMOTE - + DOWNLOAD - + LOCAL - + UPLOAD - + Remove Attachment - + File %1 does not exist at location. - + File %1 is not completed. - + Save Channel File - + @@ -17667,28 +18326,28 @@ p, li { white-space: pre-wrap; } Open File - + Copy RetroShare Link - + SubscribeToolButton - + Subscribed - + - + Unsubscribe Одјави ме - + Subscribe Пријави ме @@ -17698,7 +18357,7 @@ p, li { white-space: pre-wrap; } Pause - + @@ -17706,27 +18365,27 @@ p, li { white-space: pre-wrap; } Important - + Work - + Personal - + Todo - + Later - + @@ -17734,12 +18393,12 @@ p, li { white-space: pre-wrap; } Remove All Tags - + New tag ... - + @@ -17747,12 +18406,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17760,90 +18419,90 @@ p, li { white-space: pre-wrap; } Transfer options - + Maximum simultaneous downloads: - + Slots reserved for non-cache transfers: - + Default chunk strategy: - + Safety disk space limit : - + Streaming - + Progressive - + Random - + MB - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> - + Max. tunnel req. forwarded per second: - + <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -17851,45 +18510,45 @@ p, li { white-space: pre-wrap; } Download completed - + You have %1 completed downloads - + You have %1 completed download - + %1 completed downloads - + %1 completed download - + TransfersDialog - + Downloads - + Uploads - + - + Name i.e: file name @@ -17900,86 +18559,86 @@ p, li { white-space: pre-wrap; } Size i.e: file size - + Completed - + Speed i.e: Download speed - + Progress / Availability i.e: % downloaded - + Sources i.e: Sources - + Status - + Speed / Queue position - + Remaining - + Download time i.e: Estimated Time of Arrival / Time left - + Peer i.e: user name - + Progress i.e: % uploaded - + Speed i.e: upload speed - + Transferred - + Hash - + @@ -17989,32 +18648,32 @@ p, li { white-space: pre-wrap; } Friends files - + My files - + Download from collection file... - + Pause - + Resume - + Force Check - + @@ -18025,193 +18684,193 @@ p, li { white-space: pre-wrap; } Open Folder - + Open File - + Preview File - + Details... - + Clear Completed - + Copy RetroShare Link - + Paste RetroShare Link - + Down - + Up - + Top - + Bottom - + Streaming - + Slower - + Average - + Faster - + Random - + Progressive - + Play - + Rename file... - + Specify... - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + Move in Queue... - + Priority (Speed)... - + Chunk strategy - + Set destination directory - + Choose directory - + - + Failed - + - - + + Okay У реду - - + + Waiting - - - - - Downloading - - - - - - - - Complete - + + Downloading + + + + + + + + Complete + + + + Queued - + Paused - + Checking... - + Unknown - + - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18222,22 +18881,22 @@ map of the data; it will compare and invalidate bad blocks, and download them again Try to be patient! - + Transferring - + Uploading - + Are you sure that you want to cancel and delete these files? - + @@ -18250,163 +18909,163 @@ Try to be patient! File preview - + Can't create link for file %1. - + File %1 preview failed. - + Click OK when program terminates! - + Open Transfer - + File %1 is not completed. If it is a media file, try to preview it. - + Change file name - + Please enter a new file name - + Please enter a new--and valid--filename - + - + Last Time Seen i.e: Last Time Receiced Data - + UserID - + Expand all - + Collapse all - + Size - + Show Size Column - + Show Completed Column - + Speed - + Show Speed Column - + Progress / Availability - + Show Progress / Availability Column - + Sources - + Show Sources Column - + Show Status Column - + Show Speed / Queue position Column - + Show Remaining Column - + Download time - + Show Download time Column - + Show Hash Column - + Last Time Seen - + Show Last Time Seen Column - + Columns - + File Transfers - + @@ -18422,57 +19081,57 @@ Try to be patient! Show Path Column - + - + Could not delete preview file - + Try it again? - + - + Create Collection... - + Modify Collection... - + View Collection... - + Collection - + - + File sharing - + - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: - + @@ -18481,69 +19140,69 @@ Try to be patient! My files - + FILE - + Files - + File - + DIR - + Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + What's new - + Groups - + @@ -18552,13 +19211,13 @@ Try to be patient! Search requests - + Tunnel requests - + @@ -18567,28 +19226,28 @@ Try to be patient! Unknown hashes - + Tunnel id - + last transfer - + Speed - + Request id: %1 from [%2] %3 secs ago - + @@ -18596,12 +19255,12 @@ Try to be patient! Router Statistics - + F2F router information - + @@ -18609,42 +19268,42 @@ Try to be patient! Router Statistics - + Age in seconds - + Depth - + total - + Anonymous tunnels - + Authenticated tunnels - + Unknown Peer - + Turtle Router - + @@ -18652,47 +19311,47 @@ Try to be patient! Search requests repartition - + Tunnel requests repartition - + Turtle router traffic - + Tunnel requests Up - + Tunnel requests Dn - + Incoming file data - + Outgoing file data - + TR Forward probabilities - + Forwarded data - + @@ -18704,7 +19363,7 @@ Try to be patient! Loading - + @@ -18712,22 +19371,22 @@ Try to be patient! B - + KB - + MB - + GB - + @@ -18735,22 +19394,22 @@ Try to be patient! You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + @@ -18803,12 +19462,12 @@ Try to be patient! Quit - + Browse - + @@ -18821,57 +19480,57 @@ Try to be patient! Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -18879,58 +19538,58 @@ Try to be patient! Basic Details - + Group Name: - + Category: - + Travel - + Holiday - + Friends - + Family - + Work - + Random - + Description: - + Share Options - + @@ -18940,62 +19599,62 @@ Try to be patient! All Friends - + Restricted - + N/A - + University Friends - + This List Contains - + All your Groups - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with XXX Key - + Cancel - + Create Group - + @@ -19004,57 +19663,57 @@ Try to be patient! Wiki Pages - + New Group - + Page Name - + Page Id - + Orig Id - + << - + >> - + Republish - + Edit - + New Page - + Refresh - + @@ -19064,47 +19723,47 @@ Try to be patient! My Groups - + Subscribed Groups - + Popular Groups - + Other Groups - + Subscribe to Group - + Unsubscribe to Group - + Todo - + Show Wiki Group - + Edit Wiki Group - + @@ -19112,79 +19771,79 @@ Try to be patient! Page Edit History - + Enable Obsolete Edits - + Choose for Merge - + Merge for Republish (TODO) - + Publish Date - + By - + PageId - + \/ - + /\ - + Wiki Group: - + Page Name: - + Previous Version - + Tags - + Show Edit History - + Status - + @@ -19200,39 +19859,39 @@ Try to be patient! Revert - + Submit - + Hide Edit History - + Edit Page - + Create New Wiki Page - + Republish - + Edit Wiki Page - + @@ -19240,37 +19899,37 @@ Try to be patient! Create New Wiki Group - + Wiki Group - + Edit Wiki Group - + Add Wiki Moderators - + Select Wiki Moderators - + Create Group - + Update Group - + @@ -19278,98 +19937,98 @@ Try to be patient! TimeRange - + All - + Last Month - + Last Week - + Today - + New - + from - + until - + Search/Filter - + Network Wide - + Manage Accounts - + Showing: - + Yourself - + Friends - + Following - + Custom - + Account 1 - + Account 2 - + Account 3 - + @@ -19378,12 +20037,12 @@ Try to be patient! CheckBox - + Post Pulse to Wire - + @@ -19392,112 +20051,112 @@ Try to be patient! Unknown Unknown (size) - + B bytes - + KB kilobytes (1024 bytes) - + MB megabytes (1024 kilobytes) - + GB gigabytes (1024 megabytes) - + TB, terabytes (1024 gigabytes) - + TB terabytes (1024 gigabytes) - + Unknown - + < 1m < 1 minute - + %1 minutes e.g: 10minutes - + %1h %2m e.g: 3hours 5minutes - + %1d %2h e.g: 2days 10hours - + %1y %2d e.g: 2 years 2days - + k e.g: 3.1 k - + M e.g: 3.1 M - + G e.g: 3.1 G - + T e.g: 3.1 T - + Load avatar image - + Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_sv.ts b/retroshare-gui/src/lang/retroshare_sv.ts index 29720a4b3..e068069d6 100644 --- a/retroshare-gui/src/lang/retroshare_sv.ts +++ b/retroshare-gui/src/lang/retroshare_sv.ts @@ -1,4 +1,6 @@ - + + + AWidget @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file Kan tyvärr inte avgöra systemets standardkommando för den här filen\n @@ -304,7 +306,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -426,7 +428,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -474,7 +476,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -487,7 +489,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -547,7 +549,7 @@ p, li { white-space: pre-wrap; } On List Item - + @@ -557,7 +559,7 @@ p, li { white-space: pre-wrap; } On List Ite&m - + @@ -587,12 +589,12 @@ p, li { white-space: pre-wrap; } Choose the style of Tool Buttons. - + Choose the style of List Items. - + @@ -632,7 +634,7 @@ p, li { white-space: pre-wrap; } Remove surplus text in status bar. - + @@ -647,17 +649,17 @@ p, li { white-space: pre-wrap; } Hide Toaster Disable - + Show SysTray on Status Bar - + Disable SysTray ToolTip - + @@ -774,7 +776,7 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot BWGraphSource - + KB/s KB/s @@ -867,7 +869,7 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot Sum - + @@ -883,7 +885,7 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot Count - + Antal @@ -951,12 +953,12 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot TOTALS - + Totals - + @@ -969,7 +971,7 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot Form - + Formulär @@ -1004,7 +1006,7 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot Log scale - + @@ -1052,6 +1054,11 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot Mute participant Blockera användare + + + Ban this person (Sets negative opinion) + + Send Message @@ -1060,15 +1067,15 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot Sort by Name - + Sortera efter namn Sort by Activity - + - + Invite friends to this lobby Bjud in kontakter till denna lobby @@ -1088,7 +1095,7 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot Välj kontakter att bjuda in: - + Welcome to lobby %1 Välkommen till %1 @@ -1104,7 +1111,7 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot Lobbychatt - + Lobby management @@ -1151,19 +1158,19 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot sekunder - + Start private chat Starta privat chatt - + Decryption failed. - + Signature mismatch - + @@ -1183,12 +1190,12 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot Cannot start distant chat - + Distant chat cannot be initiated: - + @@ -1241,12 +1248,12 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot ChatLobbyWidget - + Chat lobbies Chattlobbys - + Name Namn @@ -1284,7 +1291,7 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot [Ämne saknas] - + Selected lobby info Vald lobbyinformation @@ -1301,7 +1308,7 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot Anonymous IDs accepted - + @@ -1324,7 +1331,7 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot %1 bjuder in dig till chattlobbyn %2 - + Search Chat lobbies Sök Chat Lobbyn @@ -1341,12 +1348,12 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + @@ -1364,7 +1371,7 @@ Kom bara ihåg... all data här, *KOMMER* att förloras när vi uppgraderar prot Nej - + Lobby Name: Lobbynamn: @@ -1417,12 +1424,12 @@ Dubbelklicka lobbyer för att chatta. Private Subscribed Lobbies - + Public Subscribed Lobbies - + @@ -1437,22 +1444,22 @@ Dubbelklicka lobbyer för att chatta. Enter this lobby - + Enter this lobby as... - + Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + @@ -1462,12 +1469,12 @@ Dubbelklicka lobbyer för att chatta. You will need to create a non anonymous identity in order to join this chat lobby. - + You will need to create an identity in order to join chat lobbies. - + @@ -1477,7 +1484,7 @@ Dubbelklicka lobbyer för att chatta. Create an identity and enter this lobby - + @@ -1533,7 +1540,7 @@ Dubbelklicka lobbyer för att chatta. Avbryt - + Quick Message Snabbmeddelande @@ -1542,34 +1549,34 @@ Dubbelklicka lobbyer för att chatta. ChatPage - + General Allmänt - + Distant Chat - + Everyone - + Contacts - + Kontakter Nobody - + Accept encrypted distant chat from - + @@ -1599,7 +1606,7 @@ Dubbelklicka lobbyer för att chatta. Minimum font size - + @@ -1621,6 +1628,11 @@ Dubbelklicka lobbyer för att chatta. Send message with Ctrl+Return Skicka meddelanden med Ctrl+Retur + + + Send as plain text by default + + Chat Lobby @@ -1726,7 +1738,7 @@ Dubbelklicka lobbyer för att chatta. Utgående - + Incoming message in history Inkommande meddelande i historik @@ -1763,12 +1775,12 @@ Dubbelklicka lobbyer för att chatta. UserName - + /me is sending a message with /me - + @@ -1778,7 +1790,7 @@ Dubbelklicka lobbyer för att chatta. <html><head/><body><p align="justify">In this tab you can setup how many chat messages Retroshare will keep saved on the disc and how much of the previous conversation it will display, for the different chat systems. The max storage period allows to discard old messages and prevents the chat history from filling up with volatile chat (e.g. chat lobbies and distant chat).</p></body></html> - + @@ -1843,7 +1855,7 @@ Dubbelklicka lobbyer för att chatta. Maximum count for coloring matching text - + @@ -1853,17 +1865,17 @@ Dubbelklicka lobbyer för att chatta. Default identity for chat lobbies: - + Show Bar by default - + - + Private chat invite from - + @@ -1884,7 +1896,7 @@ Dubbelklicka lobbyer för att chatta. ChatStyle - + Standard style for group chat Standardstil för gruppchatt @@ -1938,12 +1950,12 @@ Dubbelklicka lobbyer för att chatta. Stäng - + Send Skicka - + Bold Fet @@ -1958,12 +1970,12 @@ Dubbelklicka lobbyer för att chatta. Kursiv - + Attach a Picture Bifoga en bild - + Strike Strike @@ -2014,42 +2026,70 @@ Dubbelklicka lobbyer för att chatta. Återställ standardteckensnitt - + Quote - + Citera Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... skriver... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? Vill du verkligen ta bort historiken? - + Add Extra File Lägg till en fil @@ -2094,9 +2134,9 @@ Dubbelklicka lobbyer för att chatta. är upptagen och kanske inte svarar. - + Find Case Sensitively - + @@ -2116,27 +2156,27 @@ Dubbelklicka lobbyer för att chatta. Sluta inte att färga efter X hittade (använder mer CPU) - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> - + <b>Find Next </b><br/><i>Ctrl+G</i> - + <b>Find </b><br/><i>Ctrl+F</i> - + - + (Status) (Status) - + Set text font & color Ange teckensnitt & färg @@ -2146,7 +2186,7 @@ Dubbelklicka lobbyer för att chatta. Bifoga en fil - + WARNING: Could take a long time on big history. VARNING: Kan ta lång tid på en stor historik. @@ -2157,59 +2197,55 @@ Dubbelklicka lobbyer för att chatta. - + <b>Mark this selected text</b><br><i>Ctrl+M</i> - + - %1This message consists of %2 characters. - %1Detta meddelande består av %2 tecken. + %1Detta meddelande består av %2 tecken. - + items found. - + No items found. - + <b>Return to marked text</b><br><i>Ctrl+M</i> - + - Display Search Box - Visa sökruta + Visa sökruta - Search Box - Sökruta + Sökruta - + Type a message here Skriv ett meddelande här - + Don't stop to color after - + items found (need more CPU) - + - Warning: - Varning: + Varning: @@ -2228,7 +2264,7 @@ Dubbelklicka lobbyer för att chatta. CirclesDialog - + Showing details: Visningsdetaljer: @@ -2250,7 +2286,7 @@ Dubbelklicka lobbyer för att chatta. - + Personal Circles Privata cirklar @@ -2276,7 +2312,7 @@ Dubbelklicka lobbyer för att chatta. - + Friends Kontakter @@ -2336,7 +2372,7 @@ Dubbelklicka lobbyer för att chatta. Vänners vänner - + External Circles (Admin) Externa Cirklar (Administratör) @@ -2360,7 +2396,7 @@ Dubbelklicka lobbyer för att chatta. ConfCertDialog - + Details Detaljer @@ -2376,7 +2412,7 @@ Dubbelklicka lobbyer för att chatta. - + Local Address Lokal adress @@ -2403,36 +2439,39 @@ Dubbelklicka lobbyer för att chatta. Adresslista - + + Use this certificate to make friends: + + + + Include signatures Inkludera signaturer - - + + RetroShare RetroShare - - + + Error : cannot get peer details. Fel: Kan inte hämta användaruppgifter. - Use as direct source, when available - Använd som direkt källa, om tillgänglig + Använd som direkt källa, om tillgänglig - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - <html><head/><body><p align="justify">Retroshare söker periodiskt din vänlista efter sökbara filer som matchar dina överföringar för att kunna öppna en direkt anslutning. I det här fallet vet din vän att du laddar filen.</p><p align="justify">Avmarkera boxen för att undvika detta för den här vännen. Du kan fortfarande genomföra en direkt ansluten överföring manuellt genom att ladda ner från din väns fillista. </p></body></html> + <html><head/><body><p align="justify">Retroshare söker periodiskt din vänlista efter sökbara filer som matchar dina överföringar för att kunna öppna en direkt anslutning. I det här fallet vet din vän att du laddar filen.</p><p align="justify">Avmarkera boxen för att undvika detta för den här vännen. Du kan fortfarande genomföra en direkt ansluten överföring manuellt genom att ladda ner från din väns fillista. </p></body></html> - + Encryption Kryptering @@ -2447,17 +2486,16 @@ Dubbelklicka lobbyer för att chatta. Klientadresser - Options - Alternativ + Alternativ - + Retroshare node details - + - + Node name : Nodnamn : @@ -2469,12 +2507,12 @@ Dubbelklicka lobbyer för att chatta. Last Contact : - + Retroshare version : - + @@ -2492,24 +2530,14 @@ Dubbelklicka lobbyer för att chatta. Retroshare-certifikat - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + @@ -2520,47 +2548,37 @@ Dubbelklicka lobbyer för att chatta. <p>This certificate contains: - + <li>a <b>node ID</b> and <b>name</b> - + an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + <p>You can use this certificate to make new friends. Send it by email, or give it hand to hand.</p> - + - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + @@ -2570,7 +2588,7 @@ Dubbelklicka lobbyer för att chatta. external signatures</li> - + @@ -2629,12 +2647,12 @@ Dubbelklicka lobbyer för att chatta. Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + @@ -2719,12 +2737,12 @@ Dubbelklicka lobbyer för att chatta. RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + @@ -2754,7 +2772,7 @@ Dubbelklicka lobbyer för att chatta. Email - + E-post @@ -2822,7 +2840,7 @@ Dubbelklicka lobbyer för att chatta. Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + @@ -2839,33 +2857,33 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + @@ -3160,7 +3178,7 @@ resources. IP-Addr: - + @@ -3180,7 +3198,7 @@ resources. The text below is your Retroshare certificate. You have to provide it to your friend - + @@ -3223,7 +3241,7 @@ resources. This might be useful for sending distant messages to this peer even if you don't make friends. - + @@ -3239,53 +3257,53 @@ even if you don't make friends. Auto-download recommended files - + Can be used as direct source - + Require whitelist clearance to connect - + Add IP to whitelist - + No IP in this certificate! - + <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + Added with certificate from %1 - + Paste Cert of your friend from Clipboard - + Certificate Load Failed:can't read from file %1 - + Certificate Load Failed:something is wrong with %1 - + @@ -3724,11 +3742,11 @@ even if you don't make friends. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -3781,74 +3799,86 @@ p, li { white-space: pre-wrap; } They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details Cirkeldetaljer - - + Name Namn - Creator - Skapare + Skapare - Distribution - Distribution + Distribution - + Public Publik - Self-Restricted - Självbegränsad + Självbegränsad - Restricted to: - Begränsad till: + Begränsad till: - Circle Membership - Cirkelmedlemskap + Cirkelmedlemskap - + IDs ID - Known Identities - Kända identiteter + Kända identiteter - + Filter Filter - + Nickname Användarnamn - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ID @@ -3858,55 +3888,104 @@ p, li { white-space: pre-wrap; } Typ - - - - + + Name: + Namn: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + Privat + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare RetroShare - + Please set a name for your Circle Ange ett namn för din cirkel - Personal Circle Details - Privata cirkel detaljer + Privata cirkel detaljer - External Circle Details - Extern cirkel detaljer + Extern cirkel detaljer - Cannot Edit Existing Circles Yet - Kan inte editera befintliga cirklar ännu + Kan inte editera befintliga cirklar ännu - + No Restriction Circle Selected Ingen begränsad cirkel vald - + No Circle Limitations Selected Inga cirkel begränsningar valda - Create New Personal Circle - Skapa en ny Personlig Cirkel + Skapa en ny Personlig Cirkel - Create New External Circle - Skapa en ny Extern Cirkel + Skapa en ny Extern Cirkel - + Add Lägg till @@ -3916,13 +3995,13 @@ p, li { white-space: pre-wrap; } Ta bort - + Search Sök - + All Alla @@ -3937,49 +4016,98 @@ p, li { white-space: pre-wrap; } Signerad av kända noder - + Edit Circle Editera cirkeln - - + PGP Identity PGP-identitet - - - + + + Anon Id Anonymt Id + + + Circle name + + + + + Update + + + Close + Stäng + + + + + Create New Circle + + + + + Create + Skapa + + + PGP Linked Id PGP-länkat ID + + + Add Member + + + + + Remove Member + + CreateGroup - + Create a Group Skapa en ny grupp - - Group Name - Gruppnamn + + Group Name: + Gruppnamn: - + + Group ID: + + + + Group Name + Gruppnamn + + + Enter a name for your group Ange ett namn för din grupp - + + To be defined + + + + Friends Kontakter @@ -4013,9 +4141,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -4144,7 +4272,7 @@ p, li { white-space: pre-wrap; } CreateGxsForumMsg - + Post Forum Message Posta foruminlägg @@ -4189,12 +4317,12 @@ p, li { white-space: pre-wrap; } Starta ny tråd - + No Forum Inga forum - + In Reply to Som svar på @@ -4220,9 +4348,19 @@ p, li { white-space: pre-wrap; } Add Extra File Lägg till extra fil + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data Generera massdata @@ -4232,12 +4370,12 @@ p, li { white-space: pre-wrap; } Vill du verkligen generera %1 meddelanden? - + Send Skicka - + Forum Message Foruminlägg @@ -4256,7 +4394,7 @@ Vill du kasta det här meddelandet? Congrats, you found a bug! - + @@ -4300,12 +4438,12 @@ Vill du kasta det här meddelandet? <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + @@ -4325,12 +4463,12 @@ Vill du kasta det här meddelandet? Put a sensible lobby name here - + Set a descriptive topic here - + @@ -4458,7 +4596,7 @@ Vill du kasta det här meddelandet? Copy certificate to clipboard - + @@ -4499,7 +4637,7 @@ Vill du kasta det här meddelandet? <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + @@ -4525,7 +4663,7 @@ Vill du kasta det här meddelandet? No peer found in DHT - + @@ -4780,7 +4918,7 @@ Vill du kasta det här meddelandet? Copy %1 to clipboard - + @@ -4825,12 +4963,12 @@ Vill du kasta det här meddelandet? RESTRICTED CONE NAT - + FULL CONE NAT - + @@ -4845,12 +4983,12 @@ Vill du kasta det här meddelandet? UNKNOWN NAT HOLE STATUS - + NO NAT HOLE - + @@ -5036,7 +5174,7 @@ Vill du kasta det här meddelandet? Relays - + @@ -5089,7 +5227,7 @@ Vill du kasta det här meddelandet? Unreach: - + @@ -5104,7 +5242,7 @@ Vill du kasta det här meddelandet? DHT Peers: - + @@ -5124,7 +5262,7 @@ Vill du kasta det här meddelandet? Relay: - + @@ -5140,27 +5278,27 @@ Vill du kasta det här meddelandet? Peers - + Användare Relay - + Relä DHT Graph - + Proxy VIA - + Relay VIA - + @@ -5199,7 +5337,7 @@ Vill du kasta det här meddelandet? Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. Kom ihåg hash-summor även när dom inte delas. Detta kan vara användbart om du ibland delar en extern hårddisk, för att undvika ny hash-beräkning när du återansluter den @@ -5545,7 +5683,7 @@ you plug it in. Patch - + @@ -5555,7 +5693,7 @@ you plug it in. Header - + @@ -5684,7 +5822,7 @@ you plug it in. Visa grupper - + Group Grupp @@ -5725,7 +5863,7 @@ you plug it in. Lägg till i grupp - + Search Sök @@ -5735,7 +5873,7 @@ you plug it in. Sortera efter stadie - + Move to group Flytta till grupp @@ -5770,12 +5908,12 @@ you plug it in. Tillgänglig - + Do you want to remove this Friend? Vill du ta bort den här kontakten? - + Done! Färdig! @@ -5784,52 +5922,52 @@ you plug it in. Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + @@ -5841,19 +5979,19 @@ at least one peer was not added to a group Failed to get a file! - + File is not writeable! - + File is not readable! - + @@ -5861,7 +5999,7 @@ at least one peer was not added to a group IP - + Attempt to connect Anslutningsförsök @@ -5891,19 +6029,19 @@ at least one peer was not added to a group Ta bort kontaktnod - + Do you want to remove this node? Vill du ta bort denna nod? Friend nodes - + - + Send message to whole group - + @@ -5914,7 +6052,7 @@ at least one peer was not added to a group Deny - + @@ -5964,7 +6102,7 @@ at least one peer was not added to a group Sök kontakter - + Mark all Markera alla @@ -6073,7 +6211,7 @@ at least one peer was not added to a group <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + @@ -6157,7 +6295,12 @@ anonymous, you can use a fake email. Lösenord (kontroll) - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> <html><head/><body><p align="justify">Innan du går vidare, rör runt muspekaren för att hjälpa Retroshare att få så mycket slumpmässighet som möjligt. Att fylla förloppsindikatorn till 20% krävs, 100% är rekommenderat.</p></body></html> @@ -6218,43 +6361,43 @@ anonymous, you can use a fake email. Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile Skapa en ny profil @@ -6291,28 +6434,23 @@ Alternatively you can use an existing profile. Just uncheck "Create a new p Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + @@ -6324,67 +6462,67 @@ Alternatively you can use an existing profile. Just uncheck "Create a new p Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + @@ -6395,7 +6533,7 @@ Alternatively you can import a (previously exported) profile. Just uncheck " RetroShare profile files (*.asc) - + @@ -6409,17 +6547,17 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + @@ -6429,57 +6567,57 @@ and use the import button to load it Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6531,8 +6669,12 @@ Fill in your PGP password when asked, to sign your new key. + Register retroshare:// as URL protocol + + + Register retroshare:// as URL protocol (Restart required) - Registrera retroshare:// som URL-protokoll (Kräver omstart) + Registrera retroshare:// som URL-protokoll (Kräver omstart) @@ -6540,7 +6682,27 @@ Fill in your PGP password when asked, to sign your new key. Kräver administratörsrättigheter, för att ändra. - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle Overksamhet @@ -6560,7 +6722,17 @@ Fill in your PGP password when asked, to sign your new key. Starta uppstartsguiden - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error Fel @@ -6581,7 +6753,7 @@ Fill in your PGP password when asked, to sign your new key. Allmänt - + Minimize to Tray Icon Minimera till meddelandefältet @@ -6605,7 +6777,7 @@ Fill in your PGP password when asked, to sign your new key. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> @@ -6638,18 +6810,18 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6661,31 +6833,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6698,7 +6870,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + @@ -6798,7 +6970,7 @@ p, li { white-space: pre-wrap; } It has many features, including built-in chat, messaging, - + @@ -6811,7 +6983,7 @@ p, li { white-space: pre-wrap; } GroupBox - + @@ -6821,7 +6993,7 @@ p, li { white-space: pre-wrap; } Identity Name - + @@ -6831,42 +7003,46 @@ p, li { white-space: pre-wrap; } Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - Send - Skicka + Skicka - + Branching factor - + Details - + Detaljer @@ -6876,7 +7052,7 @@ p, li { white-space: pre-wrap; } Pending packets - + @@ -6894,17 +7070,17 @@ p, li { white-space: pre-wrap; } Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6915,6 +7091,14 @@ p, li { white-space: pre-wrap; } Visa gruppchatt + + GroupChooser + + + [Unknown] + + + GroupDefs @@ -6999,27 +7183,27 @@ p, li { white-space: pre-wrap; } All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -7048,39 +7232,39 @@ p, li { white-space: pre-wrap; } Kontakter: - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer Välj minst en användare - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7123,7 +7307,17 @@ p, li { white-space: pre-wrap; } Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + @@ -7131,14 +7325,9 @@ p, li { white-space: pre-wrap; } Visa - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7265,7 +7454,7 @@ p, li { white-space: pre-wrap; } <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + @@ -7285,7 +7474,7 @@ p, li { white-space: pre-wrap; } Select channel download directory - + @@ -7295,18 +7484,18 @@ p, li { white-space: pre-wrap; } Set download directory - + [Default directory] - + Specify... - + Specificera @@ -7349,7 +7538,7 @@ p, li { white-space: pre-wrap; } Checking - + @@ -7387,7 +7576,7 @@ p, li { white-space: pre-wrap; } Published - + @@ -7481,6 +7670,16 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Växla meddelandestatus @@ -7491,7 +7690,7 @@ p, li { white-space: pre-wrap; } - + Play Spela upp @@ -7528,12 +7727,12 @@ p, li { white-space: pre-wrap; } Ta bort objektet - + Channel Feed Kanalflöde - + Files Filer @@ -7573,12 +7772,12 @@ p, li { white-space: pre-wrap; } Jag gillar inte detta - + Loading Läser in - + Open Öppna @@ -7596,7 +7795,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel Posta i kanal @@ -7611,7 +7810,7 @@ p, li { white-space: pre-wrap; } Sök kanaler - + Title Rubrik @@ -7646,7 +7845,32 @@ p, li { white-space: pre-wrap; } Inga kanaler markerade - + + Public + Publik + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download Inaktivera automatisk nedladdning @@ -7658,7 +7882,7 @@ p, li { white-space: pre-wrap; } Show feeds - + @@ -7666,7 +7890,23 @@ p, li { white-space: pre-wrap; } Visa filer - + + Administrator: + + + + + + unknown + okänd + + + + Distribution: + + + + Feeds Flöden @@ -7676,19 +7916,19 @@ p, li { white-space: pre-wrap; } Filer - + Subscribers - + - + Description: Beskrivning: - + Posts (at neighbor nodes): - + @@ -7810,7 +8050,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -7955,7 +8195,7 @@ innan du kan kommentera Forum Feed - + @@ -7971,7 +8211,7 @@ innan du kan kommentera Formulär - + Start new Thread for Selected Forum Starta ny tråd i aktuellt forum @@ -7997,7 +8237,7 @@ innan du kan kommentera - + Title Rubrik @@ -8010,18 +8250,18 @@ innan du kan kommentera - + Author Författare Save image - + - + Loading Läser in @@ -8088,12 +8328,12 @@ innan du kan kommentera Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + @@ -8146,33 +8386,73 @@ innan du kan kommentera This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + Publik + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + Distribution + + + Anti-spam - + [ ... Redacted message ... ] - + @@ -8197,22 +8477,22 @@ innan du kan kommentera <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8268,39 +8548,39 @@ innan du kan kommentera I %1, skrev %2: - + Forum name Forumnamn Subscribers - + Posts (at neighbor nodes) - + - + Description Beskrivning By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8316,7 +8596,7 @@ innan du kan kommentera <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + @@ -8371,13 +8651,13 @@ innan du kan kommentera GxsGroupDialog - - + + Name Namn - + Add Icon Lägg till ikon @@ -8392,7 +8672,7 @@ innan du kan kommentera Dela publiceringsnyckel - + check peers you would like to share private publish key with Markera de användare du vill dela privat publiceringsnyckel med. @@ -8402,36 +8682,40 @@ innan du kan kommentera Dela nyckel med - - + + Description Beskrivning - + Message Distribution Meddelandedistribution - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public Publik - - Restricted to Group - Begränsad till grupp + Begränsad till grupp - - + Only For Your Friends Endast för dina kontakter - + Publish Signatures Publicera signaturer @@ -8477,12 +8761,11 @@ innan du kan kommentera - Comments Kommentarer - + Allow Comments Tillåt kommentarer @@ -8494,71 +8777,107 @@ innan du kan kommentera Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + Kommentarer: - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: Kontakter: - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name Lägg till ett namn - + + PGP signature from known ID required + + + + Load Group Logo Läs in grupplogotyp - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback Kommer att användas för att skicka feedback @@ -8568,59 +8887,101 @@ innan du kan kommentera Ägare: - + Set a descriptive description here - + - + Info Information - Comments allowed - Kommentarer tillåtna + Kommentarer tillåtna - Comments not allowed - Kommentarer inte tillåtna + Kommentarer inte tillåtna - + ID ID - + Last Post Senaste inlägget + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity Popularitet - - - Posts - - - Type - Typ + Posts + - + Type + Typ + + + Author Upphovsman GxsIdLabel - + @@ -8671,7 +9032,12 @@ innan du kan kommentera Redigera detaljer - + + Share publish permissions + + + + Copy RetroShare Link Kopiera RetroShare-länk @@ -8686,25 +9052,20 @@ innan du kan kommentera Markera alla som olästa - + AUTHD AUTHD - - - Share admin permissions - - GxsIdChooser - + No Signature Ingen signatur - + Create new Identity Skapa ny identitet @@ -8712,7 +9073,7 @@ innan du kan kommentera GxsIdDetails - + Loading Läser in @@ -8731,13 +9092,13 @@ innan du kan kommentera [Banned] - + Authentication - + @@ -8747,27 +9108,27 @@ innan du kan kommentera anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8788,42 +9149,42 @@ innan du kan kommentera Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + Okänd användare @@ -9010,7 +9371,7 @@ innan du kan kommentera Error Loading Help Contents: - + @@ -9058,7 +9419,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9089,7 +9450,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9099,11 +9460,11 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + @@ -9141,26 +9502,26 @@ p, li { white-space: pre-wrap; } Error opening help file: - + IdDetailsDialog - + Person Details - + Identity Info - + Owner node ID : - + @@ -9170,12 +9531,12 @@ p, li { white-space: pre-wrap; } Owner node name : - + Identity name : - + @@ -9185,7 +9546,7 @@ p, li { white-space: pre-wrap; } Last used: - + @@ -9201,30 +9562,30 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9234,9 +9595,9 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + @@ -9256,12 +9617,12 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + @@ -9276,47 +9637,47 @@ p, li { white-space: pre-wrap; } Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + @@ -9326,19 +9687,20 @@ p, li { white-space: pre-wrap; } Banned - + IdDialog - + + New ID Nytt ID - - + + All Alla @@ -9354,39 +9716,75 @@ p, li { white-space: pre-wrap; } Sök - Unknown real name - Okänt riktigt namn + Okänt riktigt namn - + Anonymous Id Anonymt Id - + Create new Identity Skapa ny identitet - - Persons - + + Create new circle + - + + Persons + + + + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + Cirklar + + + + Circle name + + + + + Membership + Medlemskap + + + + Public Circles + Publika cirklar + + + + Personal Circles + Privata cirklar + + + Edit identity Redigera identitet @@ -9399,40 +9797,40 @@ p, li { white-space: pre-wrap; } Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID Identitets-ID - + Send message Skicka meddelande - + Identity info Identitetsinfo @@ -9444,7 +9842,7 @@ p, li { white-space: pre-wrap; } Owner node name : - + @@ -9454,22 +9852,22 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + @@ -9489,68 +9887,281 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous Anonym - + ID - + ID Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + Publik + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + Status: + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + okänd + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + Editera cirkeln + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + @@ -9560,37 +10171,37 @@ p, li { white-space: pre-wrap; } Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + @@ -9600,30 +10211,30 @@ p, li { white-space: pre-wrap; } Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People - + @@ -9632,87 +10243,77 @@ p, li { white-space: pre-wrap; } Din avatar - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by Ägd av - + Node name: Nodnamn: @@ -9722,9 +10323,9 @@ p, li { white-space: pre-wrap; } Nod-ID : - + Really delete? - + @@ -9836,7 +10437,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9852,27 +10453,27 @@ p, li { white-space: pre-wrap; } Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9890,7 +10491,7 @@ p, li { white-space: pre-wrap; } GXSId - + @@ -9900,25 +10501,25 @@ p, li { white-space: pre-wrap; } - + GXS name: GXS-namn: - - + + PGP name: PGP-namn: - + GXS id: GXS-id: - + PGP id: PGP-id: @@ -9933,7 +10534,7 @@ p, li { white-space: pre-wrap; } - + Copy Kopiera @@ -9969,17 +10570,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -10034,7 +10635,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Add Friend Lägg till kontakt @@ -10050,7 +10651,7 @@ p, li { white-space: pre-wrap; } - + Options Alternativ @@ -10084,12 +10685,12 @@ p, li { white-space: pre-wrap; } Snabbstartsguide - + RetroShare %1 a secure decentralized communication platform RetroShare %1 en säker, decentraliserad kommunikationsplattform - + Unfinished Pågående @@ -10129,7 +10730,7 @@ Frigör mer diskutrymme och klicka OK. Open Messenger - + @@ -10207,7 +10808,7 @@ Frigör mer diskutrymme och klicka OK. Vill du verkligen avsluta RetroShare? - + Internal Error Internt fel @@ -10252,7 +10853,7 @@ Frigör mer diskutrymme och klicka OK. Tjänståtkomstmatrix - + Add Lägg till @@ -10264,29 +10865,29 @@ Frigör mer diskutrymme och klicka OK. Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose Skriv @@ -10388,29 +10989,29 @@ Frigör mer diskutrymme och klicka OK. - + Tags Taggar Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + @@ -10510,17 +11111,17 @@ Frigör mer diskutrymme och klicka OK. All addresses (mixed) - + All people - + My contacts - + @@ -10548,7 +11149,7 @@ Frigör mer diskutrymme och klicka OK. Hej %1!<br><br>%2 vill bli en av dina kontakter på RetroShare.<br><br>Svara nu:<br>%3<br><br>Tack!<br>RetroShare Team - + Save Message Spara meddelande @@ -10831,74 +11432,74 @@ Vill du spara meddelandet? Från: - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10906,22 +11507,22 @@ Vill du spara meddelandet? Everyone - + Contacts - + Kontakter Nobody - + Accept encrypted distant messages from - + @@ -11131,12 +11732,12 @@ Vill du spara meddelandet? Hide the attachment pane - + Show the attachment pane - + @@ -11560,7 +12161,7 @@ Vill du spara meddelandet? <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + @@ -11657,7 +12258,7 @@ Vill du spara meddelandet? This message goes to a distant person. - + @@ -11692,7 +12293,7 @@ Vill du spara meddelandet? This message comes from a distant person. - + @@ -11703,7 +12304,7 @@ Vill du spara meddelandet? RetroShare kontaktlista - + Add a Friend Lägg till en kontakt @@ -11718,17 +12319,17 @@ Vill du spara meddelandet? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + @@ -11986,7 +12587,7 @@ Vill du spara meddelandet? - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. @@ -12104,74 +12705,74 @@ Högerklicka och välj 'Skapa kontakt' för att kunna ansluta. Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12202,7 +12803,7 @@ Reported error: Freeze - + @@ -12263,17 +12864,17 @@ Reported error: Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12350,7 +12951,7 @@ Reported error: Ip security - + @@ -12420,7 +13021,7 @@ Reported error: <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + @@ -12450,7 +13051,7 @@ Reported error: Disable All Toasters - + @@ -12460,7 +13061,7 @@ Reported error: Disable All Toaster temporarily - + @@ -12470,7 +13071,7 @@ Reported error: Systray - + @@ -12480,23 +13081,23 @@ Reported error: Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase PGP-lösenord @@ -12516,12 +13117,12 @@ Reported error: RetroShare har upptäckt ett oregistrerat insticksprogram. Detta kan hända i två fall:<UL><LI>Din RetroShare-startfil har ändrats.</LI><LI>Insticksprogrammet har ändrats</LI></UL>Klicka Ja för att tillåta insticket, eller Nej för att neka. Du kan ändra beslutet senare i Alternativ -> Insticksprogram, och sedan starta om programmet. - + Please check your system clock. Kontrollera din systemklocka. - + Examining shared files... Undersöker delade filer... @@ -12557,14 +13158,14 @@ Reported error: Krypterat meddelande - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12599,7 +13200,7 @@ Reported error: - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers @@ -12614,42 +13215,42 @@ Reported error: Dialog - + PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + @@ -12659,7 +13260,7 @@ Reported error: No trust - + @@ -12679,31 +13280,31 @@ Reported error: Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12713,22 +13314,22 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + @@ -12736,49 +13337,110 @@ p, li { white-space: pre-wrap; } ASCII-format - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures Inkludera signaturer + + + Options + Alternativ + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + Använd som direkt källa, om tillgänglig + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details - + - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. Fel: Kan inte hämta användaruppgifter. - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) Angiven nyckelalgoritm stöds inte av RetroShare. (För tillfället stöds endast RSA-nycklar) - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + @@ -12796,28 +13458,28 @@ p, li { white-space: pre-wrap; } Du har inget förtroende för denna användare. - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure Signatur misslyckades @@ -12827,19 +13489,19 @@ p, li { white-space: pre-wrap; } Lösenordet kanske är fel - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12988,26 +13650,80 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + Felkod + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -13098,7 +13814,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13111,7 +13827,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13124,7 +13840,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13272,7 +13988,7 @@ före redigering! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13341,37 +14057,37 @@ p, li { white-space: pre-wrap; } base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13394,7 +14110,7 @@ p, li { white-space: pre-wrap; } Widget for plugin %1 not found on plugins frame - + @@ -13412,12 +14128,12 @@ p, li { white-space: pre-wrap; } Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + @@ -13431,7 +14147,7 @@ p, li { white-space: pre-wrap; } [loading problem] - + @@ -13477,7 +14193,7 @@ felaktigt utformade insticksprogram. <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + @@ -13554,7 +14270,7 @@ felaktigt utformade insticksprogram. Chat remotely closed. Please close this window. - + @@ -13574,12 +14290,12 @@ felaktigt utformade insticksprogram. Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13612,7 +14328,7 @@ felaktigt utformade insticksprogram. You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + @@ -13622,12 +14338,12 @@ felaktigt utformade insticksprogram. Submit a new Post - + Please add a Title - + @@ -13655,12 +14371,12 @@ felaktigt utformade insticksprogram. <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + @@ -13713,7 +14429,7 @@ felaktigt utformade insticksprogram. Update Topic - + @@ -13726,7 +14442,7 @@ felaktigt utformade insticksprogram. Subscribe to Posted - + @@ -13742,7 +14458,7 @@ felaktigt utformade insticksprogram. Posted Description - + @@ -13752,7 +14468,7 @@ felaktigt utformade insticksprogram. New Posted - + @@ -13763,7 +14479,7 @@ felaktigt utformade insticksprogram. PostedItem - + 0 0 @@ -13774,7 +14490,7 @@ felaktigt utformade insticksprogram. - + Comments Kommentarer @@ -13786,12 +14502,12 @@ felaktigt utformade insticksprogram. Vote up - + Vote down - + @@ -13809,7 +14525,17 @@ felaktigt utformade insticksprogram. Nytt - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Växla meddelandestatus @@ -13819,7 +14545,7 @@ felaktigt utformade insticksprogram. Ta bort objektet - + Loading Läser in @@ -13879,7 +14605,7 @@ felaktigt utformade insticksprogram. Submit a new Post - + @@ -13904,7 +14630,7 @@ felaktigt utformade insticksprogram. 1-10 - + 1-10 @@ -14074,18 +14800,18 @@ och där läsa in den med importfunktionen. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + @@ -14283,9 +15009,9 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation Bekräftelse @@ -14295,7 +15021,7 @@ p, li { white-space: pre-wrap; } Vill du att systemet skall hantera den här länken? - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. @@ -14304,7 +15030,7 @@ and open the Make Friend Wizard. - + Add file Lägg till fil @@ -14324,12 +15050,17 @@ and open the Make Friend Wizard. Vill du bearbeta %1 länkar? - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. %1 av %2 RetroShare-länk bearbetad. @@ -14438,6 +15169,21 @@ and open the Make Friend Wizard. Channel messages not found Kunde inte hitta kanalmeddelandena + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + + Recipient not accepted @@ -14481,7 +15227,7 @@ Tecknen <b>",|,/,\,&lt;,&gt;,*,?</b> kommer att ersätt Resultat - + Unable to make path Kunde inte skapa sökväg @@ -14496,7 +15242,7 @@ Tecknen <b>",|,/,\,&lt;,&gt;,*,?</b> kommer att ersätt Kunde inte bearbeta samlingsfilen - + Deny friend Avvisa kontakt @@ -14516,7 +15262,7 @@ Tecknen <b>",|,/,\,&lt;,&gt;,*,?</b> kommer att ersätt Filbegäran avbruten - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. Denna version av RetroShare använder OpenPGP-SDK. Som sidoeffekt använder den inte systemets delade PGP-nyckelring, utan har sin egen nyckelring som delas av alla RetroShare-instanser. <br><br>Du verkar inte ha någon sådan nyckelring, även om GPG-nycklar associeras med befintliga RetroShare-konton, troligen för att du just uppgraderat till denna nya version av programmet. @@ -14527,12 +15273,12 @@ Tecknen <b>",|,/,\,&lt;,&gt;,*,?</b> kommer att ersätt - + RetroShare RetroShare - + Initialization failed. Wrong or missing installation of PGP. Initiering misslyckades. Felaktig eller saknad PGP-installation. @@ -14542,12 +15288,12 @@ Tecknen <b>",|,/,\,&lt;,&gt;,*,?</b> kommer att ersätt Ett oväntat fel uppstod. Rapportera 'RsInit::InitRetroShare unexpected return code %1'. - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. Ett oväntat fel uppstod. Rapportera 'RsInit::InitRetroShare unexpected return code %1'. - + Multiple instances Flera instanser @@ -14569,9 +15315,8 @@ Tecknen <b>",|,/,\,&lt;,&gt;,*,?</b> kommer att ersätt - Start with a RetroShare link is only supported for Windows. - Start via RetroShare-länk, stöds endast i Windows. + Start via RetroShare-länk, stöds endast i Windows. @@ -14598,24 +15343,24 @@ Reported error is: Rapporterat fel är: %2 - + Click to send a private message to %1 (%2). Klicka för att skicka ett privat meddelande till %1 (%2). %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + @@ -14625,103 +15370,103 @@ Rapporterat fel är: %2 TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + @@ -14742,39 +15487,39 @@ Rapporterat fel är: %2 Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error Fel unable to parse XML file! - + @@ -14789,12 +15534,12 @@ Security: no anonymous IDs <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14917,10 +15662,10 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -14965,17 +15710,17 @@ p, li { white-space: pre-wrap; } RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + Var vill du ha knapparna för sidan? ToolBar View - + @@ -14987,9 +15732,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -15004,8 +15749,8 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> @@ -15071,12 +15816,12 @@ p, li { white-space: pre-wrap; } If checked, the share is anonymously shared to anybody. - + If checked, the share is browsable by your friends. - + @@ -15084,12 +15829,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + Vill du verkligen sluta dela den här mappen? @@ -15133,37 +15878,37 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + @@ -15173,20 +15918,20 @@ p, li { white-space: pre-wrap; } Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15204,7 +15949,7 @@ p, li { white-space: pre-wrap; } <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15294,7 +16039,7 @@ p, li { white-space: pre-wrap; } <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15328,22 +16073,22 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + @@ -15356,22 +16101,22 @@ p, li { white-space: pre-wrap; } Add IP to whitelist - + Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + @@ -15382,7 +16127,7 @@ p, li { white-space: pre-wrap; } Entire range - + @@ -15414,12 +16159,12 @@ p, li { white-space: pre-wrap; } Ladda ner! - + File Fil - + Size Storlek @@ -15436,7 +16181,7 @@ p, li { white-space: pre-wrap; } Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. Några fil- eller mappnamn innehöll förbjudna tecken. Tecknen <b>",|,/,\,&lt;,&gt;,*,?</b> ersätts med '_'. @@ -15445,7 +16190,7 @@ Tecknen <b>",|,/,\,&lt;,&gt;,*,?</b> ersätts med &apos Selected files : - + @@ -15455,12 +16200,12 @@ Tecknen <b>",|,/,\,&lt;,&gt;,*,?</b> ersätts med &apos <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + @@ -15470,12 +16215,12 @@ Tecknen <b>",|,/,\,&lt;,&gt;,*,?</b> ersätts med &apos <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + + - + @@ -15483,53 +16228,58 @@ Tecknen <b>",|,/,\,&lt;,&gt;,*,?</b> ersätts med &apos Spara - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + Real Size=%1 - + Real File Count=%1 - + Save Collection File. - + @@ -15549,27 +16299,27 @@ Tecknen <b>",|,/,\,&lt;,&gt;,*,?</b> ersätts med &apos Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + @@ -15579,7 +16329,7 @@ Tecknen <b>",|,/,\,&lt;,&gt;,*,?</b> ersätts med &apos <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15627,7 +16377,7 @@ Om du tror att den är giltig, ta bort strängen från filen och öppna den på Save Collection File. - + @@ -15658,7 +16408,7 @@ Om du tror att den är giltig, ta bort strängen från filen och öppna den på RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? Bilden är för stor för överföring. @@ -15676,7 +16426,7 @@ Vill du krympa bilden till %1x%2 pixlar? Rshare - + Resets ALL stored RetroShare settings. Återställer ALLA sparade RetroShare-inställningar. @@ -15716,7 +16466,7 @@ Vill du krympa bilden till %1x%2 pixlar? Information om RetroShares användning - + Unable to open log file '%1': %2 Kan inte öppna loggfil '%1': %2 @@ -15731,24 +16481,33 @@ Vill du krympa bilden till %1x%2 pixlar? Kunde inte skapa datamapp: %1 - + Revision Revision - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -16079,7 +16838,7 @@ Vill du krympa bilden till %1x%2 pixlar? Peer Name: - + @@ -16096,33 +16855,33 @@ Vill du krympa bilden till %1x%2 pixlar? but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -16260,7 +17019,7 @@ Vill du krympa bilden till %1x%2 pixlar? Missing/Damaged certificate. Not a real Retroshare user. - + @@ -16270,12 +17029,12 @@ Vill du krympa bilden till %1x%2 pixlar? Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16288,12 +17047,12 @@ Vill du krympa bilden till %1x%2 pixlar? Network Mode - + Nätverksläge Nat - + @@ -16381,7 +17140,7 @@ Vill du krympa bilden till %1x%2 pixlar? If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. Om du avmarkerar detta, kan RetroShare endast avgör ditt IP när du ansluter till någon. Att låta det här vara markerat @@ -16402,32 +17161,32 @@ bra om du sitter bakom en brandvägg eller en VPN-tunnel. Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + Onion Address - + Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + @@ -16437,7 +17196,7 @@ bra om du sitter bakom en brandvägg eller en VPN-tunnel. I2P incoming ok - + @@ -16447,45 +17206,45 @@ bra om du sitter bakom en brandvägg eller en VPN-tunnel. Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + @@ -16495,27 +17254,27 @@ Also check your ports! Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16535,13 +17294,13 @@ Also check your ports! IP blacklist - + IP range - + @@ -16555,7 +17314,7 @@ Also check your ports! Origin - + @@ -16573,158 +17332,158 @@ Also check your ports! IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + @@ -16737,78 +17496,78 @@ If you have issues connecting over Tor check the Tor logs too. Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16831,12 +17590,12 @@ If you have issues connecting over Tor check the Tor logs too. Auto-download recommended files - + Require whitelist - + @@ -16859,12 +17618,12 @@ If you have issues connecting over Tor check the Tor logs too. hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16921,7 +17680,7 @@ If you have issues connecting over Tor check the Tor logs too. Share flags and groups: - + @@ -17209,7 +17968,7 @@ Välj de kontakter du vill dela kanalen med. New Msg - + @@ -17220,22 +17979,22 @@ Välj de kontakter du vill dela kanalen med. Message arrived - + Download - + Ladda ner Download complete - + Lobby - + @@ -17278,7 +18037,7 @@ Välj de kontakter du vill dela kanalen med. Default - + Standard @@ -17286,18 +18045,18 @@ Välj de kontakter du vill dela kanalen med. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile Läs in profil @@ -17370,9 +18129,9 @@ Aktuella identiteter/platser påverkas ej. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17381,7 +18140,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17390,7 +18149,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17399,7 +18158,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17473,12 +18232,12 @@ This choice can be reverted in settings. Turtle Router - + Global Router - + @@ -17585,7 +18344,7 @@ This choice can be reverted in settings. Connected: I2P - + @@ -17600,22 +18359,22 @@ This choice can be reverted in settings. TCP-in - + TCP-out - + inbound connection - + outbound connection - + @@ -17625,32 +18384,32 @@ This choice can be reverted in settings. Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17670,7 +18429,7 @@ This choice can be reverted in settings. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17683,7 +18442,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17847,17 +18606,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed Prenumererat - + Unsubscribe Avsluta prenumerationen - + Subscribe Prenumerera @@ -17916,12 +18675,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17976,11 +18735,11 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -18000,17 +18759,17 @@ p, li { white-space: pre-wrap; } <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + @@ -18020,7 +18779,7 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -18055,7 +18814,7 @@ p, li { white-space: pre-wrap; } TransfersDialog - + Downloads Nerladdningar @@ -18066,7 +18825,7 @@ p, li { white-space: pre-wrap; } Uppladdningar - + Name i.e: file name @@ -18307,7 +19066,7 @@ p, li { white-space: pre-wrap; } <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + @@ -18336,39 +19095,39 @@ p, li { white-space: pre-wrap; } - + Failed Misslyckades - - + + Okay OK - - + + Waiting Väntar - + Downloading Laddar ner - + Complete Slutfört - + Queued Köad @@ -18388,7 +19147,7 @@ p, li { white-space: pre-wrap; } Okänt - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18480,7 +19239,7 @@ Försök ha tålamod! Ange nytt giltigt filnamn - + Last Time Seen i.e: Last Time Receiced Data Senast sedd @@ -18612,17 +19371,17 @@ Försök ha tålamod! Visa Väg-kolumn - + Could not delete preview file - + Try it again? - + - + Create Collection... Skapa samling... @@ -18642,22 +19401,22 @@ Försök ha tålamod! Samling - + File sharing Fildelning - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: version: @@ -18816,12 +19575,12 @@ Försök ha tålamod! Anonymous tunnels - + Authenticated tunnels - + @@ -18831,7 +19590,7 @@ Försök ha tålamod! Turtle Router - + @@ -18879,7 +19638,7 @@ Försök ha tålamod! Forwarded data - + @@ -19008,12 +19767,12 @@ Försök ha tålamod! Enable Retroshare WEB Interface - + Web parameters - + @@ -19023,37 +19782,37 @@ Försök ha tålamod! allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + @@ -19684,7 +20443,7 @@ Försök ha tålamod! Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_tr.ts b/retroshare-gui/src/lang/retroshare_tr.ts index a763b10e4..b1f266d4d 100644 --- a/retroshare-gui/src/lang/retroshare_tr.ts +++ b/retroshare-gui/src/lang/retroshare_tr.ts @@ -1,4 +1,6 @@ - + + + AWidget @@ -28,7 +30,7 @@ Copy Info - + @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file Malesef bu dosya için varsayılan sistem komutu belirlenemedi @@ -305,7 +307,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -427,7 +429,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -475,7 +477,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -488,7 +490,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -558,7 +560,7 @@ p, li { white-space: pre-wrap; } On List Ite&m - + @@ -658,7 +660,7 @@ p, li { white-space: pre-wrap; } Disable SysTray ToolTip - + @@ -775,7 +777,7 @@ Ama Unutmayın: Buradaki herhangi bir bilgi, protokolleri güncellediğimiz de y BWGraphSource - + KB/s KB/s @@ -884,7 +886,7 @@ Ama Unutmayın: Buradaki herhangi bir bilgi, protokolleri güncellediğimiz de y Count - + Kullanıcı Sayısı @@ -970,7 +972,7 @@ Ama Unutmayın: Buradaki herhangi bir bilgi, protokolleri güncellediğimiz de y Form - + Form @@ -980,32 +982,32 @@ Ama Unutmayın: Buradaki herhangi bir bilgi, protokolleri güncellediğimiz de y Type: - + Tip: Up - + Yukari Down - + İndirme Service: - + Unit: - + Log scale - + @@ -1053,23 +1055,28 @@ Ama Unutmayın: Buradaki herhangi bir bilgi, protokolleri güncellediğimiz de y Mute participant Katılımcının sesini kapatın + + + Ban this person (Sets negative opinion) + + Send Message - + İleti Gönder Sort by Name - + Isme Göre Sirala Sort by Activity - + - + Invite friends to this lobby Bu lobiye arkadaşlarınızı davet edin @@ -1089,7 +1096,7 @@ Ama Unutmayın: Buradaki herhangi bir bilgi, protokolleri güncellediğimiz de y Davet edilecek arkadaşlarınızı seçin: - + Welcome to lobby %1 %1 lobisine hoşgeldiniz @@ -1105,7 +1112,7 @@ Ama Unutmayın: Buradaki herhangi bir bilgi, protokolleri güncellediğimiz de y Lobi sohbeti - + Lobby management @@ -1152,12 +1159,12 @@ Ama Unutmayın: Buradaki herhangi bir bilgi, protokolleri güncellediğimiz de y saniye - + Start private chat Özel sohbet başlatın - + Decryption failed. Şifre çözme başarısız. @@ -1242,12 +1249,12 @@ Ama Unutmayın: Buradaki herhangi bir bilgi, protokolleri güncellediğimiz de y ChatLobbyWidget - + Chat lobbies Sohbet lobileri - + Name İsim @@ -1285,7 +1292,7 @@ Ama Unutmayın: Buradaki herhangi bir bilgi, protokolleri güncellediğimiz de y [Konu Açılmamış] - + Selected lobby info Seçilen lobi bilgisi @@ -1302,7 +1309,7 @@ Ama Unutmayın: Buradaki herhangi bir bilgi, protokolleri güncellediğimiz de y Anonymous IDs accepted - + @@ -1325,7 +1332,7 @@ Ama Unutmayın: Buradaki herhangi bir bilgi, protokolleri güncellediğimiz de y %1 sizi %2 isimli sohbet lobisine davet ediyor - + Search Chat lobbies Sohbet lobileri arayın @@ -1342,12 +1349,12 @@ Ama Unutmayın: Buradaki herhangi bir bilgi, protokolleri güncellediğimiz de y <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + @@ -1365,7 +1372,7 @@ Ama Unutmayın: Buradaki herhangi bir bilgi, protokolleri güncellediğimiz de y Hayır - + Lobby Name: Lobi İsmi: @@ -1387,7 +1394,7 @@ Ama Unutmayın: Buradaki herhangi bir bilgi, protokolleri güncellediğimiz de y Security: - + @@ -1446,22 +1453,22 @@ Lobiye girip sohbet etmek için çift tıklayın. Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + @@ -1532,7 +1539,7 @@ Lobiye girip sohbet etmek için çift tıklayın. İptal Edin - + Quick Message Hızlı İleti @@ -1541,34 +1548,34 @@ Lobiye girip sohbet etmek için çift tıklayın. ChatPage - + General Genel - + Distant Chat - + Everyone - + Contacts - + Kisiler Nobody - + Accept encrypted distant chat from - + @@ -1598,7 +1605,7 @@ Lobiye girip sohbet etmek için çift tıklayın. Minimum font size - + @@ -1620,6 +1627,11 @@ Lobiye girip sohbet etmek için çift tıklayın. Send message with Ctrl+Return Ctrl+Return ile ileti gönderin + + + Send as plain text by default + + Chat Lobby @@ -1725,7 +1737,7 @@ Lobiye girip sohbet etmek için çift tıklayın. Giden - + Incoming message in history Gelen ileti geçmişi @@ -1762,12 +1774,12 @@ Lobiye girip sohbet etmek için çift tıklayın. UserName - + /me is sending a message with /me - + @@ -1860,7 +1872,7 @@ Lobiye girip sohbet etmek için çift tıklayın. Arama Çubuğu gösterilsin - + Private chat invite from Gelen özel sohbet daveti @@ -1883,7 +1895,7 @@ Lobiye girip sohbet etmek için çift tıklayın. ChatStyle - + Standard style for group chat Grup sohbeti için standart görünüm @@ -1937,12 +1949,12 @@ Lobiye girip sohbet etmek için çift tıklayın. Kapatın - + Send Gönderin - + Bold Kalın @@ -1957,12 +1969,12 @@ Lobiye girip sohbet etmek için çift tıklayın. Eğik - + Attach a Picture Resim Ekleyin - + Strike Üstü çizili @@ -2013,42 +2025,70 @@ Lobiye girip sohbet etmek için çift tıklayın. Varsayılan yazıtipi - + Quote - + Alinti yap Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... yazıyor... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? Geçmişi tamamen silmek istediğinizden emin misiniz? - + Add Extra File Fazladan Dosya Ekleyin @@ -2093,7 +2133,7 @@ Lobiye girip sohbet etmek için çift tıklayın. Meşgul ve cevap vermeyebilir - + Find Case Sensitively B/K Harf Duyarlı Arayın @@ -2115,7 +2155,7 @@ Lobiye girip sohbet etmek için çift tıklayın. X nesne bulunduktan sonra işaretlemeye devam edin (daha fazla CPU gerekir) - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> <b>Önceki </b><br/><i>Ctrl+Shift+G</i> @@ -2130,12 +2170,12 @@ Lobiye girip sohbet etmek için çift tıklayın. <b>Bul </b><br/><i>Ctrl+F</i> - + (Status) (Durum) - + Set text font & color Metin yazıtipi & rengini ayarlayın @@ -2145,7 +2185,7 @@ Lobiye girip sohbet etmek için çift tıklayın. Dosya Ekleyin - + WARNING: Could take a long time on big history. UYARI: Boyutu büyük olan geçmişlerde uzun sürebilir. @@ -2156,17 +2196,16 @@ Lobiye girip sohbet etmek için çift tıklayın. - + <b>Mark this selected text</b><br><i>Ctrl+M</i> <b>Seçili metni işaretleyin</b><br><i>Ctrl+M</i> - %1This message consists of %2 characters. - %1Bu ileti %2 karakterden oluşuyor. + %1Bu ileti %2 karakterden oluşuyor. - + items found. eşleşme bulundu. @@ -2181,22 +2220,20 @@ Lobiye girip sohbet etmek için çift tıklayın. <b>İşaretli metne geri dönün</b><br><i>Ctrl+M</i> - Display Search Box - Arama Kutusu Görünsün + Arama Kutusu Görünsün - Search Box - Arama Kutusu + Arama Kutusu - + Type a message here İletinizi yazın - + Don't stop to color after Şuradan sonra işaretlemeye devam edin @@ -2206,9 +2243,8 @@ Lobiye girip sohbet etmek için çift tıklayın. bulunanlar (daha fazla CPU gerekir) - Warning: - Uyarı: + Uyarı: @@ -2227,7 +2263,7 @@ Lobiye girip sohbet etmek için çift tıklayın. CirclesDialog - + Showing details: Ayrıntılar gösteriliyor: @@ -2249,7 +2285,7 @@ Lobiye girip sohbet etmek için çift tıklayın. - + Personal Circles Kişisel Çevreler @@ -2275,7 +2311,7 @@ Lobiye girip sohbet etmek için çift tıklayın. - + Friends Arkadaşlar @@ -2335,7 +2371,7 @@ Lobiye girip sohbet etmek için çift tıklayın. Arkadaşların Arkadaşları - + External Circles (Admin) Dış Çevreler (Yönetici) @@ -2359,7 +2395,7 @@ Lobiye girip sohbet etmek için çift tıklayın. ConfCertDialog - + Details Ayrıntılar @@ -2375,7 +2411,7 @@ Lobiye girip sohbet etmek için çift tıklayın. - + Local Address Yerel Adres @@ -2402,36 +2438,39 @@ Lobiye girip sohbet etmek için çift tıklayın. Adres listesi - + + Use this certificate to make friends: + + + + Include signatures Imzalar dahil - - + + RetroShare Retroshare - - + + Error : cannot get peer details. Hata: eş ayrıntıları alınamıyor. - Use as direct source, when available - Mümkün olduğunda doğrudan kaynak olarak kullan + Mümkün olduğunda doğrudan kaynak olarak kullan - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - <html><head/><body><p align="justify">Retroshare periyodik olarak, aktarımlarınızla eşleşen görülebilir dosyalar için arkadaş listenizi kontrol eder, ki doğrudan aktarım yapabilesiniz. Bu durumda, arkadaşınız dosyayı indirdiğinizi bilebilir.</p><p align="justify">Bu işlemi yalnızca bu arkadaşınız için engellemek istiyorsanız, kutu işaretini kaldırın. Eğer isterseniz hala doğrudan aktarım gerçekleştirebilirsiniz, ör. arkadaşınızın dosya listesinden indirerek. </p></body></html> + <html><head/><body><p align="justify">Retroshare periyodik olarak, aktarımlarınızla eşleşen görülebilir dosyalar için arkadaş listenizi kontrol eder, ki doğrudan aktarım yapabilesiniz. Bu durumda, arkadaşınız dosyayı indirdiğinizi bilebilir.</p><p align="justify">Bu işlemi yalnızca bu arkadaşınız için engellemek istiyorsanız, kutu işaretini kaldırın. Eğer isterseniz hala doğrudan aktarım gerçekleştirebilirsiniz, ör. arkadaşınızın dosya listesinden indirerek. </p></body></html> - + Encryption Şifreleme @@ -2446,17 +2485,16 @@ Lobiye girip sohbet etmek için çift tıklayın. Eş Adresleri - Options - Seçenekler + Seçenekler - + Retroshare node details Retroshare düğüm bilgileri - + Node name : Düğüm ismi : @@ -2491,22 +2529,16 @@ Lobiye girip sohbet etmek için çift tıklayın. Retroshare Sertifikası - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - Auto-download recommended files from this node - Bu düğümdeki önerilen dosyaları otomatik indir + Bu düğümdeki önerilen dosyaları otomatik indir - + Friend node details Arkadaş düğümü bilgileri - + Hidden Address Gizli Adres @@ -2542,17 +2574,11 @@ Lobiye girip sohbet etmek için çift tıklayın. <p>Yeni arkadaşlar eklemek için bu sertifikayı kullanabilirsiniz. Eposta ile gönderebilir veya elden verebilirsiniz.</p> - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - <html><head/><body><p>Bu seçeneği kullanan eşler eğer bağlantı adresleri beyazlistede değilse bağlanamazlar. Bu sizi trafik yönlendirme saldırılarından korur. Kullanıldığında, reddedilen eşler, Haber Kaynağı bölümünde &quot;güvenlik beslemeleri&quot; ile bildirilecektir. Oradan, IP'lerini karalisteye veya beyazlisteye ekleyebilirsiniz.</p></body></html> + <html><head/><body><p>Bu seçeneği kullanan eşler eğer bağlantı adresleri beyazlistede değilse bağlanamazlar. Bu sizi trafik yönlendirme saldırılarından korur. Kullanıldığında, reddedilen eşler, Haber Kaynağı bölümünde &quot;güvenlik beslemeleri&quot; ile bildirilecektir. Oradan, IP'lerini karalisteye veya beyazlisteye ekleyebilirsiniz.</p></body></html> - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> <html><head/><body><p>Bu, düğümün <span style=" font-weight:600;">OpenSSL</span> sertifikası kodudur, ve üstteki <span style=" font-weight:600;">PGP</span> anahtarı tarafından imzalanmıştır. </p></body></html> @@ -2628,12 +2654,12 @@ Lobiye girip sohbet etmek için çift tıklayın. Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + @@ -2718,42 +2744,42 @@ Lobiye girip sohbet etmek için çift tıklayın. RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + GMail - + Yahoo - + Outlook - + AOL - + Yandex - + Email - + E-Posta @@ -2821,7 +2847,7 @@ Lobiye girip sohbet etmek için çift tıklayın. Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + @@ -2838,33 +2864,33 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + @@ -3159,12 +3185,12 @@ resources. IP-Addr: - + IP-Address - + @@ -3179,7 +3205,7 @@ resources. The text below is your Retroshare certificate. You have to provide it to your friend - + @@ -3252,7 +3278,7 @@ kullanışlı olabilir. Require whitelist clearance to connect - + @@ -3267,7 +3293,7 @@ kullanışlı olabilir. <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + @@ -3726,11 +3752,11 @@ kullanışlı olabilir. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -3789,68 +3815,80 @@ p, li { white-space: pre-wrap; } CreateCircleDialog - + + + + Circle Details Çevre Detayları - - + Name Dosya Adi - Creator - Oluşturan + Oluşturan - Distribution - Dağıtım + Dağıtım - + Public Genel - Self-Restricted - Öz-Kısıtlamalı + Öz-Kısıtlamalı - Restricted to: - Sınırlı: + Sınırlı: - Circle Membership - Çevre Üyeliği + Çevre Üyeliği - + IDs Kodlar - Known Identities - Bilinen Kimlikler + Bilinen Kimlikler - + Filter Filtre - + Nickname Takma ad - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID Kod @@ -3860,55 +3898,104 @@ p, li { white-space: pre-wrap; } Tip - - - - + + Name: + + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + Kişisel + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare Retroshare - + Please set a name for your Circle Lütfen Çevreniz için bir isim belirleyin - Personal Circle Details - Kişisel Çevre Ayrıntıları + Kişisel Çevre Ayrıntıları - External Circle Details - Harici Çevre Detayları + Harici Çevre Detayları - Cannot Edit Existing Circles Yet - Varolan Çevreler Henüz Düzenlenemiyor + Varolan Çevreler Henüz Düzenlenemiyor - + No Restriction Circle Selected Hiçbir Kısıtlama Çevresi Seçilmedi - + No Circle Limitations Selected Hiçbir Çevre Kısıtlaması Seçilmedi - Create New Personal Circle - Yeni Kişisel Çevre Oluşturun + Yeni Kişisel Çevre Oluşturun - Create New External Circle - Yeni Dış Çevre Oluşturun + Yeni Dış Çevre Oluşturun - + Add Ekleyin @@ -3918,13 +4005,13 @@ p, li { white-space: pre-wrap; } Silin - + Search Baslat - + All Hepsi @@ -3939,49 +4026,98 @@ p, li { white-space: pre-wrap; } Tanınan düğümler tarafından imzalı - + Edit Circle Çevreyi Düzenle - - + PGP Identity PGP Kimliği - - - + + + Anon Id Anonim Id + + + Circle name + + + + + Update + + + Close + + + + + + Create New Circle + + + + + Create + Olustur + + + PGP Linked Id PGP bağlantılı Kimlik + + + Add Member + + + + + Remove Member + + CreateGroup - + Create a Group Grup olustur - - Group Name - Grup ismi + + Group Name: + Grup ismi: - + + Group ID: + + + + Group Name + Grup ismi + + + Enter a name for your group Grup için bir isim verin - + + To be defined + + + + Friends Arkadaslar @@ -4015,9 +4151,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -4146,7 +4282,7 @@ p, li { white-space: pre-wrap; } CreateGxsForumMsg - + Post Forum Message Forum Mesaj Gönder @@ -4191,12 +4327,12 @@ p, li { white-space: pre-wrap; } Yeni konu baslat - + No Forum Forum Yok - + In Reply to Cevap olarak @@ -4222,9 +4358,19 @@ p, li { white-space: pre-wrap; } Add Extra File Ekstra Dosya Ekle + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data Yığınsal veri üretin @@ -4234,12 +4380,12 @@ p, li { white-space: pre-wrap; } Gerçekten %1 ileti oluşturmak istiyor musunuz? - + Send Gönder - + Forum Message Forum İletisi @@ -4287,7 +4433,7 @@ Bu iletiyi iptal etmek ister misiniz? Visibility: - + @@ -4302,17 +4448,17 @@ Bu iletiyi iptal etmek ister misiniz? <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + Security: - + @@ -4327,12 +4473,12 @@ Bu iletiyi iptal etmek ister misiniz? Put a sensible lobby name here - + Set a descriptive topic here - + @@ -4501,7 +4647,7 @@ Bu iletiyi iptal etmek ister misiniz? <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + @@ -4527,7 +4673,7 @@ Bu iletiyi iptal etmek ister misiniz? No peer found in DHT - + @@ -4772,17 +4918,17 @@ Bu iletiyi iptal etmek ister misiniz? IP - + IP Search IP - + Copy %1 to clipboard - + @@ -5038,7 +5184,7 @@ Bu iletiyi iptal etmek ister misiniz? Relays - + @@ -5201,7 +5347,7 @@ Bu iletiyi iptal etmek ister misiniz? Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. Dosya paylaşılmasa bile karılmalar hatırlansın mı? @@ -5659,22 +5805,22 @@ dosyaların tekrar-karılmasından kurtulursunuz. export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + @@ -5689,7 +5835,7 @@ dosyaların tekrar-karılmasından kurtulursunuz. Gruplari Göster - + Group Grub @@ -5730,17 +5876,17 @@ dosyaların tekrar-karılmasından kurtulursunuz. Gruba ekle - + Search Arayın Sort by state - + - + Move to group Gruba tasi @@ -5775,90 +5921,90 @@ dosyaların tekrar-karılmasından kurtulursunuz. Mevcut - + Do you want to remove this Friend? Bu Arkadasi kaldirmak istiyor musunuz? - + Done! - + Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + Error - + Hata Failed to get a file! - + File is not writeable! - + File is not readable! - + @@ -5866,7 +6012,7 @@ at least one peer was not added to a group IP - + Attempt to connect Bağlanmayı dene @@ -5896,7 +6042,7 @@ at least one peer was not added to a group Arkadaş Düğümünüzü Silin - + Do you want to remove this node? Bu düğümü silmek istiyor musunuz? @@ -5906,7 +6052,7 @@ at least one peer was not added to a group Arkadaş düğümleri - + Send message to whole group Tüm gruba ileti gönderin @@ -5956,7 +6102,7 @@ at least one peer was not added to a group Sort by state - + @@ -5969,14 +6115,14 @@ at least one peer was not added to a group Arkadaş Ara - + Mark all - + Hepsini Isaretle Mark none - + @@ -6162,7 +6308,12 @@ anonymous, you can use a fake email. Parola (kontrol) - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> <html><head/><body><p align="justify">Devam etmeden önce, Retroshare'ın olabildiğince fazla rasgelelik oluşturmasına yardımcı olmak için, farenizi ekranda gezdirin. En az %20 ilerleme gerekir, ama %100 tamamlamanızı tavsiye ederiz.</p></body></html> @@ -6226,7 +6377,7 @@ anonymous, you can use a fake email. Düğüm alanına en az 3 karakter girmelisiniz - + Failed to generate your new certificate, maybe PGP password is wrong! Yeni sertifikanızı üretemedik, PGP parolası yanlış olabilir! @@ -6260,7 +6411,7 @@ Ayrıca varolan bir profili de kullanabilirsiniz: Bunun için "Yeni profil - + Create a new profile Yeni profil oluşturun @@ -6292,7 +6443,7 @@ Ayrıca varolan bir profili de kullanabilirsiniz: Bunun için "Yeni profil hidden address - + @@ -6311,12 +6462,7 @@ Ayrıca varolan bir profili de kullanabilirsiniz: Bunun için "Yeni profil <html><head/><body><p>Bu sizin bağlantı kapınız.</p><p>1024 ve 65535 arasındaki herhangi bir değer</p><p>uygun olmalı. Bu değeri sonradan değiştirebilirsiniz.</p></body></html> - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length PGP anahtar uzunluğu @@ -6340,7 +6486,7 @@ Ayrıca varolan bir profili de kullanabilirsiniz: Bunun için "Yeni profil [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + @@ -6462,7 +6608,7 @@ ve içe aktar butonunu kullanarak yükleyebilirsiniz Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + @@ -6473,12 +6619,12 @@ ve içe aktar butonunu kullanarak yükleyebilirsiniz - + Profile generation failure Profil üretimi başarısız - + Missing PGP certificate PGP sertifikası eksik @@ -6546,8 +6692,12 @@ Sizden istendiğinde PGP parolanızı girerek, yeni anahtarınızı imzalayın.< + Register retroshare:// as URL protocol + + + Register retroshare:// as URL protocol (Restart required) - retroshare:// URL protokolü olarak kaydet (Yeniden başlatılmalı) + retroshare:// URL protokolü olarak kaydet (Yeniden başlatılmalı) @@ -6555,7 +6705,27 @@ Sizden istendiğinde PGP parolanızı girerek, yeni anahtarınızı imzalayın.< Bu seçenegi degistirmek için yönetici haklarina sahip olmaniz gerekir. - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle Bosta @@ -6575,7 +6745,17 @@ Sizden istendiğinde PGP parolanızı girerek, yeni anahtarınızı imzalayın.< Başlangıç sihirbazını çalıştır - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error Hata @@ -6596,7 +6776,7 @@ Sizden istendiğinde PGP parolanızı girerek, yeni anahtarınızı imzalayın.< Genel - + Minimize to Tray Icon Simge Durumuna Küçült @@ -6620,7 +6800,7 @@ Sizden istendiğinde PGP parolanızı girerek, yeni anahtarınızı imzalayın.< <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> @@ -6653,18 +6833,18 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6676,31 +6856,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6713,7 +6893,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + @@ -6813,7 +6993,7 @@ p, li { white-space: pre-wrap; } It has many features, including built-in chat, messaging, - + @@ -6826,62 +7006,62 @@ p, li { white-space: pre-wrap; } GroupBox - + ID - + Kod Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + @@ -6891,12 +7071,12 @@ p, li { white-space: pre-wrap; } Pending packets - + Unknown - + Bilinmeyen @@ -6904,22 +7084,22 @@ p, li { white-space: pre-wrap; } Managed keys - + Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6930,6 +7110,14 @@ p, li { white-space: pre-wrap; } Göster Grup Sohbetini + + GroupChooser + + + [Unknown] + + + GroupDefs @@ -7014,27 +7202,27 @@ p, li { white-space: pre-wrap; } All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -7063,39 +7251,39 @@ p, li { white-space: pre-wrap; } Rehber: - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer Lütfen en az bir eş seçin - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7138,7 +7326,17 @@ p, li { white-space: pre-wrap; } Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + @@ -7146,14 +7344,9 @@ p, li { white-space: pre-wrap; } Görüntü - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7280,7 +7473,7 @@ p, li { white-space: pre-wrap; } <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + @@ -7300,7 +7493,7 @@ p, li { white-space: pre-wrap; } Select channel download directory - + @@ -7310,18 +7503,18 @@ p, li { white-space: pre-wrap; } Set download directory - + [Default directory] - + Specify... - + Belirt... @@ -7496,6 +7689,16 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status Degistir Mesaj okuma durumu @@ -7506,7 +7709,7 @@ p, li { white-space: pre-wrap; } - + Play Baslat @@ -7543,12 +7746,12 @@ p, li { white-space: pre-wrap; } Ögeyi Silin - + Channel Feed Kanal Akışı - + Files Dosya @@ -7588,12 +7791,12 @@ p, li { white-space: pre-wrap; } Beğenmedim - + Loading Yükleniyor - + Open @@ -7611,7 +7814,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel Kanala Gönderin @@ -7626,7 +7829,7 @@ p, li { white-space: pre-wrap; } Kanalları Arayın - + Title Başlık @@ -7661,7 +7864,32 @@ p, li { white-space: pre-wrap; } Kanal seçmediniz - + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download Otomatik Indirme etkisizlestir @@ -7681,7 +7909,23 @@ p, li { white-space: pre-wrap; } Dosyaları görüntüleyin - + + Administrator: + + + + + + unknown + tanımsız + + + + Distribution: + + + + Feeds Akışlar @@ -7691,19 +7935,19 @@ p, li { white-space: pre-wrap; } Dosya - + Subscribers - + - + Description: Açıklama: - + Posts (at neighbor nodes): - + @@ -7719,7 +7963,7 @@ p, li { white-space: pre-wrap; } Comment Container - + @@ -7747,7 +7991,7 @@ p, li { white-space: pre-wrap; } Voter ID: - + @@ -7777,17 +8021,17 @@ p, li { white-space: pre-wrap; } UpVotes - + DownVotes - + OwnVote - + @@ -7825,9 +8069,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> - + @@ -7837,7 +8081,7 @@ p, li { white-space: pre-wrap; } Comment Signing Error - + @@ -7867,17 +8111,17 @@ bir kimlik oluşturmalısınız Update Forum - + Add Forum Admins - + Select Forum Admins - + @@ -7956,7 +8200,7 @@ bir kimlik oluşturmalısınız In Reply to: - + @@ -7982,7 +8226,7 @@ bir kimlik oluşturmalısınız Form - + Start new Thread for Selected Forum Seçilmis Forum için yeni Konu Baslat @@ -8008,7 +8252,7 @@ bir kimlik oluşturmalısınız - + Title Baslik @@ -8021,18 +8265,18 @@ bir kimlik oluşturmalısınız - + Author Yazar Save image - + - + Loading Yükleniyor @@ -8099,12 +8343,12 @@ bir kimlik oluşturmalısınız Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + @@ -8157,33 +8401,73 @@ bir kimlik oluşturmalısınız This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + Dağıtım + + + Anti-spam - + [ ... Redacted message ... ] - + @@ -8208,22 +8492,22 @@ bir kimlik oluşturmalısınız <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8279,39 +8563,39 @@ bir kimlik oluşturmalısınız %1 üzerinde,%2 yazdi: - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description Tanımlama By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8327,7 +8611,7 @@ bir kimlik oluşturmalısınız <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + @@ -8382,20 +8666,20 @@ bir kimlik oluşturmalısınız GxsGroupDialog - - + + Name Isim - + Add Icon Simge Ekleyin Key recipients can publish to restricted-type group and can view and publish for private-type channels - + @@ -8403,7 +8687,7 @@ bir kimlik oluşturmalısınız Yayınlama Anahtarını Paylaş - + check peers you would like to share private publish key with özel yayın anahtarınızı paylaşacağınız eşleri seçin @@ -8413,36 +8697,40 @@ bir kimlik oluşturmalısınız Anahtari Paylaş - - + + Description Tanımlama - + Message Distribution Mesaj Dağıtımı - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public Genel - - Restricted to Group - Gruba Kısıtlı + Gruba Kısıtlı - - + Only For Your Friends Sadece Arkadaşlarınız İçin - + Publish Signatures İmzaları Yayınla @@ -8488,12 +8776,11 @@ bir kimlik oluşturmalısınız - Comments Yorumlar - + Allow Comments Yorumlara İzin Ver @@ -8505,133 +8792,203 @@ bir kimlik oluşturmalısınız Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + Yorum: - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + YazıEtiketi - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: Rehber: - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name Ad ekleyin - + + PGP signature from known ID required + + + + Load Group Logo Grup Logosunu Yükle - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback Geri bildirim göndermek için kullanılacaktır Owner: - + - + Set a descriptive description here - + - + Info Bilgi - - Comments allowed - - - - - Comments not allowed - - - - + ID Kod - + Last Post Son İleti + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity Bilinirlik - - - Posts - - - Type - Tip + Posts + - + Type + Tip + + + Author Yazar GxsIdLabel - + @@ -8674,15 +9031,20 @@ bir kimlik oluşturmalısınız Show Details - + Edit Details - + - + + Share publish permissions + + + + Copy RetroShare Link RetroShare Bağlantısını Kopyalayın @@ -8697,25 +9059,20 @@ bir kimlik oluşturmalısınız Hepsini Işaretle Okunmamuş olarak - + AUTHD Doğrulanmış - - - Share admin permissions - - GxsIdChooser - + No Signature İmza Yok - + Create new Identity Yeni Profil Olustur @@ -8723,7 +9080,7 @@ bir kimlik oluşturmalısınız GxsIdDetails - + Loading Yükleniyor @@ -8742,7 +9099,7 @@ bir kimlik oluşturmalısınız [Banned] - + @@ -8753,32 +9110,32 @@ bir kimlik oluşturmalısınız unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8799,42 +9156,42 @@ bir kimlik oluşturmalısınız Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + Tanınmayan Eş @@ -9021,7 +9378,7 @@ bir kimlik oluşturmalısınız Error Loading Help Contents: - + @@ -9058,14 +9415,14 @@ bir kimlik oluşturmalısınız p, li { white-space: pre-wrap; } </style></head><body style=" font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; font-weight:600;">About RetroShare</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9076,14 +9433,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Swedish: </span><span style=" font-size:8pt;"> Daniel Wester</span><span style=" font-size:8pt; font-weight:600;"> &lt;</span><span style=" font-size:8pt;">wester@speedmail.se</span><span style=" font-size:8pt; font-weight:600;">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">German: </span><span style=" font-size:8pt;">Jan</span><span style=" font-size:8pt; font-weight:600;"> </span><span style=" font-size:8pt;">Keller</span> &lt;<span style=" font-size:8pt;">trilarion@users.sourceforge.net</span>&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polish: </span>Maciej Mrug</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9093,11 +9450,11 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + @@ -9142,7 +9499,7 @@ p, li { white-space: pre-wrap; } IdDetailsDialog - + Person Details Kişi Detayları @@ -9154,7 +9511,7 @@ p, li { white-space: pre-wrap; } Owner node ID : - + @@ -9164,7 +9521,7 @@ p, li { white-space: pre-wrap; } Owner node name : - + @@ -9179,7 +9536,7 @@ p, li { white-space: pre-wrap; } Last used: - + @@ -9195,30 +9552,30 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9228,34 +9585,34 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + @@ -9285,7 +9642,7 @@ p, li { white-space: pre-wrap; } Owned by 2-hops Retroshare node - + @@ -9300,39 +9657,40 @@ p, li { white-space: pre-wrap; } +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + Tamam Banned - + IdDialog - + + New ID Yeni Kod oluşturun - - + + All Hepsi @@ -9348,62 +9706,98 @@ p, li { white-space: pre-wrap; } Baslat - Unknown real name - Bilinmeyen gerçek ad + Bilinmeyen gerçek ad - + Anonymous Id Anonim Id - + Create new Identity Yeni Profil Olustur - - Persons - + + Create new circle + - + + Persons + + + + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + Çevreler + + + + Circle name + + + + + Membership + Üyelik + + + + Public Circles + Herkese Açık Çevreler + + + + Personal Circles + Kişisel Çevreler + + + Edit identity - + Kimliği düzenle Delete identity - + Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + @@ -9411,24 +9805,24 @@ p, li { white-space: pre-wrap; } Kimlik adı : - + () - + - + Identity ID - + - + Send message İleti gönderin - + Identity info - + @@ -9438,7 +9832,7 @@ p, li { white-space: pre-wrap; } Owner node name : - + @@ -9448,91 +9842,304 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous Anonim - + ID - + Kod Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + Durum: + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + tanımsız + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node Kimlik size ait, Retroshare düğümünüze bağlı @@ -9549,75 +10156,75 @@ p, li { white-space: pre-wrap; } OK - + Tamam Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People - + @@ -9626,99 +10233,89 @@ p, li { white-space: pre-wrap; } Avatarınız - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9791,7 +10388,7 @@ p, li { white-space: pre-wrap; } Error KeyID invalid - + @@ -9830,7 +10427,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9851,22 +10448,22 @@ p, li { white-space: pre-wrap; } Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9884,7 +10481,7 @@ p, li { white-space: pre-wrap; } GXSId - + @@ -9894,27 +10491,27 @@ p, li { white-space: pre-wrap; } - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9927,7 +10524,7 @@ p, li { white-space: pre-wrap; } - + Copy Kopyala @@ -9963,17 +10560,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -10012,7 +10609,7 @@ p, li { white-space: pre-wrap; } Recommend in a message to - + @@ -10028,7 +10625,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Add Friend Arkadaş ekle @@ -10044,7 +10641,7 @@ p, li { white-space: pre-wrap; } - + Options Seçenekler @@ -10078,12 +10675,12 @@ p, li { white-space: pre-wrap; } Hizli Baslangiç Sihirbazi - + RetroShare %1 a secure decentralized communication platform RetroShare %1 merkezi olmayan güvenli bir iletişim platformudur - + Unfinished Tamamlanmamış @@ -10123,7 +10720,7 @@ Lütfen biraz boş disk alanı oluşturun ve Tamam'a tıklayın. Open Messenger - + @@ -10201,7 +10798,7 @@ Lütfen biraz boş disk alanı oluşturun ve Tamam'a tıklayın.RetroShare'dan çikmak istiyor musunuz? - + Internal Error Dahili Hata @@ -10218,7 +10815,7 @@ Lütfen biraz boş disk alanı oluşturun ve Tamam'a tıklayın. Make sure this link has not been forged to drag you to a malicious website. - + @@ -10243,44 +10840,44 @@ Lütfen biraz boş disk alanı oluşturun ve Tamam'a tıklayın. Service permissions matrix - + - + Add Ekleyin Statistics - + Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose Yeni ileti @@ -10382,29 +10979,29 @@ Lütfen biraz boş disk alanı oluşturun ve Tamam'a tıklayın. - + Tags Etiketler Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + @@ -10504,17 +11101,17 @@ Lütfen biraz boş disk alanı oluşturun ve Tamam'a tıklayın. All addresses (mixed) - + All people - + My contacts - + @@ -10542,7 +11139,7 @@ Lütfen biraz boş disk alanı oluşturun ve Tamam'a tıklayın.Merhaba %1, %2 <br><br>RetroShare'da seninle arkadaş olmak istiyor. <br><br>Şimdi yanıtla: <br>%3<br><br>Teşekkürler,<br>RetroShare Takımı - + Save Message Mesaj kaydet @@ -10764,7 +11361,7 @@ mesaji taslaka kaydetmek istiyor musunuz? Details - + @@ -10825,74 +11422,74 @@ mesaji kaydetmek istiyor musunuz? Kimden: - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10900,22 +11497,22 @@ mesaji kaydetmek istiyor musunuz? Everyone - + Contacts - + Kisiler Nobody - + Accept encrypted distant messages from - + @@ -11120,17 +11717,17 @@ mesaji kaydetmek istiyor musunuz? Load images always for this message - + Hide the attachment pane - + Show the attachment pane - + @@ -11554,7 +12151,7 @@ mesaji kaydetmek istiyor musunuz? <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + @@ -11651,7 +12248,7 @@ mesaji kaydetmek istiyor musunuz? This message goes to a distant person. - + @@ -11671,22 +12268,22 @@ mesaji kaydetmek istiyor musunuz? Click to sort by signature - + This message was signed and the signature checks - + This message was signed but the signature doesn't check - + This message comes from a distant person. - + @@ -11697,7 +12294,7 @@ mesaji kaydetmek istiyor musunuz? RetroShare Anlık Sohbet - + Add a Friend Arkadaş ekle @@ -11712,17 +12309,17 @@ mesaji kaydetmek istiyor musunuz? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + @@ -11976,22 +12573,22 @@ mesaji kaydetmek istiyor musunuz? Clean keyring - + - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. The removal may fail when running multiple Retroshare instances on the same machine. - + Keyring info - + @@ -11999,7 +12596,7 @@ Notes: Your old keyring will be backed up. For security, your keyring was previously backed-up to file - + @@ -12014,7 +12611,7 @@ For security, your keyring was previously backed-up to file Cannot create backup file. Check for permissions in pgp directory, disk space, etc. - + @@ -12085,79 +12682,79 @@ Right-click and select 'make friend' to be able to connect. Data inconsistency in the keyring. This is most probably a bug. Please contact the developers. - + Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12188,7 +12785,7 @@ Reported error: Freeze - + @@ -12259,7 +12856,7 @@ Reported error: <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12336,7 +12933,7 @@ Reported error: Ip security - + @@ -12406,7 +13003,7 @@ Reported error: <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + @@ -12436,17 +13033,17 @@ Reported error: Disable All Toasters - + Posted - + Disable All Toaster temporarily - + @@ -12456,7 +13053,7 @@ Reported error: Systray - + @@ -12466,23 +13063,23 @@ Reported error: Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase PGP anahtarı şifresi @@ -12502,12 +13099,12 @@ Reported error: RetroShare kaydedilmemiş bir eklenti farketti. Bu iki durumda olur: <UL><LI>RetroShare çalıştırılabiliriniz değişti.</LI><LI>Eklenti değişti</LI></UL>Bu eklentiyi onaylamak için Evet'e, reddetmek için Hayır'a tıklayın. Daha sonra fikrinizi değiştirirseniz Ayarlar -> Eklentiler'den düzeltip, yeniden başlatabilirsiniz. - + Please check your system clock. Lütfen sistem saatini kontrol ediniz - + Examining shared files... Paylaşılan dosyalar inceleniyor... @@ -12543,14 +13140,14 @@ Reported error: Şifreli ileti - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12585,11 +13182,11 @@ Reported error: - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers - + @@ -12597,42 +13194,42 @@ Reported error: Dialog - + PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + @@ -12642,7 +13239,7 @@ Reported error: No trust - + @@ -12662,31 +13259,31 @@ Reported error: Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12696,73 +13293,134 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures Imzalar dahil + + + Options + Seçenekler + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + Bu düğümdeki önerilen dosyaları otomatik indir + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details - + - - + + RetroShare Retroshare - - - + + + Error : cannot get peer details. Hata: eş ayrıntıları alınamıyor. - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) Verilen anahtar algoritmasi RetroShare tarafindan desteklenmiyor (Sadece RSA anahtarlari su anda desteklenir) - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + @@ -12780,28 +13438,28 @@ p, li { white-space: pre-wrap; } Bu eşe hiç güvenmiyorsunuz. - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure Imza Arizasi @@ -12811,19 +13469,19 @@ p, li { white-space: pre-wrap; } Parola yanlış olabilir - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12972,26 +13630,80 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -13082,16 +13794,16 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13104,9 +13816,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> - + @@ -13247,7 +13959,7 @@ requesting to edit it! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13316,37 +14028,37 @@ p, li { white-space: pre-wrap; } base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13369,7 +14081,7 @@ p, li { white-space: pre-wrap; } Widget for plugin %1 not found on plugins frame - + @@ -13387,12 +14099,12 @@ p, li { white-space: pre-wrap; } Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + @@ -13406,7 +14118,7 @@ p, li { white-space: pre-wrap; } [loading problem] - + @@ -13452,7 +14164,7 @@ hazırlanmış eklentilerin zararlarından korur. <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + @@ -13529,12 +14241,12 @@ hazırlanmış eklentilerin zararlarından korur. Chat remotely closed. Please close this window. - + The person you're talking to has deleted the secured chat tunnel. You may remove the chat window now. - + @@ -13549,12 +14261,12 @@ hazırlanmış eklentilerin zararlarından korur. Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13587,7 +14299,7 @@ hazırlanmış eklentilerin zararlarından korur. You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + @@ -13597,12 +14309,12 @@ hazırlanmış eklentilerin zararlarından korur. Submit a new Post - + Please add a Title - + @@ -13612,7 +14324,7 @@ hazırlanmış eklentilerin zararlarından korur. Link - + @@ -13625,17 +14337,17 @@ hazırlanmış eklentilerin zararlarından korur. Posted - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + @@ -13688,7 +14400,7 @@ hazırlanmış eklentilerin zararlarından korur. Update Topic - + @@ -13701,7 +14413,7 @@ hazırlanmış eklentilerin zararlarından korur. Subscribe to Posted - + @@ -13717,7 +14429,7 @@ hazırlanmış eklentilerin zararlarından korur. Posted Description - + @@ -13727,7 +14439,7 @@ hazırlanmış eklentilerin zararlarından korur. New Posted - + @@ -13738,7 +14450,7 @@ hazırlanmış eklentilerin zararlarından korur. PostedItem - + 0 0 @@ -13749,7 +14461,7 @@ hazırlanmış eklentilerin zararlarından korur. - + Comments Yorumlar @@ -13761,12 +14473,12 @@ hazırlanmış eklentilerin zararlarından korur. Vote up - + Vote down - + @@ -13784,7 +14496,17 @@ hazırlanmış eklentilerin zararlarından korur. Yeni - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status İleti okunma durumunu değiştirin @@ -13794,7 +14516,7 @@ hazırlanmış eklentilerin zararlarından korur. Ögeyi Silin - + Loading Yükleniyor @@ -13854,7 +14576,7 @@ hazırlanmış eklentilerin zararlarından korur. Submit a new Post - + @@ -13879,7 +14601,7 @@ hazırlanmış eklentilerin zararlarından korur. 1-10 - + 1-10 @@ -13892,12 +14614,12 @@ hazırlanmış eklentilerin zararlarından korur. Posted - + Open each topic in a new tab - + @@ -13905,7 +14627,7 @@ hazırlanmış eklentilerin zararlarından korur. Posted - + @@ -14049,23 +14771,23 @@ Artık kimliğinizi başka bilgisayara kopyalayıp <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + @@ -14202,7 +14924,7 @@ p, li { white-space: pre-wrap; } Add to Pulse - + @@ -14232,7 +14954,7 @@ p, li { white-space: pre-wrap; } Post Pulse to Wire - + @@ -14258,9 +14980,9 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation Onayla @@ -14270,7 +14992,7 @@ p, li { white-space: pre-wrap; } Bu bağlantının sisteminiz tarafından kullanılmasını istiyor musunuz? - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. @@ -14279,7 +15001,7 @@ ve Arkadaş Ekleme Sihirbazını açın. - + Add file Dosya ekleyin @@ -14299,12 +15021,17 @@ ve Arkadaş Ekleme Sihirbazını açın. %1 bağlantılarını işlemek istiyor musunuz? - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. %1 RetroShare bağlantısının işlenen kısmı %2. @@ -14413,6 +15140,21 @@ ve Arkadaş Ekleme Sihirbazını açın. Channel messages not found Kanal iletileri bulunamadı + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + + Recipient not accepted @@ -14456,7 +15198,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Sonuç - + Unable to make path Dizin oluşturulamıyor @@ -14471,7 +15213,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Derleme dosyası işlenemedi - + Deny friend Arkadaş reddet @@ -14491,7 +15233,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Dosya isteğinden vazgeçtiniz - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. RetroShare'ın bu versiyonu OpenPGP-SDK kullanır. Yan etki olarak, sistem paylaşımlı PGP anahtarlığını kullanmaz, ama tüm RetroShare istekleriyle paylaşılan kendi anahtarlığı vardır.<br><br>Muhtemelen bu yazılımın yeni sürümüne henzü geçtiğiniz için, mevcut RetroShare hesapları PGP anahtarlarından bahsetmesine rağmen, böyle bir anahtarlığınız yok görünüyor. @@ -14502,12 +15244,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - + RetroShare Retroshare - + Initialization failed. Wrong or missing installation of PGP. Başlatılamadı. Yanlış veya eksik PGP kurulumu. @@ -14517,12 +15259,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Beklenmeyen bir hata oluştu. Lütfen 'RsInit::InitRetroShare beklenmeyen dönüş kodu %1' hatasını bildirin. - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. Beklenmeyen bir hata oluştu. Lütfen bildirin ' RsInit::InitRetroShare beklenmeyen dönüş kodu %1'. - + Multiple instances Çeşitli durumlarda @@ -14545,9 +15287,8 @@ Kilit dosyası: - Start with a RetroShare link is only supported for Windows. - RetroShare bağlantısıyla başlatma yalnızca Windows için geçerli. + RetroShare bağlantısıyla başlatma yalnızca Windows için geçerli. @@ -14570,27 +15311,27 @@ Kilit dosyası: Reported error is: %2 - + - + Click to send a private message to %1 (%2). - + %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + @@ -14600,103 +15341,103 @@ Reported error is: TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + @@ -14707,49 +15448,49 @@ Reported error is: Subject: - + Konu: Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error - + Hata unable to parse XML file! - + @@ -14764,12 +15505,12 @@ Security: no anonymous IDs <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14892,10 +15633,10 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -14940,31 +15681,31 @@ p, li { white-space: pre-wrap; } RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + Sayfa butonlarının nerede olmasını istersiniz? ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">⏎ <html><head><meta name="qrichtext" content="1" /><style type="text/css">⏎ @@ -14979,8 +15720,8 @@ p, li { white-space: pre-wrap; }⏎ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> @@ -15041,7 +15782,7 @@ p, li { white-space: pre-wrap; } Universal - + @@ -15059,12 +15800,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + Gerçekten bu dizinin paylasimini durdurmak istiyor musunuz? @@ -15095,12 +15836,12 @@ p, li { white-space: pre-wrap; } The loading of embedded images is blocked. - + Load images - + @@ -15108,60 +15849,60 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15179,7 +15920,7 @@ p, li { white-space: pre-wrap; } <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15269,7 +16010,7 @@ p, li { white-space: pre-wrap; } <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15282,7 +16023,7 @@ p, li { white-space: pre-wrap; } Recommend in a message to - + @@ -15303,22 +16044,22 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + @@ -15336,28 +16077,28 @@ p, li { white-space: pre-wrap; } Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15389,12 +16130,12 @@ p, li { white-space: pre-wrap; } İndir! - + File Dosya - + Size Boyut @@ -15411,14 +16152,14 @@ p, li { white-space: pre-wrap; } Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. - + Selected files : - + @@ -15428,12 +16169,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + @@ -15443,12 +16184,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + + - + @@ -15456,58 +16197,63 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Kaydedin - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + Real Size=%1 - + Real File Count=%1 - + Save Collection File. - + What do you want to do? - + @@ -15517,42 +16263,42 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Merge - + Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + File already exists. - + <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15593,17 +16339,17 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace This file contains the string "%1" and is therefore an invalid collection file. If you believe it is correct, remove the corresponding line from the file and re-open it with Retroshare. - + Save Collection File. - + What do you want to do? - + @@ -15613,7 +16359,7 @@ If you believe it is correct, remove the corresponding line from the file and re Merge - + @@ -15623,13 +16369,13 @@ If you believe it is correct, remove the corresponding line from the file and re File already exists. - + RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? Resim boyutu iletim için aşırı büyük. @@ -15641,13 +16387,13 @@ Reducing image to %1x%2 pixels? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. TÜM RetroShare ayarlarını sıfırla. @@ -15687,7 +16433,7 @@ Reducing image to %1x%2 pixels? RetroShare Kullanıcı Bilgileri. - + Unable to open log file '%1': %2 '%1':%2 Günlük dosyası açılamadı @@ -15699,27 +16445,36 @@ Reducing image to %1x%2 pixels? Could not create data directory: %1 - + - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -15771,7 +16526,7 @@ Reducing image to %1x%2 pixels? Multi-hop search at distance 6 in the network (always reports available files) - + @@ -15990,22 +16745,22 @@ Reducing image to %1x%2 pixels? Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + @@ -16034,7 +16789,7 @@ Reducing image to %1x%2 pixels? IP address: - + @@ -16049,7 +16804,7 @@ Reducing image to %1x%2 pixels? Peer Name: - + @@ -16066,33 +16821,33 @@ Reducing image to %1x%2 pixels? but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -16230,22 +16985,22 @@ Reducing image to %1x%2 pixels? Missing/Damaged certificate. Not a real Retroshare user. - + Certificate caused an internal error. - + Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16258,12 +17013,12 @@ Reducing image to %1x%2 pixels? Network Mode - + Ag Modu Nat - + @@ -16351,7 +17106,7 @@ Reducing image to %1x%2 pixels? If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. Bu seçimi kaldırırsanız, Retroshare yalnızca birine bağlandığınızda IP'nizi saptayabilir. Az arkadaşınız varsa bunu seçili bırakmak @@ -16372,90 +17127,90 @@ kullanıyorsanız da yardımcı olur. Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + Onion Address - + Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + @@ -16465,27 +17220,27 @@ Also check your ports! Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16500,18 +17255,18 @@ Also check your ports! IP Filters - + IP blacklist - + IP range - + @@ -16525,13 +17280,13 @@ Also check your ports! Origin - + Reason - + @@ -16543,158 +17298,158 @@ Also check your ports! IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + @@ -16707,78 +17462,78 @@ If you have issues connecting over Tor check the Tor logs too. Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16806,7 +17561,7 @@ If you have issues connecting over Tor check the Tor logs too. Require whitelist - + @@ -16829,12 +17584,12 @@ If you have issues connecting over Tor check the Tor logs too. hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16891,7 +17646,7 @@ If you have issues connecting over Tor check the Tor logs too. Share flags and groups: - + @@ -16915,7 +17670,7 @@ If you have issues connecting over Tor check the Tor logs too. You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -17026,7 +17781,7 @@ Select the Friends with which you want to Share your Channel. This is a list of shared folders. You can add and remove folders using the buttons at the bottom. When you add a new folder, intially all files in that folder are shared. You can separately setup share flags for each shared directory. - + @@ -17140,22 +17895,22 @@ Select the Friends with which you want to Share your Channel. Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + @@ -17163,48 +17918,48 @@ Select the Friends with which you want to Share your Channel. Friend - + Arkadaş Go Online - + Chatmessage - + New Msg - + Message - + Mesaj Message arrived - + Download - + Download complete - + Lobby - + @@ -17247,7 +18002,7 @@ Select the Friends with which you want to Share your Channel. Default - + Varsayilan @@ -17255,18 +18010,18 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile Profil Yükleniyor @@ -17339,9 +18094,9 @@ varolan profilinize adres ekleyin. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17350,7 +18105,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17359,7 +18114,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17368,7 +18123,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17427,7 +18182,7 @@ This choice can be reverted in settings. Service permissions matrix - + @@ -17442,12 +18197,12 @@ This choice can be reverted in settings. Turtle Router - + Global Router - + @@ -17554,7 +18309,7 @@ This choice can be reverted in settings. Connected: I2P - + @@ -17569,57 +18324,57 @@ This choice can be reverted in settings. TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17639,7 +18394,7 @@ This choice can be reverted in settings. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17652,7 +18407,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17816,17 +18571,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed Abonesiniz - + Unsubscribe Iptal - + Subscribe Abone Ol @@ -17885,12 +18640,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17945,11 +18700,11 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17964,32 +18719,32 @@ p, li { white-space: pre-wrap; } Max. tunnel req. forwarded per second: - + <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -18024,7 +18779,7 @@ p, li { white-space: pre-wrap; } TransfersDialog - + Downloads Indirmeler @@ -18035,7 +18790,7 @@ p, li { white-space: pre-wrap; } Gönderiliyor - + Name i.e: file name @@ -18145,7 +18900,7 @@ p, li { white-space: pre-wrap; } Download from collection file... - + @@ -18276,7 +19031,7 @@ p, li { white-space: pre-wrap; } <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + @@ -18305,39 +19060,39 @@ p, li { white-space: pre-wrap; } - + Failed Basarisiz - - + + Okay Tamam - - + + Waiting Bekliyor - + Downloading Indiriliyor - + Complete Bitmis - + Queued Sirada @@ -18357,7 +19112,7 @@ p, li { white-space: pre-wrap; } Bilinmeyen - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18446,7 +19201,7 @@ Sabırlı olun! Lütfen yeni -ve geçerli- bir dosya adı girin - + Last Time Seen i.e: Last Time Receiced Data Son Görülme @@ -18575,32 +19330,32 @@ Sabırlı olun! Show Path Column - + - + Could not delete preview file - + Try it again? - + - + Create Collection... - + Modify Collection... - + View Collection... - + @@ -18608,24 +19363,24 @@ Sabırlı olun! Koleksiyon - + File sharing Dosya paylaşımı - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: - + @@ -18782,12 +19537,12 @@ Sabırlı olun! Anonymous tunnels - + Authenticated tunnels - + @@ -18797,7 +19552,7 @@ Sabırlı olun! Turtle Router - + @@ -18845,7 +19600,7 @@ Sabırlı olun! Forwarded data - + @@ -18974,57 +19729,57 @@ Sabırlı olun! Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -19252,7 +20007,7 @@ Sabırlı olun! Show Wiki Group - + @@ -19275,12 +20030,12 @@ Sabırlı olun! Choose for Merge - + Merge for Republish (TODO) - + @@ -19423,7 +20178,7 @@ Sabırlı olun! Update Group - + @@ -19536,7 +20291,7 @@ Sabırlı olun! Post Pulse to Wire - + @@ -19653,4 +20408,4 @@ Sabırlı olun! Resimler (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_zh_CN.ts b/retroshare-gui/src/lang/retroshare_zh_CN.ts index e95dda66a..e39b9e55f 100644 --- a/retroshare-gui/src/lang/retroshare_zh_CN.ts +++ b/retroshare-gui/src/lang/retroshare_zh_CN.ts @@ -1,4 +1,6 @@ - + + + AWidget @@ -9,7 +11,7 @@ RetroShare version - + @@ -28,7 +30,7 @@ Copy Info - + @@ -88,7 +90,7 @@ - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file 抱歉,无法确定此文件的系统默认命令 @@ -305,7 +307,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -427,7 +429,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -475,7 +477,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -488,7 +490,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -537,134 +539,134 @@ p, li { white-space: pre-wrap; } Tool Bar - + On Tool Bar - + On List Item - + Where do you want to have the buttons for menu? - + On List Ite&m - + Where do you want to have the buttons for the page? - + Icon Only - + Text Only - + Text Beside Icon - + Text Under Icon - + Choose the style of Tool Buttons. - + Choose the style of List Items. - + Icon Size = 8x8 - + Icon Size = 16x16 - + Icon Size = 24x24 - + Icon Size = 64x64 - + Icon Size = 128x128 - + Status Bar - + Remove surplus text in status bar. - + Compact Mode - + Hide Sound Status - + Hide Toaster Disable - + Show SysTray on Status Bar - + Disable SysTray ToolTip - + Icon Size = 32x32 - + @@ -705,12 +707,12 @@ p, li { white-space: pre-wrap; } The Wire - + Photos - + @@ -736,17 +738,17 @@ p, li { white-space: pre-wrap; } Change Avatar - + Your Avatar Picture - + Add Avatar - + @@ -756,12 +758,12 @@ p, li { white-space: pre-wrap; } Set your Avatar picture - + Load Avatar - + @@ -775,9 +777,9 @@ p, li { white-space: pre-wrap; } BWGraphSource - + KB/s - + @@ -868,23 +870,23 @@ p, li { white-space: pre-wrap; } Sum - + All - + 全部 KB/s - + Count - + 数量 @@ -952,12 +954,12 @@ p, li { white-space: pre-wrap; } TOTALS - + Totals - + @@ -970,42 +972,42 @@ p, li { white-space: pre-wrap; } Form - + Friend: - + Type: - + 类型: Up - + Down - + Service: - + Unit: - + Log scale - + @@ -1018,7 +1020,7 @@ p, li { white-space: pre-wrap; } Tabs - + @@ -1028,12 +1030,12 @@ p, li { white-space: pre-wrap; } Load posts in background (Thread) - + Open each channel in a new tab - + @@ -1053,23 +1055,28 @@ p, li { white-space: pre-wrap; } Mute participant 忽略参加者 + + + Ban this person (Sets negative opinion) + + Send Message - + 发送消息 Sort by Name - + 按名称排序 Sort by Activity - + - + Invite friends to this lobby 邀请好友加入此聊天室 @@ -1089,7 +1096,7 @@ p, li { white-space: pre-wrap; } 选择要邀请的好友 - + Welcome to lobby %1 欢迎进入聊天室 %1 @@ -1105,7 +1112,7 @@ p, li { white-space: pre-wrap; } 聊天室聊天 - + Lobby management @@ -1152,44 +1159,44 @@ p, li { white-space: pre-wrap; } - + Start private chat - + - + Decryption failed. - + Signature mismatch - + Unknown key - + Unknown hash - + Unknown error. - + Cannot start distant chat - + Distant chat cannot be initiated: - + @@ -1230,7 +1237,7 @@ p, li { white-space: pre-wrap; } Unknown Lobby - + @@ -1242,12 +1249,12 @@ p, li { white-space: pre-wrap; } ChatLobbyWidget - + Chat lobbies 聊天室 - + Name 名称 @@ -1285,7 +1292,7 @@ p, li { white-space: pre-wrap; } [主题未设置] - + Selected lobby info 所选聊天室信息 @@ -1302,7 +1309,7 @@ p, li { white-space: pre-wrap; } Anonymous IDs accepted - + @@ -1325,7 +1332,7 @@ p, li { white-space: pre-wrap; } %1 邀请您进入聊天室 %2 - + Search Chat lobbies 搜索聊天室 @@ -1342,12 +1349,12 @@ p, li { white-space: pre-wrap; } <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + @@ -1365,7 +1372,7 @@ p, li { white-space: pre-wrap; } - + Lobby Name: 聊天室名称: @@ -1387,7 +1394,7 @@ p, li { white-space: pre-wrap; } Security: - + @@ -1431,66 +1438,66 @@ Double click lobbies to enter and chat. Leave this lobby - + Enter this lobby - + Enter this lobby as... - + Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + You will need to create an identity in order to join chat lobbies. - + Choose an identity for this lobby: - + Create an identity and enter this lobby - + Show - + 显示 column - + @@ -1532,7 +1539,7 @@ Double click lobbies to enter and chat. 取消 - + Quick Message 快速消息 @@ -1541,34 +1548,34 @@ Double click lobbies to enter and chat. ChatPage - + General 常规 - + Distant Chat - + Everyone - + Contacts - + 联系人 Nobody - + Accept encrypted distant chat from - + @@ -1598,7 +1605,7 @@ Double click lobbies to enter and chat. Minimum font size - + @@ -1620,6 +1627,11 @@ Double click lobbies to enter and chat. Send message with Ctrl+Return Ctrl+Enter 发出消息 + + + Send as plain text by default + + Chat Lobby @@ -1725,7 +1737,7 @@ Double click lobbies to enter and chat. 发出 - + Incoming message in history 接收消息记录 @@ -1762,12 +1774,12 @@ Double click lobbies to enter and chat. UserName - + /me is sending a message with /me - + @@ -1777,7 +1789,7 @@ Double click lobbies to enter and chat. <html><head/><body><p align="justify">In this tab you can setup how many chat messages Retroshare will keep saved on the disc and how much of the previous conversation it will display, for the different chat systems. The max storage period allows to discard old messages and prevents the chat history from filling up with volatile chat (e.g. chat lobbies and distant chat).</p></body></html> - + @@ -1807,7 +1819,7 @@ Double click lobbies to enter and chat. Search by default - + @@ -1817,73 +1829,73 @@ Double click lobbies to enter and chat. Whole Words - + Move to cursor - + Color All Text Found - + Color of found text - + Choose color of found text - + Maximum count for coloring matching text - + Threshold for automatic search - + Default identity for chat lobbies: - + Show Bar by default - + - + Private chat invite from - + Name : - + PGP id : - + Valid until : - + ChatStyle - + Standard style for group chat 群聊标准样式 @@ -1937,12 +1949,12 @@ Double click lobbies to enter and chat. 关闭 - + Send 发送 - + Bold 粗体 @@ -1957,12 +1969,12 @@ Double click lobbies to enter and chat. 斜体 - + Attach a Picture 附加图片 - + Strike 删除线 @@ -2013,42 +2025,70 @@ Double click lobbies to enter and chat. 重置为默认字体 - + Quote - + 引用 Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... 正在输入... - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? 您确认要删除聊天记录? - + Add Extra File 添加额外文件 @@ -2093,61 +2133,61 @@ Double click lobbies to enter and chat. 处于忙碌状态可能无法回复您的消息。 - + Find Case Sensitively - + Find Whole Words - + Move To Cursor - + Don't stop to color after X items found (need more CPU) - + - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> - + <b>Find Next </b><br/><i>Ctrl+G</i> - + <b>Find </b><br/><i>Ctrl+F</i> - + - + (Status) - + - + Set text font & color - + Attach a File - + - + WARNING: Could take a long time on big history. - + @@ -2156,59 +2196,39 @@ Double click lobbies to enter and chat. - + <b>Mark this selected text</b><br><i>Ctrl+M</i> - + - - %1This message consists of %2 characters. - - - - + items found. - + No items found. - + <b>Return to marked text</b><br><i>Ctrl+M</i> - + - - Display Search Box - - - - - Search Box - - - - + Type a message here - + - + Don't stop to color after - + items found (need more CPU) - - - - - Warning: - + @@ -2221,13 +2241,13 @@ Double click lobbies to enter and chat. Empty Circle - + CirclesDialog - + Showing details: 显示详情: @@ -2249,7 +2269,7 @@ Double click lobbies to enter and chat. - + Personal Circles 私人圈 @@ -2275,7 +2295,7 @@ Double click lobbies to enter and chat. - + Friends 好友 @@ -2335,7 +2355,7 @@ Double click lobbies to enter and chat. 好友的好友 - + External Circles (Admin) 公共圈子(管理) @@ -2359,14 +2379,14 @@ Double click lobbies to enter and chat. ConfCertDialog - + Details 详情 Node info - + @@ -2375,7 +2395,7 @@ Double click lobbies to enter and chat. - + Local Address 本地地址 @@ -2402,36 +2422,39 @@ Double click lobbies to enter and chat. 地址列表 - + + Use this certificate to make friends: + + + + Include signatures 包含签名 - - + + RetroShare RetroShare - - + + Error : cannot get peer details. 错误:无法获取节点详情。 - Use as direct source, when available - 如果可用,直接连接该节点的资源。 + 如果可用,直接连接该节点的资源。 - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - <html><head/><body><p align="justify">RS 周期性地扫描好友的资源,寻找与下载中文件相同的文件,以便从好友处直接下载。此时好友可能在上传中发现您在下载此文件。</p><p align="justify">如果要避免这种情况,您可以取消下面的复选框,阻止RS自动下载。不过您仍可以手动从好友的共享列表中直接下载文件。</p></body></html> + <html><head/><body><p align="justify">RS 周期性地扫描好友的资源,寻找与下载中文件相同的文件,以便从好友处直接下载。此时好友可能在上传中发现您在下载此文件。</p><p align="justify">如果要避免这种情况,您可以取消下面的复选框,阻止RS自动下载。不过您仍可以手动从好友的共享列表中直接下载文件。</p></body></html> - + Encryption 加密 @@ -2446,69 +2469,58 @@ Double click lobbies to enter and chat. 节点地址 - Options - 选项 + 选项 - + Retroshare node details - + - + Node name : - + Status : - + Last Contact : - + Retroshare version : - + Node ID : - + PGP key : - + Retroshare Certificate - + - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + @@ -2519,57 +2531,47 @@ Double click lobbies to enter and chat. <p>This certificate contains: - + <li>a <b>node ID</b> and <b>name</b> - + an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + <p>You can use this certificate to make new friends. Send it by email, or give it hand to hand.</p> - + - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + with - + external signatures</li> - + @@ -2628,12 +2630,12 @@ Double click lobbies to enter and chat. Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + @@ -2718,42 +2720,42 @@ Double click lobbies to enter and chat. RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + GMail - + Yahoo - + Outlook - + AOL - + Yandex - + Email - + Email @@ -2815,13 +2817,13 @@ Double click lobbies to enter and chat. Node: - + Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + @@ -2838,33 +2840,33 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + @@ -3159,12 +3161,12 @@ resources. IP-Addr: - + IP-Address - + @@ -3179,7 +3181,7 @@ resources. The text below is your Retroshare certificate. You have to provide it to your friend - + @@ -3222,69 +3224,69 @@ resources. This might be useful for sending distant messages to this peer even if you don't make friends. - + Certificate has wrong version number. Remember that v0.6 and v0.5 networks are incompatible. - + Invalid node id. - + Auto-download recommended files - + Can be used as direct source - + Require whitelist clearance to connect - + Add IP to whitelist - + No IP in this certificate! - + <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + Added with certificate from %1 - + Paste Cert of your friend from Clipboard - + Certificate Load Failed:can't read from file %1 - + Certificate Load Failed:something is wrong with %1 - + @@ -3723,13 +3725,13 @@ even if you don't make friends. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> - + @@ -3772,74 +3774,86 @@ p, li { white-space: pre-wrap; } They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details 圈子详情 - - + Name 名称 - Creator - 创建者 + 创建者 - Distribution - 传播范围 + 传播范围 - + Public 公开 - Self-Restricted - 内部圈子 + 内部圈子 - Restricted to: - 仅限于: + 仅限于: - Circle Membership - 圈子成员 + 圈子成员 - + IDs ID - Known Identities - 已知身份 + 已知身份 - + Filter 过滤 - + Nickname 昵称 - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID ID @@ -3849,71 +3863,120 @@ p, li { white-space: pre-wrap; } 类型 - - - - + + Name: + 名称: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + 私人 + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare Retroshare - + Please set a name for your Circle 请为您的圈子命名 - Personal Circle Details - 私人圈子详情 + 私人圈子详情 - External Circle Details - 公共圈子详情 + 公共圈子详情 - Cannot Edit Existing Circles Yet - 无法编辑现有圈子 + 无法编辑现有圈子 - + No Restriction Circle Selected 未选择受限圈子 - + No Circle Limitations Selected 未选择圈子限制 - Create New Personal Circle - 新建私人圈子 + 新建私人圈子 - Create New External Circle - 新建公共圈子 + 新建公共圈子 - + Add 添加 Remove - + - + Search 搜索 - + All 全部 @@ -3925,52 +3988,101 @@ p, li { white-space: pre-wrap; } Signed by known nodes - + - + Edit Circle 编辑圈子 - - + PGP Identity - + - - - + + + Anon Id 匿名 ID + + + Circle name + + + + + Update + + + Close + 关闭 + + + + + Create New Circle + + + + + Create + 创建 + + + PGP Linked Id PGP 关联 ID + + + Add Member + + + + + Remove Member + + CreateGroup - + Create a Group 创建分组 - - Group Name - 组名称 + + Group Name: + 组名称: - + + Group ID: + + + + Group Name + 组名称 + + + Enter a name for your group 为您的分组输入一个名称。 - + + To be defined + + + + Friends 好友 @@ -4004,9 +4116,9 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -4118,7 +4230,7 @@ p, li { white-space: pre-wrap; } Do you really want to generate %1 messages ? - + @@ -4135,7 +4247,7 @@ p, li { white-space: pre-wrap; } CreateGxsForumMsg - + Post Forum Message 论坛发帖 @@ -4180,12 +4292,12 @@ p, li { white-space: pre-wrap; } 新建主题帖 - + No Forum 无论坛 - + In Reply to 回复 @@ -4211,42 +4323,52 @@ p, li { white-space: pre-wrap; } Add Extra File 添加额外文件 + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + + - + Generate mass data 生成大量数据 Do you really want to generate %1 messages ? - + - + Send 发送 - + Forum Message - + Forum Message has not been Sent. Do you want to reject this message? - + Post as - + Congrats, you found a bug! - + @@ -4275,7 +4397,7 @@ Do you want to reject this message? Visibility: - + @@ -4290,17 +4412,17 @@ Do you want to reject this message? <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + Security: - + @@ -4315,12 +4437,12 @@ Do you want to reject this message? Put a sensible lobby name here - + Set a descriptive topic here - + @@ -4330,7 +4452,7 @@ Do you want to reject this message? Identity to use: - + @@ -4433,42 +4555,42 @@ Do you want to reject this message? Node information - + PGP Id : - + Friend nodes: - + Copy certificate to clipboard - + Save certificate to file - + Node - + Create new node... - + show statistics window - + @@ -4476,7 +4598,7 @@ Do you want to reject this message? users - + @@ -4489,7 +4611,7 @@ Do you want to reject this message? <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + @@ -4515,7 +4637,7 @@ Do you want to reject this message? No peer found in DHT - + @@ -4760,17 +4882,17 @@ Do you want to reject this message? IP - + IP Search IP - + Copy %1 to clipboard - + @@ -4810,17 +4932,17 @@ Do you want to reject this message? DETERMINISTIC SYM NAT - + RESTRICTED CONE NAT - + FULL CONE NAT - + @@ -4900,12 +5022,12 @@ Do you want to reject this message? CAUTION: UNVERIFIABLE FORWARD! - + CAUTION: UNVERIFIABLE FORWARD & NO DHT - + @@ -4980,7 +5102,7 @@ Do you want to reject this message? RELAY END - + @@ -4997,12 +5119,12 @@ Do you want to reject this message? unlimited - + Own Relay - + @@ -5026,7 +5148,7 @@ Do you want to reject this message? Relays - + @@ -5049,108 +5171,108 @@ Do you want to reject this message? Net Status: - + Network Mode: - + Nat Type: - + Nat Hole: - + Connect Mode: - + Peer Address: - + Unreach: - + Online: - + Offline: - + DHT Peers: - + Disconnected: - + Direct: - + Proxy: - + Relay: - + Filter: - + Search Network - + 搜索网络 Peers - + 节点 Relay - + 中继 DHT Graph - + Proxy VIA - + Relay VIA - + @@ -5189,7 +5311,7 @@ Do you want to reject this message? Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. 即使不再共享仍然保存文件的散列校验值。 @@ -5373,7 +5495,7 @@ you plug it in. You this - + @@ -5538,22 +5660,22 @@ you plug it in. Patch - + C++ - + Header - + C - + @@ -5624,12 +5746,12 @@ you plug it in. Tabs - + Open each forum in a new tab - + @@ -5647,28 +5769,28 @@ you plug it in. export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + Show State - + @@ -5677,7 +5799,7 @@ you plug it in. 显示分组 - + Group 分组 @@ -5718,17 +5840,17 @@ you plug it in. 添加至分组 - + Search - + 搜索 Sort by state - + - + Move to group 移动至分组 @@ -5763,90 +5885,90 @@ you plug it in. 可用 - + Do you want to remove this Friend? 您是否要删除此好友? - + Done! - + Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + Error - + 错误 Failed to get a file! - + File is not writeable! - + File is not readable! - + @@ -5854,7 +5976,7 @@ at least one peer was not added to a group IP - + Attempt to connect 尝试连接 @@ -5876,27 +5998,27 @@ at least one peer was not added to a group Node - + Remove Friend Node - + - + Do you want to remove this node? - + Friend nodes - + - + Send message to whole group - + @@ -5907,13 +6029,13 @@ at least one peer was not added to a group Deny - + Send message - + @@ -5944,7 +6066,7 @@ at least one peer was not added to a group Sort by state - + @@ -5957,14 +6079,14 @@ at least one peer was not added to a group 搜索好友 - + Mark all - + 标记全部 Mark none - + @@ -6066,7 +6188,7 @@ at least one peer was not added to a group <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + @@ -6082,12 +6204,12 @@ at least one peer was not added to a group Network graph - + Set your status message here. - + @@ -6151,9 +6273,14 @@ PGP要求填写此信息,但为了保持匿名,您可以填写假地址。密码(检查) - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> - + @@ -6174,227 +6301,222 @@ PGP要求填写此信息,但为了保持匿名,您可以填写假地址。 This password is for PGP - + Node - + Create new node - + Generate new node - + Create a new node - + You can use it now to create a new node. - + Invalid hidden node - + Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile - + Import new profile - + Export selected profile - + Advanced options - + Create a hidden node - + Use profile - + hidden address - + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + Create new profile - + Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + Export profile - + RetroShare profile files (*.asc) - + Profile saved - + @@ -6403,77 +6525,77 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + Import profile - + Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6525,8 +6647,12 @@ Fill in your PGP password when asked, to sign your new key. + Register retroshare:// as URL protocol + + + Register retroshare:// as URL protocol (Restart required) - 注册 retroshare:// 超链接协议(需要重启) + 注册 retroshare:// 超链接协议(需要重启) @@ -6534,7 +6660,27 @@ Fill in your PGP password when asked, to sign your new key. 您需要系统管理员权限才能更改此设置。 - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle 空闲 @@ -6554,7 +6700,17 @@ Fill in your PGP password when asked, to sign your new key. 初次使用向导 - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error 错误 @@ -6575,7 +6731,7 @@ Fill in your PGP password when asked, to sign your new key. 常规 - + Minimize to Tray Icon 最小化到托盘 @@ -6599,7 +6755,7 @@ Fill in your PGP password when asked, to sign your new key. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> @@ -6632,18 +6788,18 @@ p, li { white-space:pre-wrap;} <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6655,31 +6811,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6692,7 +6848,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + @@ -6792,7 +6948,7 @@ p, li { white-space: pre-wrap; } It has many features, including built-in chat, messaging, - + @@ -6805,62 +6961,62 @@ p, li { white-space: pre-wrap; } GroupBox - + ID - + ID Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + 详情 @@ -6870,12 +7026,12 @@ p, li { white-space: pre-wrap; } Pending packets - + Unknown - + 未知 @@ -6883,22 +7039,22 @@ p, li { white-space: pre-wrap; } Managed keys - + Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6909,6 +7065,14 @@ p, li { white-space: pre-wrap; } 显示群组聊天 + + GroupChooser + + + [Unknown] + + + GroupDefs @@ -6993,27 +7157,27 @@ p, li { white-space: pre-wrap; } All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -7026,7 +7190,7 @@ p, li { white-space: pre-wrap; } Hide tabbar with one open tab - + @@ -7034,7 +7198,7 @@ p, li { white-space: pre-wrap; } Share - + @@ -7042,39 +7206,39 @@ p, li { white-space: pre-wrap; } 联系人: - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer 请确认至少有一个节点。 - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7117,7 +7281,17 @@ p, li { white-space: pre-wrap; } Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + @@ -7125,14 +7299,9 @@ p, li { white-space: pre-wrap; } 显示 - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7259,7 +7428,7 @@ p, li { white-space: pre-wrap; } <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + @@ -7279,7 +7448,7 @@ p, li { white-space: pre-wrap; } Select channel download directory - + @@ -7289,18 +7458,18 @@ p, li { white-space: pre-wrap; } Set download directory - + [Default directory] - + Specify... - + 指定... @@ -7323,7 +7492,7 @@ p, li { white-space: pre-wrap; } Open folder - + @@ -7343,17 +7512,17 @@ p, li { white-space: pre-wrap; } Checking - + Are you sure that you want to cancel and delete the file? - + Can't open folder - + @@ -7381,7 +7550,7 @@ p, li { white-space: pre-wrap; } Published - + @@ -7419,7 +7588,7 @@ p, li { white-space: pre-wrap; } Update Channel - + @@ -7475,6 +7644,16 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status 切换消息阅读状态 @@ -7485,7 +7664,7 @@ p, li { white-space: pre-wrap; } - + Play 播放 @@ -7522,12 +7701,12 @@ p, li { white-space: pre-wrap; } 删除项目 - + Channel Feed 频道订阅 - + Files 文件 @@ -7549,7 +7728,7 @@ p, li { white-space: pre-wrap; } 0 - + 0 @@ -7567,12 +7746,12 @@ p, li { white-space: pre-wrap; } - + Loading 正在载入 - + Open 打开 @@ -7590,7 +7769,7 @@ p, li { white-space: pre-wrap; } GxsChannelPostsWidget - + Post to Channel 发布至频道 @@ -7602,10 +7781,10 @@ p, li { white-space: pre-wrap; } Search channels - + - + Title 标题 @@ -7622,7 +7801,7 @@ p, li { white-space: pre-wrap; } Search Message - + @@ -7632,7 +7811,7 @@ p, li { white-space: pre-wrap; } Search Filename - + @@ -7640,7 +7819,32 @@ p, li { white-space: pre-wrap; } 未选择频道! - + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download 禁用自动下载 @@ -7652,15 +7856,31 @@ p, li { white-space: pre-wrap; } Show feeds - + Show files - + - + + Administrator: + + + + + + unknown + 未知 + + + + Distribution: + + + + Feeds 订阅 @@ -7670,19 +7890,19 @@ p, li { white-space: pre-wrap; } 文件 - + Subscribers - + - + Description: 描述: - + Posts (at neighbor nodes): - + @@ -7804,7 +8024,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -7849,17 +8069,17 @@ before you can comment Update Forum - + Add Forum Admins - + Select Forum Admins - + @@ -7938,7 +8158,7 @@ before you can comment In Reply to: - + @@ -7948,7 +8168,7 @@ before you can comment Forum Feed - + @@ -7964,7 +8184,7 @@ before you can comment 表格 - + Start new Thread for Selected Forum 新建主题帖 @@ -7990,7 +8210,7 @@ before you can comment - + Title 标题 @@ -8003,18 +8223,18 @@ before you can comment - + Author 作者 Save image - + - + Loading 正在载入 @@ -8081,12 +8301,12 @@ before you can comment Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + @@ -8139,33 +8359,73 @@ before you can comment This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + 传播范围 + + + Anti-spam - + [ ... Redacted message ... ] - + @@ -8190,22 +8450,22 @@ before you can comment <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8261,39 +8521,39 @@ before you can comment %1, %2 写道: - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description 描述 By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8309,7 +8569,7 @@ before you can comment <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + @@ -8364,13 +8624,13 @@ before you can comment GxsGroupDialog - - + + Name 名称 - + Add Icon 添加图标 @@ -8385,7 +8645,7 @@ before you can comment 分享发帖密钥 - + check peers you would like to share private publish key with 选择您希望与之共享个人发帖密钥的节点 @@ -8395,36 +8655,40 @@ before you can comment 密钥共享给 - - + + Description 描述 - + Message Distribution 传播范围 - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public 公开 - - Restricted to Group - 仅限于小组 + 仅限于小组 - - + Only For Your Friends 仅限于好友 - + Publish Signatures 发布签名 @@ -8470,12 +8734,11 @@ before you can comment - Comments 评论 - + Allow Comments 允许评论 @@ -8487,133 +8750,203 @@ before you can comment Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + 评论: - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: 联系人: - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name 请添加名称 - + + PGP signature from known ID required + + + + Load Group Logo 加载小组Logo - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback - + Owner: - + - + Set a descriptive description here - + - + Info 信息 - - Comments allowed - - - - - Comments not allowed - - - - + ID ID - + Last Post 最新贴文 + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + + + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + + + + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + Popularity 活跃度 - - - Posts - - - Type - 类型 + Posts + - + Type + 类型 + + + Author 作者 GxsIdLabel - + @@ -8656,15 +8989,20 @@ before you can comment Show Details - + Edit Details - + - + + Share publish permissions + + + + Copy RetroShare Link 复制 RetroShare 链接 @@ -8679,25 +9017,20 @@ before you can comment 全部标为未读 - + AUTHD 仅签名文章 - - - Share admin permissions - - GxsIdChooser - + No Signature 无签名 - + Create new Identity 新建身份 @@ -8705,7 +9038,7 @@ before you can comment GxsIdDetails - + Loading 正在载入 @@ -8724,43 +9057,43 @@ before you can comment [Banned] - + Authentication - + unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8781,42 +9114,42 @@ before you can comment Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + 未知节点 @@ -9003,7 +9336,7 @@ before you can comment Error Loading Help Contents: - + @@ -9051,7 +9384,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9062,14 +9395,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Swedish: </span><span style=" font-size:8pt;"> Daniel Wester</span><span style=" font-size:8pt; font-weight:600;"> &lt;</span><span style=" font-size:8pt;">wester@speedmail.se</span><span style=" font-size:8pt; font-weight:600;">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">German: </span><span style=" font-size:8pt;">Jan</span><span style=" font-size:8pt; font-weight:600;"> </span><span style=" font-size:8pt;">Keller</span> &lt;<span style=" font-size:8pt;">trilarion@users.sourceforge.net</span>&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polish: </span>Maciej Mrug</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9079,16 +9412,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + Libraries - + @@ -9121,26 +9454,26 @@ p, li { white-space: pre-wrap; } Error opening help file: - + IdDetailsDialog - + Person Details - + Identity Info - + Owner node ID : - + @@ -9150,28 +9483,28 @@ p, li { white-space: pre-wrap; } Owner node name : - + Identity name : - + Identity ID : - + Last used: - + Your Avatar Click here to change your avatar - + @@ -9181,30 +9514,30 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9214,34 +9547,34 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + @@ -9256,69 +9589,70 @@ p, li { white-space: pre-wrap; } Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + 确定 Banned - + IdDialog - + + New ID 新 ID - - + + All 全部 @@ -9334,97 +9668,133 @@ p, li { white-space: pre-wrap; } 搜索 - Unknown real name - 未知真实名称*** + 未知真实名称*** - + Anonymous Id 匿名 ID - + Create new Identity 新建身份 - - Persons - + + Create new circle + - + + Persons + + + + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + 圈子 + + + + Circle name + + + + + Membership + 会员 + + + + Public Circles + 公开圈 + + + + Personal Circles + 私人圈 + + + Edit identity - + 编辑身份 Delete identity - + Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID - + - + Send message - + - + Identity info - + Identity ID : - + Owner node name : - + @@ -9434,277 +9804,480 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous 匿名 - + ID - + ID Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + 状态: + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + 未知 + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + 编辑圈子 + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + OK - + 确定 Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People - + Your Avatar Click here to change your avatar - + - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9816,7 +10389,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9827,32 +10400,32 @@ p, li { white-space: pre-wrap; } Your Avatar Click here to change your avatar - + Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9870,7 +10443,7 @@ p, li { white-space: pre-wrap; } GXSId - + @@ -9880,27 +10453,27 @@ p, li { white-space: pre-wrap; } - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9913,7 +10486,7 @@ p, li { white-space: pre-wrap; } - + Copy 复制 @@ -9949,17 +10522,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -10014,7 +10587,7 @@ p, li { white-space: pre-wrap; } MainWindow - + Add Friend 添加好友 @@ -10030,7 +10603,7 @@ p, li { white-space: pre-wrap; } - + Options 选项 @@ -10064,12 +10637,12 @@ p, li { white-space: pre-wrap; } 快速入门向导 - + RetroShare %1 a secure decentralized communication platform RetroShare %1 ― 一个分布式安全通信平台 - + Unfinished 未完成 @@ -10109,7 +10682,7 @@ RetroShare 将暂停对此目录的访问。 Open Messenger - + @@ -10187,7 +10760,7 @@ RetroShare 将暂停对此目录的访问。 您确定要退出 RetroShare 吗? - + Internal Error 内部错误 @@ -10232,41 +10805,41 @@ RetroShare 将暂停对此目录的访问。 服务权限列表 - + Add 添加 Statistics - + Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose 写信 @@ -10368,29 +10941,29 @@ RetroShare 将暂停对此目录的访问。 - + Tags 标签 Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + @@ -10490,17 +11063,17 @@ RetroShare 将暂停对此目录的访问。 All addresses (mixed) - + All people - + My contacts - + @@ -10528,7 +11101,7 @@ RetroShare 将暂停对此目录的访问。 你好 %1,<br><br>%2 希望加你为 RetroShare 好友。<br><br>立即回应:<br>%3<br><br>谢谢,<br> RetroShare 软件小组 - + Save Message 保存邮件 @@ -10750,7 +11323,7 @@ Do you want to save message to draft box? Details - + 详情 @@ -10811,74 +11384,74 @@ Do you want to save message ? 发件人: - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10886,22 +11459,22 @@ Do you want to save message ? Everyone - + Contacts - + 联系人 Nobody - + Accept encrypted distant messages from - + @@ -10971,7 +11544,7 @@ Do you want to save message ? Distant messages: - + @@ -11111,12 +11684,12 @@ Do you want to save message ? Hide the attachment pane - + Show the attachment pane - + @@ -11540,7 +12113,7 @@ Do you want to save message ? <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + @@ -11637,7 +12210,7 @@ Do you want to save message ? This message goes to a distant person. - + @@ -11662,17 +12235,17 @@ Do you want to save message ? This message was signed and the signature checks - + This message was signed but the signature doesn't check - + This message comes from a distant person. - + @@ -11683,7 +12256,7 @@ Do you want to save message ? RetroShare 信使 - + Add a Friend 添加好友 @@ -11698,17 +12271,17 @@ Do you want to save message ? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + @@ -11966,7 +12539,7 @@ Do you want to save message ? - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. @@ -12083,74 +12656,74 @@ Right-click and select 'make friend' to be able to connect. Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12181,7 +12754,7 @@ Reported error: Freeze - + @@ -12242,17 +12815,17 @@ Reported error: Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12329,7 +12902,7 @@ Reported error: Ip security - + @@ -12399,7 +12972,7 @@ Reported error: <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + @@ -12429,7 +13002,7 @@ Reported error: Disable All Toasters - + @@ -12439,7 +13012,7 @@ Reported error: Disable All Toaster temporarily - + @@ -12449,7 +13022,7 @@ Reported error: Systray - + @@ -12459,23 +13032,23 @@ Reported error: Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase PGP 密钥的密码 @@ -12495,12 +13068,12 @@ Reported error: RetroShare 检测到未注册插件。这可能有两种情况:<UL><LI>您的 RetroShare 可执行文件发生变更。</LI><LI>插件发生变更</LI></UL>点击“是”确认使用此插件,“否”拒绝使用。您可以稍候在 选项>插件修改您的决定,并重启。 - + Please check your system clock. 请检查您的系统时钟。 - + Examining shared files... 正在检查共享文件... @@ -12536,14 +13109,14 @@ Reported error: 加密消息 - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12578,7 +13151,7 @@ Reported error: - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers @@ -12593,42 +13166,42 @@ Reported error: Dialog - + PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + @@ -12638,7 +13211,7 @@ Reported error: No trust - + @@ -12658,31 +13231,31 @@ Reported error: Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + @@ -12692,73 +13265,134 @@ p, li { white-space: pre-wrap; } <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures 包含签名 + + + Options + 选项 + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + + PGP Key details - + - - + + RetroShare RetroShare - - - + + + Error : cannot get peer details. 错误:无法获取节点详情。 - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) RetroShare 不支持此密钥算法 (目前仅支持 RSA 密钥) - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + @@ -12776,28 +13410,28 @@ p, li { white-space: pre-wrap; } 您对此节点无信任。 - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure 签名失败 @@ -12807,19 +13441,19 @@ p, li { white-space: pre-wrap; } 密码可能不对 - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12968,26 +13602,80 @@ p, li { white-space: pre-wrap; } PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -13078,7 +13766,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13091,7 +13779,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13104,7 +13792,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13251,7 +13939,7 @@ requesting to edit it! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -13320,37 +14008,37 @@ p, li { white-space:pre-wrap;} base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13373,7 +14061,7 @@ p, li { white-space:pre-wrap;} Widget for plugin %1 not found on plugins frame - + @@ -13391,12 +14079,12 @@ p, li { white-space:pre-wrap;} Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + @@ -13410,7 +14098,7 @@ p, li { white-space:pre-wrap;} [loading problem] - + @@ -13456,7 +14144,7 @@ malicious behavior of crafted plugins. <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + @@ -13533,7 +14221,7 @@ malicious behavior of crafted plugins. Chat remotely closed. Please close this window. - + @@ -13553,12 +14241,12 @@ malicious behavior of crafted plugins. Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13591,7 +14279,7 @@ malicious behavior of crafted plugins. You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + @@ -13601,12 +14289,12 @@ malicious behavior of crafted plugins. Submit a new Post - + Please add a Title - + @@ -13616,7 +14304,7 @@ malicious behavior of crafted plugins. Link - + @@ -13634,12 +14322,12 @@ malicious behavior of crafted plugins. <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + @@ -13692,7 +14380,7 @@ malicious behavior of crafted plugins. Update Topic - + @@ -13705,7 +14393,7 @@ malicious behavior of crafted plugins. Subscribe to Posted - + @@ -13721,7 +14409,7 @@ malicious behavior of crafted plugins. Posted Description - + @@ -13731,7 +14419,7 @@ malicious behavior of crafted plugins. New Posted - + @@ -13742,9 +14430,9 @@ malicious behavior of crafted plugins. PostedItem - + 0 - + 0 @@ -13753,7 +14441,7 @@ malicious behavior of crafted plugins. - + Comments 注释 @@ -13765,12 +14453,12 @@ malicious behavior of crafted plugins. Vote up - + Vote down - + @@ -13788,7 +14476,17 @@ malicious behavior of crafted plugins. - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status 切换消息阅读状态 @@ -13798,7 +14496,7 @@ malicious behavior of crafted plugins. 删除条目 - + Loading 正在载入 @@ -13858,7 +14556,7 @@ malicious behavior of crafted plugins. Submit a new Post - + @@ -13883,7 +14581,7 @@ malicious behavior of crafted plugins. 1-10 - + 1-10 @@ -13891,7 +14589,7 @@ malicious behavior of crafted plugins. Tabs - + @@ -13901,7 +14599,7 @@ malicious behavior of crafted plugins. Open each topic in a new tab - + @@ -13971,7 +14669,7 @@ malicious behavior of crafted plugins. GID - + @@ -14053,28 +14751,28 @@ and use the import button to load it <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + You can use it now to create a new node. - + @@ -14236,7 +14934,7 @@ p, li { white-space: pre-wrap; } Post Pulse to Wire - + @@ -14262,9 +14960,9 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation 确认 @@ -14274,14 +14972,14 @@ p, li { white-space: pre-wrap; } 您要系统来处理此链接的打开吗? - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. 点击添加此RS证书至您的PGP密钥环中,同时打开建立好友向导。 - + Add file 添加文件 @@ -14301,12 +14999,17 @@ and open the Make Friend Wizard. 您确实要打开 %1 个链接? - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. 已处理 %1 共 %2 个 RetroShare 链接。 @@ -14415,15 +15118,30 @@ and open the Make Friend Wizard. Channel messages not found 频道消息未找到 + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + + Recipient not accepted - + Recipients not accepted - + @@ -14458,7 +15176,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace 结果 - + Unable to make path 无法创建路径 @@ -14473,7 +15191,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace 资源集合文件处理失败 - + Deny friend 拒绝好友 @@ -14493,7 +15211,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace 文件请求已取消 - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. 此版本的 RetroShare 正在使用 OpenPGP-SDK。因此没有使用系统中的共享PGP钥匙环,而是自有钥匙环,在所有RetroShare实例间共享。<br><br> 您似乎没有这种钥匙环,尽管现有 RetroShare 账户中引用了PGP密钥,也许您刚刚才升级至此新版本。 @@ -14508,12 +15226,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - + RetroShare Retroshare - + Initialization failed. Wrong or missing installation of PGP. 初始化失败。PGP未安装或安装错误。 @@ -14523,12 +15241,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace 发生意外错误。请报告 'RsInit::InitRetroShare unexpected return code %1'. - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. 发生意外错误。请报告错误'RsInit::InitRetroShare unexpected return code %1'。 - + Multiple instances 多实例运行 @@ -14552,9 +15270,8 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace - Start with a RetroShare link is only supported for Windows. - 仅 Windows 平台支持通过 RetroShare 链接启动。 + 仅 Windows 平台支持通过 RetroShare 链接启动。 @@ -14583,24 +15300,24 @@ Reported error is: %2 - + Click to send a private message to %1 (%2). - + %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + @@ -14610,103 +15327,103 @@ Reported error is: TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + @@ -14717,49 +15434,49 @@ Reported error is: Subject: - + 主题: Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error - + 错误 unable to parse XML file! - + @@ -14774,12 +15491,12 @@ Security: no anonymous IDs <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14902,10 +15619,10 @@ p, li { white-space:pre-wrap;} <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -14950,31 +15667,31 @@ p, li { white-space:pre-wrap;} RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -14989,8 +15706,8 @@ p, li { white-space:pre-wrap;} <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> @@ -15051,12 +15768,12 @@ p, li { white-space:pre-wrap;} Universal - + If checked, the share is anonymously shared to anybody. - + @@ -15069,12 +15786,12 @@ p, li { white-space:pre-wrap;} * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + 您确定要停止此文件夹的共享? @@ -15118,60 +15835,60 @@ p, li { white-space:pre-wrap;} Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15189,7 +15906,7 @@ p, li { white-space:pre-wrap;} <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15279,7 +15996,7 @@ p, li { white-space:pre-wrap;} <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15305,7 +16022,7 @@ p, li { white-space:pre-wrap;} NEW - + @@ -15313,22 +16030,22 @@ p, li { white-space:pre-wrap;} IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + @@ -15341,33 +16058,33 @@ p, li { white-space:pre-wrap;} Add IP to whitelist - + Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15399,12 +16116,12 @@ p, li { white-space:pre-wrap;} 下载! - + File 文件 - + Size 大小 @@ -15421,7 +16138,7 @@ p, li { white-space:pre-wrap;} Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. 一些文件名或目录名包含无效字符。 <b>",|,/,\,&lt;,&gt;,*,?</b> 等字符将被“_”替换。 @@ -15430,7 +16147,7 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Selected files : - + @@ -15440,12 +16157,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + @@ -15455,12 +16172,12 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + + - + @@ -15468,58 +16185,63 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace 保存 - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + Real Size=%1 - + Real File Count=%1 - + Save Collection File. - + What do you want to do? - + @@ -15529,42 +16251,42 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Merge - + Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + File already exists. - + <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15612,12 +16334,12 @@ If you believe it is correct, remove the corresponding line from the file and re Save Collection File. - + What do you want to do? - + @@ -15627,7 +16349,7 @@ If you believe it is correct, remove the corresponding line from the file and re Merge - + @@ -15637,13 +16359,13 @@ If you believe it is correct, remove the corresponding line from the file and re File already exists. - + RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? 图像过大不便传输。 @@ -15655,13 +16377,13 @@ Reducing image to %1x%2 pixels? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. 重设所有保存的RetroShare设置。 @@ -15701,7 +16423,7 @@ Reducing image to %1x%2 pixels? RetroShare实用信息 - + Unable to open log file '%1': %2 无法打开日志文件 "%1':%2 @@ -15713,27 +16435,36 @@ Reducing image to %1x%2 pixels? Could not create data directory: %1 - + - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -16005,17 +16736,17 @@ Reducing image to %1x%2 pixels? Create Collection... - + Modify Collection... - + View Collection... - + @@ -16049,7 +16780,7 @@ Reducing image to %1x%2 pixels? IP address: - + @@ -16064,7 +16795,7 @@ Reducing image to %1x%2 pixels? Peer Name: - + @@ -16081,33 +16812,33 @@ Reducing image to %1x%2 pixels? but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -16240,27 +16971,27 @@ Reducing image to %1x%2 pixels? Certificate has wrong signature!! This peer is not who he claims to be. - + Missing/Damaged certificate. Not a real Retroshare user. - + Certificate caused an internal error. - + Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16273,12 +17004,12 @@ Reducing image to %1x%2 pixels? Network Mode - + 网络模式 Nat - + @@ -16366,7 +17097,7 @@ Reducing image to %1x%2 pixels? If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. 如果您取消此项,RetroShare 将只能在您连接上好友后 确定您的外网 IP 。启用此项可以帮助您在好友不多的 @@ -16387,90 +17118,90 @@ behind a firewall or a VPN. Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + Onion Address - + Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + @@ -16480,27 +17211,27 @@ Also check your ports! Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16515,18 +17246,18 @@ Also check your ports! IP Filters - + IP blacklist - + IP range - + @@ -16540,13 +17271,13 @@ Also check your ports! Origin - + Reason - + @@ -16558,158 +17289,158 @@ Also check your ports! IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + @@ -16722,78 +17453,78 @@ If you have issues connecting over Tor check the Tor logs too. Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16816,12 +17547,12 @@ If you have issues connecting over Tor check the Tor logs too. Auto-download recommended files - + Require whitelist - + @@ -16844,12 +17575,12 @@ If you have issues connecting over Tor check the Tor logs too. hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16906,7 +17637,7 @@ If you have issues connecting over Tor check the Tor logs too. Share flags and groups: - + @@ -16924,13 +17655,13 @@ If you have issues connecting over Tor check the Tor logs too. Share - + You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -17155,17 +17886,17 @@ Select the Friends with which you want to Share your Channel. Create Collection... - + Modify Collection... - + View Collection... - + @@ -17178,48 +17909,48 @@ Select the Friends with which you want to Share your Channel. Friend - + 好友 Go Online - + Chatmessage - + New Msg - + Message - + Message arrived - + Download - + 下载 Download complete - + Lobby - + @@ -17262,7 +17993,7 @@ Select the Friends with which you want to Share your Channel. Default - + 默认 @@ -17270,18 +18001,18 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile 载入配置文件 @@ -17354,9 +18085,9 @@ The current identities/locations will not be affected. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17365,7 +18096,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17374,7 +18105,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17383,7 +18114,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17457,12 +18188,12 @@ This choice can be reverted in settings. Turtle Router - + Global Router - + @@ -17569,7 +18300,7 @@ This choice can be reverted in settings. Connected: I2P - + @@ -17584,57 +18315,57 @@ This choice can be reverted in settings. TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17654,7 +18385,7 @@ This choice can be reverted in settings. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17668,7 +18399,7 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17833,17 +18564,17 @@ p, li { white-space: pre-wrap; } SubscribeToolButton - + Subscribed 已订阅 - + Unsubscribe 退订 - + Subscribe 订阅 @@ -17902,12 +18633,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17962,11 +18693,11 @@ p, li { white-space: pre-wrap; } <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -17981,27 +18712,27 @@ p, li { white-space: pre-wrap; } <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -18036,7 +18767,7 @@ p, li { white-space: pre-wrap; } TransfersDialog - + Downloads 下载 @@ -18047,7 +18778,7 @@ p, li { white-space: pre-wrap; } 上传 - + Name i.e: file name @@ -18288,7 +19019,7 @@ p, li { white-space: pre-wrap; } <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + @@ -18317,39 +19048,39 @@ p, li { white-space: pre-wrap; } - + Failed 失败 - - + + Okay - - + + Waiting 等待中 - + Downloading 下载中 - + Complete 完成 - + Queued 排队中 @@ -18369,7 +19100,7 @@ p, li { white-space: pre-wrap; } 未知 - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18458,7 +19189,7 @@ RetroShare 将向数据源请求详细的校验 输入新的有效文件名 - + Last Time Seen i.e: Last Time Receiced Data 上次发现 @@ -18590,29 +19321,29 @@ RetroShare 将向数据源请求详细的校验 显示路径栏 - + Could not delete preview file - + Try it again? - + - + Create Collection... - + Modify Collection... - + View Collection... - + @@ -18620,24 +19351,24 @@ RetroShare 将向数据源请求详细的校验 资源集合 - + File sharing 文件 - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: - + @@ -18794,12 +19525,12 @@ RetroShare 将向数据源请求详细的校验 Anonymous tunnels - + Authenticated tunnels - + @@ -18809,7 +19540,7 @@ RetroShare 将向数据源请求详细的校验 Turtle Router - + @@ -18857,7 +19588,7 @@ RetroShare 将向数据源请求详细的校验 Forwarded data - + @@ -18986,57 +19717,57 @@ RetroShare 将向数据源请求详细的校验 Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -19264,7 +19995,7 @@ RetroShare 将向数据源请求详细的校验 Show Wiki Group - + @@ -19435,7 +20166,7 @@ RetroShare 将向数据源请求详细的校验 Update Group - + @@ -19548,7 +20279,7 @@ RetroShare 将向数据源请求详细的校验 Post Pulse to Wire - + @@ -19662,7 +20393,7 @@ RetroShare 将向数据源请求详细的校验 Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + diff --git a/retroshare-gui/src/lang/retroshare_zh_TW.ts b/retroshare-gui/src/lang/retroshare_zh_TW.ts index 81fadee2f..a20b2d264 100644 --- a/retroshare-gui/src/lang/retroshare_zh_TW.ts +++ b/retroshare-gui/src/lang/retroshare_zh_TW.ts @@ -1,15 +1,17 @@ - + + + AWidget version - + RetroShare version - + @@ -28,7 +30,7 @@ Copy Info - + @@ -38,22 +40,22 @@ Max score: %1 - + Score: %1 - + Level: %1 - + Have fun ;-) - + @@ -61,7 +63,7 @@ Add Comment - + @@ -69,28 +71,28 @@ File type(extension): - + Use default command - + Command - + RetroShare - + - Sorry, can't determine system default command for this file + Sorry, can't determine system default command for this file - + @@ -98,27 +100,27 @@ RetroShare: Advanced Search - + Search Criteria - + Add a further search criterion. - + Reset the search criteria. - + Cancels the search. - + @@ -128,12 +130,12 @@ Perform the advanced search. - + Search - + @@ -142,87 +144,87 @@ Create Album - + Album Name: - + Category: - + Animals - + Family - + Friends - + Flowers - + Holiday - + Landscapes - + Pets - + Portraits - + Travel - + Work - + Random - + Caption: - + Where: - + Photographer: - + @@ -232,116 +234,116 @@ Share Options - + Policy: - + Quality: - + Comments: - + Identity: - + Public - + Restricted - + Resize Images (< 1Mb) - + Resize Images (< 10Mb) - + Send Original Images - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with Identity - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Back - + Add Photos - + Publish Album - + Untitle Album - + Say something about this album... - + Where were these taken? - + Load Album Thumbnail - + @@ -350,47 +352,47 @@ p, li { white-space: pre-wrap; } Album - + Album Thumbnail - + TextLabel - + Summary - + Album Title: - + Category: - + Caption - + Where: - + When - + @@ -400,51 +402,51 @@ p, li { white-space: pre-wrap; } Share Options - + Comments - + Publish Identity - + Visibility - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;"> Drag &amp; Drop to insert pictures. Click on a picture to edit details below.</span></p></body></html> - + Add Photo - + Edit Photo - + Delete Photo - + Publish Photos - + @@ -459,25 +461,25 @@ p, li { white-space: pre-wrap; } TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Album Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + @@ -485,169 +487,169 @@ p, li { white-space: pre-wrap; } Language - + Changes to language will only take effect after restarting RetroShare! - + Choose the language used in RetroShare - + Style - + Choose RetroShare's interface style - + Style Sheet - + Appearance - + Tool Bar - + On Tool Bar - + On List Item - + Where do you want to have the buttons for menu? - + On List Ite&m - + Where do you want to have the buttons for the page? - + Icon Only - + Text Only - + Text Beside Icon - + Text Under Icon - + Choose the style of Tool Buttons. - + Choose the style of List Items. - + Icon Size = 8x8 - + Icon Size = 16x16 - + Icon Size = 24x24 - + Icon Size = 64x64 - + Icon Size = 128x128 - + Status Bar - + Remove surplus text in status bar. - + Compact Mode - + Hide Sound Status - + Hide Toaster Disable - + Show SysTray on Status Bar - + Disable SysTray ToolTip - + Icon Size = 32x32 - + @@ -656,43 +658,43 @@ p, li { white-space: pre-wrap; } RetroShare - + Warning: The services here are experimental. Please help us test them. But Remember: Any data here *WILL* be lost when we upgrade the protocols. - + Identities - + Circles - + GxsForums - + GxsChannels - + The Wire - + Photos - + @@ -700,17 +702,17 @@ p, li { white-space: pre-wrap; } %p Kb - + Cancel Download - + [ERROR]) - + @@ -718,17 +720,17 @@ p, li { white-space: pre-wrap; } Change Avatar - + Your Avatar Picture - + Add Avatar - + @@ -738,12 +740,12 @@ p, li { white-space: pre-wrap; } Set your Avatar picture - + Load Avatar - + @@ -751,15 +753,15 @@ p, li { white-space: pre-wrap; } Click to change your avatar - + BWGraphSource - + KB/s - + @@ -767,7 +769,7 @@ p, li { white-space: pre-wrap; } N/A - + @@ -775,7 +777,7 @@ p, li { white-space: pre-wrap; } RetroShare Bandwidth Usage - + @@ -786,47 +788,47 @@ p, li { white-space: pre-wrap; } Reset - + Receive Rate - + Send Rate - + Always on Top - + Style - + Changes the transparency of the Bandwidth Graph - + 100 - + % Opaque - + Save - + @@ -836,12 +838,12 @@ p, li { white-space: pre-wrap; } Since: - + Hide Settings - + @@ -850,23 +852,23 @@ p, li { white-space: pre-wrap; } Sum - + All - + KB/s - + Count - + @@ -874,72 +876,72 @@ p, li { white-space: pre-wrap; } Name - + ID - + In (KB/s) - + InMax (KB/s) - + InQueue - + InAllocated (KB/s) - + Allocated Sent - + Out (KB/s) - + OutMax (KB/s) - + OutQueue - + OutAllowed (KB/s) - + Allowed Recvd - + TOTALS - + Totals - + @@ -952,42 +954,42 @@ p, li { white-space: pre-wrap; } Form - + 表單 Friend: - + Type: - + 類型 Up - + Down - + Service: - + Unit: - + Log scale - + @@ -995,27 +997,27 @@ p, li { white-space: pre-wrap; } Channels - + Tabs - + General - + Load posts in background (Thread) - + Open each channel in a new tab - + @@ -1023,155 +1025,160 @@ p, li { white-space: pre-wrap; } Participants - + Change nick name - + Mute participant - + + + + + Ban this person (Sets negative opinion) + Send Message - + Sort by Name - + Sort by Activity - + - + Invite friends to this lobby - + Leave this lobby (Unsubscribe) - + Invite friends - + Select friends to invite: - + - + Welcome to lobby %1 - + Topic: %1 - + Lobby chat - + - + Lobby management - + %1 has left the lobby. - + %1 joined the lobby. - + %1 changed his name to: %2 - + Unsubscribe to lobby - + Do you want to unsubscribe to this chat lobby? - + Right click to mute/unmute participants<br/>Double click to address this person<br/> - + This participant is not active since: - + seconds - + - + Start private chat - + - + Decryption failed. - + Signature mismatch - + Unknown key - + Unknown hash - + Unknown error. - + Cannot start distant chat - + Distant chat cannot be initiated: - + @@ -1179,7 +1186,7 @@ p, li { white-space: pre-wrap; } Show Chat Lobby - + @@ -1187,179 +1194,179 @@ p, li { white-space: pre-wrap; } Chat Lobbies - + You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + Unknown Lobby - + Remove All - + ChatLobbyWidget - + Chat lobbies - + - + Name - + Count - + Topic - + Private Lobbies - + Public Lobbies - + Create chat lobby - + [No topic provided] - + - + Selected lobby info - + Private - + Public - + Anonymous IDs accepted - + You're not subscribed to this lobby; Double click-it to enter and chat. - + Remove Auto Subscribe - + Add Auto Subscribe - + %1 invites you to chat lobby named %2 - + - + Search Chat lobbies - + Search Name - + Subscribed - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Chat Lobbies</h1> <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> <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=%2/>). Once you have been invited to a private lobby, you will be able to see it when your friends are using it.</p> <p>The list at left shows chat lobbies your friends are participating in. You can either <ul> <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> </ul> Note: For the chat lobbies to work properly, your computer needs be on time. So check your system clock! </p> - + Create a non anonymous identity and enter this lobby - + Columns - + Yes - + No - + - + Lobby Name: - + Lobby Id: - + Topic: - + @@ -1369,12 +1376,12 @@ p, li { white-space: pre-wrap; } Security: - + Peers: - + @@ -1384,93 +1391,93 @@ p, li { white-space: pre-wrap; } TextLabel - + No lobby selected. Select lobbies at left to show details. Double click lobbies to enter and chat. - + Private Subscribed Lobbies - + Public Subscribed Lobbies - + Chat Lobbies - + Leave this lobby - + Enter this lobby - + Enter this lobby as... - + Default identity is anonymous - + You cannot join this lobby with your default identity, since it is anonymous and the lobby forbids it. - + No anonymous IDs - + You will need to create a non anonymous identity in order to join this chat lobby. - + You will need to create an identity in order to join chat lobbies. - + Choose an identity for this lobby: - + Create an identity and enter this lobby - + Show - + 顯示 column - + @@ -1483,28 +1490,28 @@ Double click lobbies to enter and chat. Write a quick Message - + Send Mail - + Write Message - + Start Chat - + Send - + @@ -1512,167 +1519,172 @@ Double click lobbies to enter and chat. 取消 - + Quick Message - + ChatPage - + General - + - + Distant Chat - + Everyone - + Contacts - + Nobody - + Accept encrypted distant chat from - + Chat Settings - + Enable Emoticons Private Chat - + Enable Emoticons Group Chat - + Enable custom fonts - + Enable custom font size - + Minimum font size - + Enable bold - + Enable italics - + Minimum text contrast - + Send message with Ctrl+Return - + + + + + Send as plain text by default + Chat Lobby - + Blink tab icon - + Private Chat - + Open Window for new chat - + Grab Focus when chat arrives - + Use a single tabbed window - + Blink window/tab icon - + Chat Font - + Change Chat Font - + Chat Font: - + History - + Style - + Group chat - + Variant - + @@ -1692,102 +1704,102 @@ Double click lobbies to enter and chat. Private chat - + Incoming - + Outgoing - + - + Incoming message in history - + Outgoing message in history - + Incoming message - + Outgoing message - + Outgoing offline message - + System - + System message - + UserName - + /me is sending a message with /me - + Chat - + <html><head/><body><p align="justify">In this tab you can setup how many chat messages Retroshare will keep saved on the disc and how much of the previous conversation it will display, for the different chat systems. The max storage period allows to discard old messages and prevents the chat history from filling up with volatile chat (e.g. chat lobbies and distant chat).</p></body></html> - + Chatlobbies - + Enabled: - + Saved messages (0 = unlimited): - + Number of messages restored (0 = off): - + Maximum storage period, in days (0=keep all): - + Search by default - + @@ -1797,100 +1809,100 @@ Double click lobbies to enter and chat. Whole Words - + Move to cursor - + Color All Text Found - + Color of found text - + Choose color of found text - + Maximum count for coloring matching text - + Threshold for automatic search - + Default identity for chat lobbies: - + Show Bar by default - + - + Private chat invite from - + Name : - + PGP id : - + Valid until : - + ChatStyle - + Standard style for group chat - + Compact style for group chat - + Standard style for private chat - + Compact style for private chat - + Standard style for history - + Compact style for history - + @@ -1898,7 +1910,7 @@ Double click lobbies to enter and chat. Show Chat - + @@ -1906,7 +1918,7 @@ Double click lobbies to enter and chat. Private Chat - + @@ -1914,281 +1926,289 @@ Double click lobbies to enter and chat. Close - + - + Send - + - + Bold - + Underline - + Italic - + - + Attach a Picture - + - + Strike - + Clear Chat History - + Disable Emoticons - + Save Chat History - + Browse Message History - + Browse History - + Delete Chat History - + Deletes all stored and displayed chat history - + Choose font - + Reset font to default - + - + Quote - + Quotes the selected text - + Drop Placemark - + Insert horizontal rule - + Save image - + - + + Send as PlainText + + + + + Send as plain text without font. + + + + + + Don't replace tag with Emote Icon. + + + + is typing... - + - + + It remains %1 characters +after HTML conversion. + + + + + Warning: This message is too big of %1 characters +after HTML conversion. + + + + Do you really want to physically delete the history? - + - + Add Extra File - + Load Picture File - + Save as... - + Text File (*.txt );;All Files (*) - + appears to be Offline. - + Messages you send will be delivered after Friend is again Online - + is Idle and may not reply - + is Away and may not reply - + is Busy and may not reply - + - + Find Case Sensitively - + Find Whole Words - + Move To Cursor - + Don't stop to color after X items found (need more CPU) - + - + <b>Find Previous </b><br/><i>Ctrl+Shift+G</i> - + <b>Find Next </b><br/><i>Ctrl+G</i> - + <b>Find </b><br/><i>Ctrl+F</i> - + - + (Status) - + - + Set text font & color - + Attach a File - + - + WARNING: Could take a long time on big history. - + Choose color - + - + <b>Mark this selected text</b><br><i>Ctrl+M</i> - + - - %1This message consists of %2 characters. - - - - + items found. - + No items found. - + <b>Return to marked text</b><br><i>Ctrl+M</i> - + - - Display Search Box - - - - - Search Box - - - - + Type a message here - + - + Don't stop to color after - + items found (need more CPU) - - - - - Warning: - + @@ -2196,360 +2216,334 @@ Double click lobbies to enter and chat. TextLabel - + Empty Circle - + CirclesDialog - + Showing details: - + Membership - + Name - + IDs - + - + Personal Circles - + Public Circles - + Peers - + Status - + ID - + - + Friends - + Friends of Friends - + Others - + Permissions - + Anon Transfers - + Discovery - + Share Category - + Create Personal Circle - + Create External Circle - + Edit Circle - + Todo - + Friends Of Friends - + - + External Circles (Admin) - + External Circles (Subscribed) - + External Circles (Other) - + Circles - + ConfCertDialog - + Details - + Node info - + Peer Address - + - + Local Address - + External Address - + Dynamic DNS - + Port - + Addresses list - + - + + Use this certificate to make friends: + + + + Include signatures - + - - + + RetroShare - + - - + + Error : cannot get peer details. - + - - Use as direct source, when available - - - - - <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. </p></body></html> - - - - + Encryption - + Not connected - + Peer Addresses - + - Options - 選項 + 選項 - + Retroshare node details - + - + Node name : - + Status : - + Last Contact : - + Retroshare version : - + Node ID : - + PGP key : - + Retroshare Certificate - + - - <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes.</p></body></html> - - - - - Auto-download recommended files from this node - - - - + Friend node details - + - + Hidden Address - + none - + <p>This certificate contains: - + <li>a <b>node ID</b> and <b>name</b> - + an <b>onion address</b> and <b>port</b> - + an <b>IP address</b> and <b>port</b> - + <p>You can use this certificate to make new friends. Send it by email, or give it hand to hand.</p> - + - - <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP.</p></body></html> - - - - - Require white list clearance - - - - + <html><head/><body><p>This is the ID of the node's <span style=" font-weight:600;">OpenSSL</span> certifcate, which is signed by the above <span style=" font-weight:600;">PGP</span> key. </p></body></html> - + <html><head/><body><p>This is the encryption method used by <span style=" font-weight:600;">OpenSSL</span>. The connection to friend nodes</p><p>is always heavily encrypted and if DHE is present the connection further uses</p><p>&quot;perfect forward secrecy&quot;.</p></body></html> - + with - + external signatures</li> - + @@ -2557,228 +2551,228 @@ Double click lobbies to enter and chat. Connect Friend Wizard - + Add a new Friend - + &You get a certificate file from your friend - + &Make friend with selected friends of my friends - + Text certificate - + Use text representation of the PGP certificates. - + Include signatures - + Copy your Cert to Clipboard - + Save your Cert into a File - + Run Email program - + Please, paste your friend's Retroshare certificate into the box below - + <html><head/><body><p>This box expects your friend's Retroshare certificate. WARNING: this is different from your friend's PGP key. Do not paste your friend's PGP key here (not even a part of it). It's not going to work.</p></body></html> - + Certificate files - + Use PGP certificates saved in files. - + Import friend's certificate... - + You have to generate a file with your certificate and give it to your friend. Also, you can use a file generated before. - + Export my certificate... - + Drag and Drop your friends's certificate in this Window or specify path in the box below - + Browse - + Friends of friends - + Select now who you want to make friends with. - + Show me: - + Make friend with these peers - + RetroShare ID - + Use RetroShare ID for adding a Friend which is available in your network. - + Add Friends RetroShare ID... - + Paste Friends RetroShare ID in the box below - + Enter the RetroShare ID of your Friend, e.g. Peer@BDE8D16A46D938CF - + RetroShare is better with Friends - + Invite your Friends from other Networks to RetroShare. - + GMail - + Yahoo - + Outlook - + AOL - + Yandex - + Email - + Invite Friends by Email - + Enter your friends' email addresses (separate each one with a semicolon) - + Your friends' email addresses: - + Enter Friends Email addresses - + Subject: - + Friend request - + Details about the request - + Peer details - + @@ -2790,23 +2784,23 @@ Double click lobbies to enter and chat. Email: - + Node: - + Please note that RetroShare will require excessive amounts of bandwidth, memory and CPU if you add too many friends. You can add as many friends as you like, but more than 40 will probably require too much resources. - + Location: - + @@ -2818,194 +2812,194 @@ resources. This wizard will help you to connect to your friend(s) to RetroShare network.<br>Select how you would like to add a friend: - + Enter the certificate manually - + Enter RetroShare ID manually - + &Send an Invitation by Web Mail Providers - + &Send an Invitation by Email (Your friend will receive an email with instructions how to to download RetroShare) - + Recommend many friends to each other - + Add friend to group: - + Authenticate friend (Sign PGP Key) - + Add as friend to connect with - + To accept the Friend Request, click the Finish button. - + Sorry, some error appeared - + Here is the error message: - + Make Friend - + Details about your friend: - + Key validity: - + Signers - + This peer is already on your friend list. Adding it might just set it's ip address. - + Abnormal size read is bigger than memory block. - + Invalid external IP. - + Invalid local IP. - + Invalid checksum section. - + Checksum mismatch. Certificate is corrupted. - + Unknown section type found (Certificate might be corrupted). - + Missing checksum. - + Unknown certificate error - + Certificate Load Failed - + Cannot get peer details of PGP key %1 - + Any peer I've not signed - + Friends of my friends who already trust me - + Signed peers showing as denied - + Peer name - + Also signed by - + Peer id - + RetroShare Invitation - + Ultimate - + Full - + Marginal - + @@ -3015,186 +3009,186 @@ resources. No Trust - + You have a friend request from - + Certificate Load Failed:file %1 not found - + This Peer %1 is not available in your Network - + Use new certificate format (safer, more robust) - + Use old (backward compatible) certificate format - + Remove signatures - + RetroShare Invite - + No or misspelled BEGIN tag found - + No or misspelled END tag found - + No checksum found (the last 5 chars should be separated by a '=' char), or no newline after tag line (e.g. line beginning with Version:) - + Unknown error. Your cert is probably not even a certificate. - + Connect Friend Help - + You can copy this text and send it to your friend via email or some other way - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + Save as... - + RetroShare Certificate (*.rsc );;All Files (*) - + Select Certificate - + Sorry, create certificate failed - + Please choose a filename - + Certificate file successfully created - + Sorry, certificate file creation failed - + *** None *** - + Use as direct source, when available - + IP-Addr: - + IP-Address - + Recommend many friends to each others - + Friend Recommendations - + The text below is your Retroshare certificate. You have to provide it to your friend - + Message: - + Recommend friends - + To - + Please select at least one friend for recommendation. - + Please select at least one friend as recipient. - + Add key to keyring - + This key is already in your keyring - + @@ -3202,69 +3196,69 @@ resources. This might be useful for sending distant messages to this peer even if you don't make friends. - + Certificate has wrong version number. Remember that v0.6 and v0.5 networks are incompatible. - + Invalid node id. - + Auto-download recommended files - + Can be used as direct source - + Require whitelist clearance to connect - + Add IP to whitelist - + No IP in this certificate! - + <p>This certificate has no IP. You will rely on discovery and DHT to find it. Because you require whitelist clearance, the peer will raise a security warning in the NewsFeed tab. From there, you can whitelist his IP.</p> - + Added with certificate from %1 - + Paste Cert of your friend from Clipboard - + Certificate Load Failed:can't read from file %1 - + Certificate Load Failed:something is wrong with %1 - + @@ -3272,228 +3266,228 @@ even if you don't make friends. Connection Progress - + Connecting to: - + TextLabel - + Network - + Net Result - + Connect Status - + Contact Result - + DHT Startup - + DHT Result - + Peer Lookup - + Peer Result - + UDP Setup - + UDP Result - + Connection Assistant - + Invalid Peer ID - + Unknown State - + Offline - + Behind Symmetric NAT - + Behind NAT & No DHT - + NET Restart - + Behind NAT - + No DHT - + NET STATE GOOD! - + DHT Failed - + DHT Disabled - + DHT Okay - + Finding RS Peers - + Lookup requires DHT - + Searching DHT - + Lookup Timeout - + Peer DHT NOT ACTIVE - + Lookup Failure - + Peer Offline - + Peer Firewalled - + Peer Online - + Connection In Progress - + Initial connections can take a while, please be patient - + If an error is detected it will be displayed here - + You can close this dialog at any time - + Retroshare will continue connecting in the background - + Connection Timeout - + Connection Attempt has taken too long - + But no error has been detected - + Try again shortly, Retroshare will continue connecting in the background - + @@ -3502,214 +3496,214 @@ even if you don't make friends. If you continue to get this message, please contact developers - + DHT Lookup Timeout - + DHT Lookup has taken too long - + UDP Connection Timeout - + UDP Connection has taken too long - + UDP Connection Failed - + We are continually working to improve connectivity. - + In this case the UDP connection attempt has failed. - + Improve connectivity by opening a Port in your Firewall. - + Connected - + Congratulations, you are connected - + DHT startup Failed - + Your DHT has not started properly - + Common causes of this problem are: - + - You are not connected to the Internet - + - You have a missing or out-of-date DHT bootstrap file (bdboot.txt) - + DHT is Disabled - + The DHT is OFF, so Retroshare cannot find your Friends. - + Retroshare has tried All Known Addresses, with no success - + The DHT is needed if your friends have Dynamic IP Addresses. - + Go to Settings->Server and change config to "Public: DHT and Discovery" - + Peer Denied Connection - + We successfully reached your Friend. - + but they have not added you as a Friend. - + Please contact them to add your Certificate - + Your Retroshare Node is configured Okay - + We successfully reached your Friend via UDP. - + Please contact them to add your Full Certificate - + We Cannot find your Friend. - + They are either offline or their DHT is Off - + Peer DHT is Disabled - + Your Friend has configured Retroshare with DHT Disabled. - + You have previously connected to this Friend - + Retroshare has determined that they have DHT switched off - + Without the DHT it is hard for Retroshare to locate your friend - + Try importing a fresh Certificate to get up-to-date connection information - + Incomplete Friend Details - + You have imported an incomplete Certificate - + Please retry importing the full Certificate - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">This Widget shows the progress of your connection to your new peer.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">It is helpful for problem-solving.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Lucida Grande'; font-size:13pt;"></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">If you are an expert RS user, or trust that RS will do the right thing</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Lucida Grande'; font-size:13pt;">you can close it.</span></p></body></html> - + @@ -3717,111 +3711,99 @@ p, li { white-space: pre-wrap; } N/A - + UNVERIFIABLE FORWARD! - + UNVERIFIABLE FORWARD & NO DHT - + Searching - + UDP Connect Timeout - + Only Advanced Retroshare users should switch off the DHT. - + Retroshare cannot connect without this information - + They need a Certificate + Node for UDP connections to succeed - + CreateCircleDialog - + + + + Circle Details - + - - + Name - + - - Creator - - - - - Distribution - - - - + Public - + - - Self-Restricted - - - - - Restricted to: - - - - - Circle Membership - - - - + IDs - + - - Known Identities - - - - + Filter - + - + Nickname - + - + + + Invited Members + + + + + <html><head/><body><p>Members of this list will be automatically proposed to join the circle (by accepting membership). They will</p><p>not receive data that is restricted to this circle until they do so.</p></body></html> + + + + + Known People + + + + ID - + @@ -3829,136 +3811,210 @@ p, li { white-space: pre-wrap; } 類型 - - - - + + Name: + 名稱: + + + + <html><head/><body><p>The circle name, contact author and invted member list will be visible to all invited members. If the circle is not private, it will also be visible to neighbor nodes of the nodes who host the invited members.</p></body></html> + + + + + Contact author: + + + + + <html><head/><body><p>The creator of a circle ia purely optional. It is however useful for public circles so that people know with whom to discuss membership aspects.</p></body></html> + + + + + [Circle Admin] + + + + + Distribution: + + + + + <html><head/><body><p>Publicly distributed circles are visible to your friends, which will get to know the circle data (Creator, members, etc)</p></body></html> + + + + + <html><head/><body><p>Private (a.k.a. self-restricted) circles are only visible to the invited members of these circles. In practice the circle uses its own list of invited members to limit its own distribution. </p></body></html> + + + + + Private + + + + + <html><head/><body><p>Circles can be restricted to the members of another circle. Only the members of that second circle will be allowed to see the new circle and its content (list of members, etc).</p></body></html> + + + + + Only visible to members of: + + + + + + RetroShare - + - + Please set a name for your Circle - + - - Personal Circle Details - - - - - External Circle Details - - - - - Cannot Edit Existing Circles Yet - - - - + No Restriction Circle Selected - + - + No Circle Limitations Selected - + - - Create New Personal Circle - - - - - Create New External Circle - - - - + Add 添加 Remove - + - + Search - + - + All - + Signed - + Signed by known nodes - + - + Edit Circle - + - - + PGP Identity - + - - - + + + Anon Id - + + + + + Circle name + + + + + Update + + Close + + + + + + Create New Circle + + + + + Create + + + + PGP Linked Id - + + + + + Add Member + + + + + Remove Member + CreateGroup - + Create a Group - + - - Group Name - + + Group Name: + - + + Group ID: + + + + Enter a name for your group - + - + + To be defined + + + + Friends - + Edit Group - + @@ -3967,151 +4023,151 @@ p, li { white-space: pre-wrap; } New Channel Post - + Channel Post - + Channel Post to: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:10pt; font-weight:600;">Attachments:</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Use Drag and Drop / Add Files button, to Hash new files.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><img src=":/images/feedback_arrow.png" /><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;"> Copy/Paste RetroShare links from your shares</span></p></body></html> - + Add File to Attach - + Add Channel Thumbnail - + Message - + Subject : - + Attachments - + Allow channels to get frame for message thumbnail from movie media attachments or not - + Auto Thumbnail - + Drag and Drop Files from Search Results - + Paste RetroShare Links - + Paste RetroShare Link - + Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + Add Extra File - + RetroShare - + File already Added and Hashed - + Please add a Subject - + Load thumbnail picture - + Generate mass data - + Do you really want to generate %1 messages ? - + You are about to add files you're not actually sharing. Do you still want this to happen? - + About to post un-owned files to a channel. - + CreateGxsForumMsg - + Post Forum Message - + @@ -4121,106 +4177,116 @@ p, li { white-space: pre-wrap; } Subject - + Attach File - + Sign Message - + Forum Post - + Attach files via drag and drop - + You can attach files via drag and drop here in this window - + Start New Thread - + - + No Forum - + - + In Reply to - + RetroShare - + Please set a Forum Subject and Forum Message - + Please choose Signing Id, it is required - + Add Extra File - + + + + + No compatible ID for this forum + + + + + None of your identities is allowed to post in this forum. This could be due to the forum being limited to a circle that contains none of your identities, or forum flags requiring a PGP-signed identity. + - + Generate mass data - + Do you really want to generate %1 messages ? - + - + Send - + - + Forum Message - + Forum Message has not been Sent. Do you want to reject this message? - + Post as - + Congrats, you found a bug! - + @@ -4229,82 +4295,82 @@ Do you want to reject this message? Create Chat Lobby - + A chat lobby is a decentralized and anonymous chat group. All participants receive all messages. Once the lobby is created you can invite other friends from the Friends tab. - + Lobby name: - + Lobby topic: - + Visibility: - + Public (Visible by friends) - + Private (Works on invitation only) - + <html><head/><body><p>If you check this, only PGP-signed ids can be used to join and talk in this lobby. This limitation prevents anonymous spamming as it becomes possible for at least some people in the lobby to locate the spammer's node.</p></body></html> - + require PGP-signed identities - + Security: - + Select the Friends with which you want to group chat. - + Invited friends - + Put a sensible lobby name here - + Set a descriptive topic here - + Contacts: - + Identity to use: - + @@ -4312,7 +4378,7 @@ Do you want to reject this message? Public Information - + @@ -4322,127 +4388,127 @@ Do you want to reject this message? Location: - + Location ID: - + Software Version: - + Online since: - + Other Information - + Certificate - + Include signatures - + Save Key into a file - + A RetroShare link with your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + Error - + Your certificate could not be parsed correctly. Please contact the developers. - + RetroShare - + Your Public Key is copied to Clipboard, paste and send it to your friend via email or some other way - + Save as... - + RetroShare Certificate (*.rsc );;All Files (*) - + TextLabel - + PGP fingerprint: - + Node information - + PGP Id : - + Friend nodes: - + Copy certificate to clipboard - + Save certificate to file - + Node - + Create new node... - + show statistics window - + @@ -4450,7 +4516,7 @@ Do you want to reject this message? users - + @@ -4458,38 +4524,38 @@ Do you want to reject this message? DHT - + <p>Retroshare uses Bittorrent's DHT as a proxy for connexions. It does not "store" your IP in the DHT. Instead the DHT is used by your friends to reach you while processing standard DHT requests. The status bullet will turn green as soon as Retroshare gets a DHT response from one of your friends.</p> - + DHT Off - + DHT Searching for RetroShare Peers - + RetroShare users in DHT (Total DHT users) - + DHT Good - + No peer found in DHT - + @@ -4497,27 +4563,27 @@ Do you want to reject this message? B - + KB - + MB - + GB - + File Never Seen - + @@ -4525,42 +4591,42 @@ Do you want to reject this message? Details - + General - + Done - + Active - + Outstanding - + Needs checking - + retroshare link(s) - + retroshare link - + @@ -4570,17 +4636,17 @@ Do you want to reject this message? Rating - + Comments - + File Name - + @@ -4588,123 +4654,123 @@ Do you want to reject this message? Net Status - + Connect Options - + Network Mode - + Nat Type - + Nat Hole - + Peer Address - + Name - + PeerId - + DHT Status - + ConnectLogic - + Connect Status - + Connect Mode - + Request Status - + Cb Status - + RsId - + Bucket - + IP:Port - + Key - + Status Flags - + Found - + Last Sent - + Last Recv - + Relay Mode - + Source - + @@ -4714,207 +4780,207 @@ Do you want to reject this message? Destination - + Class - + Age - + Bandwidth - + IP - + Search IP - + Copy %1 to clipboard - + Unknown NetState - + Offline - + Local Net - + Behind NAT - + External IP - + UNKNOWN NAT STATE - + SYMMETRIC NAT - + DETERMINISTIC SYM NAT - + RESTRICTED CONE NAT - + FULL CONE NAT - + OTHER NAT - + NO NAT - + UNKNOWN NAT HOLE STATUS - + NO NAT HOLE - + UPNP FORWARD - + NATPMP FORWARD - + MANUAL FORWARD - + NET BAD: Unknown State - + NET BAD: Offline - + NET BAD: Behind Symmetric NAT - + NET BAD: Behind NAT & No DHT - + NET WARNING: NET Restart - + NET WARNING: Behind NAT - + NET WARNING: No DHT - + NET STATE GOOD! - + CAUTION: UNVERIFIABLE FORWARD! - + CAUTION: UNVERIFIABLE FORWARD & NO DHT - + Not Active (Maybe Connected!) - + Searching - + Failed - + offline - + Unreachable - + ONLINE - + Direct - + @@ -4924,27 +4990,27 @@ Do you want to reject this message? Disconnected - + Udp Started - + Connected - + Request Active - + No Request - + @@ -4954,34 +5020,34 @@ Do you want to reject this message? RELAY END - + Yourself - + unknown - + unlimited - + Own Relay - + RELAY PROXY - + @@ -4990,27 +5056,27 @@ Do you want to reject this message? %1 secs ago - + %1B/s - + Relays - + 0x%1 EX:0x%2 - + never - + @@ -5018,113 +5084,113 @@ Do you want to reject this message? DHT - + Net Status: - + Network Mode: - + Nat Type: - + Nat Hole: - + Connect Mode: - + Peer Address: - + Unreach: - + Online: - + Offline: - + DHT Peers: - + Disconnected: - + Direct: - + Proxy: - + Relay: - + Filter: - + Search Network - + Peers - + Relay - + DHT Graph - + Proxy VIA - + Relay VIA - + @@ -5132,98 +5198,98 @@ Do you want to reject this message? Incoming Directory - + Browse - + Partials Directory - + Shared Directories - + Automatically share incoming directory (Recommended) - + Edit Share - + Remember file hashes even if not shared. -This might be useful if you're sharing an +This might be useful if you're sharing an external HD, to avoid re-hashing files when you plug it in. - + Remember hashed files for - + days - + Forget any hashed file that is not anymore shared. - + Clean Hash Cache - + Auto-check shared directories every - + minute(s) - + Cache cleaning confirmation - + This will forget any former hash of non shared files. Do you confirm ? - + Set Incoming Directory - + Set Partials Directory - + Directories - + @@ -5231,12 +5297,12 @@ you plug it in. Waiting outgoing discovery operations - + Waiting incoming discovery operations - + @@ -5244,7 +5310,7 @@ you plug it in. Start file - + @@ -5254,36 +5320,36 @@ you plug it in. to - + ignore case - + dd.MM.yyyy - + KB - + MB - + GB - + @@ -5291,12 +5357,12 @@ you plug it in. Expression Widget - + Delete this expression - + @@ -5304,52 +5370,52 @@ you plug it in. &New - + Add new Association - + &Edit - + Edit this Association - + &Remove - + Remove this Association - + File type - + Friend Help - + You this - + Associations - + @@ -5357,47 +5423,47 @@ you plug it in. Chunk map - + Active chunks - + Availability map (%1 active source) - + Availability map (%1 active sources) - + File info - + File name - + Destination folder - + File hash - + File size - + @@ -5405,52 +5471,52 @@ you plug it in. bytes - + Chunk size - + Number of chunks - + Transferred - + Remaining - + Number of sources - + Chunk strategy - + Transfer type - + Anonymous F2F - + Direct friend transfer / Availability assumed - + @@ -5458,73 +5524,73 @@ you plug it in. Picture - + Video - + Audio - + Archive - + Program - + CD/DVD-Image - + Document - + RetroShare collection file - + Subtitles - + Nintendo DS Rom - + Patch - + C++ - + Header - + C - + @@ -5532,37 +5598,37 @@ you plug it in. Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + Directory - + @@ -5580,7 +5646,7 @@ you plug it in. Expand new messages - + @@ -5590,17 +5656,17 @@ you plug it in. Load embedded images - + Tabs - + Open each forum in a new tab - + @@ -5608,283 +5674,283 @@ you plug it in. Last Contact - + Hide Offline Friends - + export friendlist - + export your friendlist including groups - + import friendlist - + import your friendlist including groups - + Show State - + Show Groups - + - + Group - + Friend - + Edit Group - + Remove Group - + Chat - + Recommend this Friend to... - + Copy certificate link - + Add to group - + - + Search - + Sort by state - + - + Move to group - + Groups - + Remove from group - + Remove from all groups - + Expand all - + Collapse all - + Available - + - + Do you want to remove this Friend? - + - + Done! - + Your friendlist is stored at: - + (keep in mind that the file is unencrypted!) - + Your friendlist was imported from: - + Done - but errors happened! - + at least one peer was not added - + at least one peer was not added to a group - + - Select file for importing yoour friendlist from - + Select file for importing your friendlist from + Select a file for exporting your friendlist to - + XML File (*.xml);;All Files (*) - + Error - + Failed to get a file! - + File is not writeable! - + File is not readable! - + IP - + - + Attempt to connect - + Create new group - + Display - + Paste certificate link - + Node - + Remove Friend Node - + - + Do you want to remove this node? - + Friend nodes - + - + Send message to whole group - + Details - + Deny - + Send message - + @@ -5892,17 +5958,17 @@ at least one peer was not added to a group Confirm Friend Request - + wants to be friend with you on RetroShare - + Unknown (Incoming) Connect Attempt - + @@ -5910,32 +5976,32 @@ at least one peer was not added to a group Search : - + Sort by state - + Name - + Search Friends - + - + Mark all - + Mark none - + @@ -5943,122 +6009,122 @@ at least one peer was not added to a group Edit status message - + Broadcast - + Clear Chat History - + Add Friend - + Add your Avatar Picture - + A - + Set your status message - + Edit your status message - + Browse Message History - + Browse History - + Save Chat History - + Add a new Group - + Delete Chat History - + Deletes all stored and displayed chat history - + Create new Chat lobby - + Choose Font - + Reset font to default - + Keyring - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Network</h1> <p>The Network tab shows your friend Retroshare nodes: the neighbor Retroshare nodes that are connected to you. </p> <p>You can group nodes together to allow a finer level of information access, for instance to only allow some nodes to see some of your files.</p> <p>On the right, you will find 3 useful tabs: <ul> <li>Broadcast sends messages to all connected nodes at once</li> <li>Local network graph shows the network around you, based on discovery information</li> <li>Keyring contains node keys you collected, mostly forwarded to you by your friend nodes</li> </ul> </p> - + Retroshare broadcast chat: messages are sent to all connected friends. - + Network - + Network graph - + Set your status message here. - + @@ -6066,29 +6132,29 @@ at least one peer was not added to a group Create new Profile - + Name - + Enter your nickname here - + Email - + Be careful: this email will be visible to your friends and friends of your friends. This information is required by PGP, but to stay anonymous, you can use a fake email. - + @@ -6098,273 +6164,273 @@ anonymous, you can use a fake email. [Optional] Visible to your friends, and friends of friends. - + [Required] Examples: Home, Laptop,... - + [Required] Visible to your friends, and friends of friends. - + All fields are required with a minimum of 3 characters - + Password (check) - + - + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + + <html><head/><body><p align="justify">Before proceeding, move your mouse around to help Retroshare collect as much randomness as possible. Filling the progressbar to 20% is needed, 100% is advised.</p></body></html> - + [Required] Type the same password again here. - + Passwords do not match - + Port - + This password is for PGP - + Node - + Create new node - + Generate new node - + Create a new node - + You can use it now to create a new node. - + Invalid hidden node - + Node field is required with a minimum of 3 characters - + - + Failed to generate your new certificate, maybe PGP password is wrong! - + You can create a new profile with this form. Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + You can create and run Retroshare nodes on different computers using the same profile. To do so just export the selected profile, import it on the other computer and create a new node with it. - + It looks like no profile (PGP keys) exists. Please fill in the form below to create one, or import an existing profile. - + No node exists for this profile. - + Your profile is associated with a PGP key pair - + - + Create a new profile - + Import new profile - + Export selected profile - + Advanced options - + Create a hidden node - + Use profile - + hidden address - + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - + Put a strong password here. This password protects your private PGP key. - + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - + - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in Retroshare's Options-&gt;Server-&gt;Hidden Service configuration panel.</p></body></html> - - - - + PGP key length - + Create new profile - + Currently disabled. Please move your mouse around until you reach at least 20% - + Click to create your node and/or profile - + [Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor) - + [Required] This password protects your private PGP key. - + Enter a meaningful node description. e.g. : home, laptop, etc. This field will be used to differentiate different installations with the same profile (PGP key pair). - + Generate new profile and node - + Create a new profile and node - + Alternatively you can use an existing profile. Just uncheck "Create a new profile" - + Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form. Alternatively you can import a (previously exported) profile. Just uncheck "Create a new profile" - + No node is associated with the profile named - + Please create a node for it by providing a node name. - + Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it. - + Export profile - + RetroShare profile files (*.asc) - + Profile saved - + @@ -6373,77 +6439,77 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Profile not saved - + Your profile was not saved. An error occurred. - + Import profile - + Profile not loaded - + Your profile was not loaded properly: - + New profile imported - + Your profile was imported successfully: - + Please enter a valid address of the form: 31769173498.onion:7800 or [52 characters].b32.i2p - + PGP key pair generation failure - + - + Profile generation failure - + - + Missing PGP certificate - + Generating new PGP key pair, please be patient: this process needs generating large prime numbers, and can take some minutes on slow computers. Fill in your PGP password when asked, to sign your new key. - + You can create a new profile with this form. - + @@ -6451,32 +6517,32 @@ Fill in your PGP password when asked, to sign your new key. Startup - + Start RetroShare when my system starts - + Start minimized - + Start minimized on system start - + For Advanced Users - + Enable Advanced Mode (Restart Required) - + @@ -6486,68 +6552,98 @@ Fill in your PGP password when asked, to sign your new key. Do not show the Quit RetroShare MessageBox - + Auto Login - + - Register retroshare:// as URL protocol (Restart required) - + Register retroshare:// as URL protocol + You need administrator rights to change this option. - + - + + When checked, this instance receives new parameters (like RsLink or RsFile) and avoid new one. + + + + + Use Local Server to get new arguments. + + + + + <html><head/><body><p>Install RetroShare with a package installer to get</p><p>/usr/share/applications/retroshare06.desktop</p></body></html> + + + + + !!!The RetroShare's desktop file is missing or wrong!!! + + + + Idle - + Idle Time - + seconds - + Launch startup wizard - + - + + You have enough right. + + + + + You don't have enough right. Run RetroShare as Admin to change this setting. + + + + Error - + Could not add retroshare:// as protocol. - + Could not remove retroshare:// protocol. - + General - + - + Minimize to Tray Icon - + @@ -6556,55 +6652,55 @@ Fill in your PGP password when asked, to sign your new key. Getting Started - + Invite Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">RetroShare is nothing without your Friends. Click on the Button to start the process.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Email an Invitation with your &quot;ID Certificate&quot; to your friends.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be sure to get their invitation back as well... </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can only connect with friends if you have both added each other.</span></p></body></html> - + Add Your Friends to RetroShare - + Add Friends - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">When your friends send you their invitations, click to open the Add Friends window.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Paste your Friend's &quot;ID Certificates&quot; into the window and add them as friends.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Be Online at the same time as your friends, and RetroShare will automatically connect you!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Your client needs to find the RetroShare Network before it can make connections.</span></p> @@ -6616,31 +6712,31 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If it remains Red, then you have a Nasty Firewall, that RetroShare struggles to connect through.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Look in the Further Help section for more advice about connecting.</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">You can improve your Retroshare performance by opening an External Port. </span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This will speed up connections and allow more people to connect with you. </span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">The easiest way to do this is by enabling UPnP on your Wireless Box or Router.</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">As each router is different, you will need to find out your Router Model and search the Internet for instructions.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">If none of this makes sense to you, don't worry about it Retroshare will still work.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Having trouble getting started with RetroShare?</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">1) Look at the FAQ Wiki. This is a bit old, we are trying to bring it up to date.</span></p> @@ -6653,107 +6749,107 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">4) If you are still stuck. Email us.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:12pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Enjoy Retrosharing</span></p></body></html> - + Connect To Friends - + Advanced: Open Firewall Port - + Further Help and Support - + Open RS Website - + Open FAQ Wiki - + Open Online Forums - + Email Support - + Email Feedback - + RetroShare Invitation - + Your friend has installed RetroShare, and would like you to try it out. - + You can get RetroShare here: %1 - + RetroShare is a private Friend-2-Friend sharing network. - + forums and channels, all of which are as secure as the file-sharing. - + Here is your friends ID Certificate. - + Cut and paste the text below into your RetroShare client - + and send them your ID Certificate to get securely connected. - + Cut Below Here - + RetroShare Feedback - + RetroShare Support - + It has many features, including built-in chat, messaging, - + @@ -6761,82 +6857,82 @@ p, li { white-space: pre-wrap; } Router Statistics - + GroupBox - + ID - + Identity Name - + Destinaton - + Data status - + Tunnel status - + - Data size - + Stored data size + + + + + Receive time (secs ago) + + Sending time (secs ago) + + + + Data hash - + - - Received - - - - - Send - - - - + Branching factor - + Details - + Unknown Peer - + Pending packets - + Unknown - + 未知 @@ -6844,22 +6940,22 @@ p, li { white-space: pre-wrap; } Managed keys - + Routing matrix ( - + [Unknown identity] - + : Service ID = - + @@ -6867,7 +6963,15 @@ p, li { white-space: pre-wrap; } Show Group Chat - + + + + + GroupChooser + + + [Unknown] + @@ -6875,27 +6979,27 @@ p, li { white-space: pre-wrap; } Friends - + Family - + Co-Workers - + Other Contacts - + Favorites - + @@ -6903,78 +7007,78 @@ p, li { white-space: pre-wrap; } Directory is browsable for friends from groups - + Directory is NOT browsable for friends from groups - + Directory is accessible by anonymous tunnels from friends from groups - + Directory is NOT accessible by anonymous tunnels from friends from groups - + Directory is browsable for any friend - + Directory is NOT browsable for any friend - + Directory is accessible by anonymous tunnels from any friend - + Directory is NOT accessible by anonymous tunnels from any friend - + No one can browse this directory - + No one can anonymously access this directory. - + All friend nodes can browse this directory - + Only friend nodes in groups %1 can browse this directory - + All friend nodes can relay anonymous tunnels to this directory - + Only friend nodes in groups - + can relay anonymous tunnels to this directory - + @@ -6987,7 +7091,7 @@ p, li { white-space: pre-wrap; } Hide tabbar with one open tab - + @@ -6995,47 +7099,47 @@ p, li { white-space: pre-wrap; } Share - + Contacts: - + - + + Share channel publish permissions + + + + + You can allow your friends to publish in your channel, or send the publish permissions to another Retroshare instance of yours. Select the friends which you want to be allowed to publish in this channel. Note: it is currently not possible to revoke channel publish permissions. + + + + Please select at least one peer - + - - Share channel admin permissions - - - - + Share forum admin permissions - + You can let your friends know about your forum by sharing it with them. Select the friends with which you want to share your forum. - + Share topic admin permissions - + You can allow your friends to edit the topic. Select them in the list below. Note: it is not possible to revoke Posted admin permissions. - - - - - You can allow your friends to publish in your channel and to modify the description. Or you can send the admin permissions to another Retroshare instance. Select the friends which you want to be allowed to publish in this channel. Note: it is not possible to revoke channel admin permissions. - + @@ -7053,47 +7157,52 @@ p, li { white-space: pre-wrap; } Description - + Search Description - + Sort by Name - + Sort by Popularity - + Sort by Last Post - + Sort by Posts - + + + + + You are admin (modify names and description using Edit menu) + + + + + You have been granted as publisher (you can post here!) + Display - + - - You have admin rights - - - - + Subscribe to download and read messages - + @@ -7101,37 +7210,37 @@ p, li { white-space: pre-wrap; } and - + and / or - + or - + Name - + Path - + Extension - + Hash - + @@ -7141,57 +7250,57 @@ p, li { white-space: pre-wrap; } Size - + Popularity - + contains - + contains all - + is - + less than - + less than or equal - + equals - + greater than or equal - + greater than - + is in range - + @@ -7200,68 +7309,68 @@ p, li { white-space: pre-wrap; } Channels - + Create Channel - + Enable Auto-Download - + My Channels - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Channels</h1> <p>Channels allow you to post data (e.g. movies, music) that will spread in the network</p> <p>You can see the channels your friends are subscribed to, and you automatically forward subscribed channels to your friends. This promotes good channels in the network.</p> <p>Only the channel's creator can post on that channel. Other peers in the network can only read from it, unless the channel is private. You can however share the posting rights or the reading rights with friend Retroshare nodes.</p> <p>Channels can be made anonymous, or attached to a Retroshare identity so that readers can contact you if needed. Enable "Allow Comments" if you want to let users comment on your posts.</p> <p>Channel posts get deleted after %1 months.</p> - + Subscribed Channels - + Popular Channels - + Other Channels - + Select channel download directory - + Disable Auto-Download - + Set download directory - + [Default directory] - + Specify... - + @@ -7279,42 +7388,42 @@ p, li { white-space: pre-wrap; } TextLabel - + Open folder - + Error - + Paused - + Waiting - + Checking - + Are you sure that you want to cancel and delete the file? - + Can't open folder - + @@ -7327,12 +7436,12 @@ p, li { white-space: pre-wrap; } Filename - + Size - + @@ -7342,12 +7451,12 @@ p, li { white-space: pre-wrap; } Published - + Status - + @@ -7355,37 +7464,37 @@ p, li { white-space: pre-wrap; } Create New Channel - + Channel - + Edit Channel - + Add Channel Admins - + Select Channel Admins - + Update Channel - + Create - + @@ -7393,12 +7502,12 @@ p, li { white-space: pre-wrap; } Copy RetroShare Link - + Subscribe to Channel - + @@ -7414,17 +7523,17 @@ p, li { white-space: pre-wrap; } Channel Description - + Loading - + New Channel - + @@ -7436,8 +7545,18 @@ p, li { white-space: pre-wrap; } GxsChannelPostItem + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status - + @@ -7446,25 +7565,25 @@ p, li { white-space: pre-wrap; } - + Play - + Comments - + Copy RetroShare Link - + Unsubscribe From Channel - + @@ -7483,19 +7602,19 @@ p, li { white-space: pre-wrap; } 刪除項目 - + Channel Feed - + - + Files - + Warning! You have less than %1 hours and %2 minute before this file is deleted Consider saving it. - + @@ -7510,63 +7629,63 @@ p, li { white-space: pre-wrap; } 0 - + Comment - + I like this - + I dislike this - + - + Loading - + - + Open 開啟 Open File - + Play Media - + GxsChannelPostsWidget - + Post to Channel - + Loading - + Search channels - + - + Title 標題 @@ -7578,72 +7697,113 @@ p, li { white-space: pre-wrap; } Message - + Search Message - + Filename - + Search Filename - + No Channel Selected - + - + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Your eyes only + + + + + You and your friend nodes + + + + Disable Auto-Download - + Enable Auto-Download - + Show feeds - + Show files - + - + + Administrator: + + + + + + unknown + + + + + Distribution: + + + + Feeds 訂閱 Files - + - + Subscribers - + - + Description: 描述: - + Posts (at neighbor nodes): - + @@ -7651,7 +7811,7 @@ p, li { white-space: pre-wrap; } Channel Post - + @@ -7659,7 +7819,7 @@ p, li { white-space: pre-wrap; } Comment Container - + @@ -7672,7 +7832,7 @@ p, li { white-space: pre-wrap; } Hot - + @@ -7682,22 +7842,22 @@ p, li { white-space: pre-wrap; } Top - + Voter ID: - + Refresh - + Comment - + @@ -7717,17 +7877,17 @@ p, li { white-space: pre-wrap; } UpVotes - + DownVotes - + OwnVote - + @@ -7735,22 +7895,22 @@ p, li { white-space: pre-wrap; } Reply to Comment - + Submit Comment - + Vote Up - + Vote Down - + @@ -7758,32 +7918,32 @@ p, li { white-space: pre-wrap; } Make Comment - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt; font-weight:600;">Comment</span></p></body></html> - + Signed by - + Comment Signing Error - + You need to create an Identity before you can comment - + @@ -7791,7 +7951,7 @@ before you can comment Create New Forum - + @@ -7801,27 +7961,27 @@ before you can comment Edit Forum - + Update Forum - + Add Forum Admins - + Select Forum Admins - + Create - + @@ -7829,7 +7989,7 @@ before you can comment Subscribe to Forum - + @@ -7845,17 +8005,17 @@ before you can comment Forum Description - + Loading - + New Forum - + @@ -7869,12 +8029,12 @@ before you can comment Subject: - + Unsubscribe To Forum - + @@ -7895,17 +8055,17 @@ before you can comment In Reply to: - + Loading - + Forum Feed - + @@ -7921,9 +8081,9 @@ before you can comment 表單 - + Start new Thread for Selected Forum - + @@ -7933,21 +8093,21 @@ before you can comment Last Post - + Threaded View - + Flat View - + - + Title 標題 @@ -7960,45 +8120,45 @@ before you can comment - + Author 作者 Save image - + - + Loading - + Reply Message - + Previous Thread - + Next Thread - + Download all files - + Next unread - + @@ -8018,12 +8178,12 @@ before you can comment Content - + Search Content - + @@ -8033,32 +8193,32 @@ before you can comment Reply - + Ban this author - + This will block/hide messages from this person, and notify neighbor nodes. - + Start New Thread - + Expand all - + Collapse all - + @@ -8070,7 +8230,7 @@ before you can comment with children - + @@ -8081,7 +8241,7 @@ before you can comment Copy RetroShare Link - + @@ -8096,73 +8256,113 @@ before you can comment This message was obtained from %1 - + [Banned] - + + Anonymous/unknown node IDs reputation threshold set to 0.4 + + + + Anonymous IDs reputation threshold set to 0.4 - + Message routing info kept for 10 days - + - + + [unknown] + + + + + Public + + + + + Restricted to members of circle " + + + + + Restricted to members of circle + + + + + Only friends nodes in group + + + + + Your eyes only + + + + + Distribution + + + + Anti-spam - + [ ... Redacted message ... ] - + Anonymous - + signed - + none - + [ ... Missing Message ... ] - + <p><font color="#ff0000"><b>The author of this message (with ID %1) is banned.</b> - + <UL><li><b><font color="#ff0000">Messages from this author are not forwarded. </font></b></li> - + <li><b><font color="#ff0000">Messages from this author are replaced by this text. </font></b></li></ul> - + <p><b><font color="#ff0000">You can force the visibility and forwarding of messages by setting a different opinion for that Id in People's tab.</font></b></p> - + @@ -8172,30 +8372,30 @@ before you can comment RetroShare - + No Forum Selected! - + You cant reply to a non-existant Message - + You cant reply to an Anonymous Author - + Original Message - + @@ -8205,52 +8405,52 @@ before you can comment Sent - + Subject - + On %1, %2 wrote: - + - + Forum name - + Subscribers - + Posts (at neighbor nodes) - + - + Description - + By - + - + <p>Subscribing to the forum will gather available posts from your subscribed friends, and make the forum visible to all other friends.</p><p>Afterwards you can unsubscribe from the context menu of the forum list at left.</p> - + Reply with private message - + @@ -8258,7 +8458,7 @@ before you can comment Forum Post - + @@ -8266,7 +8466,7 @@ before you can comment <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Forums</h1> <p>Retroshare Forums look like internet forums, but they work in a decentralized way</p> <p>You see forums your friends are subscribed to, and you forward subscribed forums to your friends. This automatically promotes interesting forums in the network.</p> <p>Forum messages get deleted after %1 months.</p> - + @@ -8277,27 +8477,27 @@ before you can comment Create Forum - + My Forums - + Subscribed Forums - + Popular Forums - + Other Forums - + @@ -8305,85 +8505,85 @@ before you can comment Waiting - + Retrieving - + Loading - + GxsGroupDialog - - + + Name - + - + Add Icon - + Key recipients can publish to restricted-type group and can view and publish for private-type channels - + Share Publish Key - + - + check peers you would like to share private publish key with - + Share Key With - + - - + + Description - + - + Message Distribution - + - + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + + + + + Public - + - - - Restricted to Group - - - - - + Only For Your Friends - + - + Publish Signatures - + @@ -8393,184 +8593,253 @@ before you can comment New Thread - + Required - + Encrypted Msgs - + Personal Signatures - + PGP Required - + Signature Required - + If No Publish Signature - + - Comments - + - + Allow Comments - + No Comments - + Spam-protection - + - - <html><head/><body><p>This makes the media increase the reputation threshold to 0.4 for anonymous ids, while keeping it to 0.0 for PGP-linked ids. Therefore, anonymous ids can still post, if their local reputation score is above that threshold.</p></body></html> - - - - - Favor PGP-signed ids - + + Comments: + - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of collaborative friends to easily locate the source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - + + + TextLabel + - + + Distribution: + + + + + Anti Spam: + + + + Keep track of posts - + - - Anti spam - - - - - PGP-signed ids - - - - - Track of Posts - - - - + Contacts: - + - + + + Restricted to circle: + + + + + Limited to your friends + + + + + + Allowed + + + + + Disallowed + + + + + + Message tracking + + + + + + PGP signature required + + + + + Only friends nodes in group + + + + Please add a Name - + - + + PGP signature from known ID required + + + + Load Group Logo - + - + Submit Group Changes - + - + Failed to Prepare Group MetaData - please Review - + - + Will be used to send feedback - + Owner: - + - + Set a descriptive description here - + - + Info - + - - Comments allowed - - - - - Comments not allowed - - - - + ID - + - + Last Post - + + + + + <html><head/><body><p>Messages will spread among Retroshare nodes that host one of the identities listed as member of the circle and who also subscribe the media. Only these nodes will be able to see that this forum/channel/posted media exists. </p></body></html> + + + + + Restricted to Circle + + + + + <html><head/><body><p>Messages will only be distributed to the selected subset of your friend nodes. They will not forward messages with each other, but only use your own node as a central hub to distribute them.</p></body></html> + + + + + Posts permissions: + - Popularity - + <html><head/><body><p>This combo box allows you to choose how posts are handled depending on the node the poster belongs to.</p><p><span style=" font-weight:600;">All allowed</span>: all posts are treated equally.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs</span>: anonymous IDs will require a reputation of 0.4 to be received/forwarded.</p><p><span style=" font-weight:600;">Defavor posts from unsigned IDs and IDs from unknown nodes</span>: anonymous IDs and IDs signed by unknown Retroshare nodes will require a reputation of 0.4 to be received/forwarded.</p></body></html> + - - Posts - + + All allowed + + + + + Defavor unsigned IDs + + + + + Defavor unsigned IDs and IDs from unknown nodes + + + + + <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> + + + + + Popularity + - Type - 類型 + Posts + - + Type + 類型 + + + Author 作者 GxsIdLabel - + @@ -8578,32 +8847,32 @@ before you can comment Loading - + Todo - + Print - + PrintPreview - + Unsubscribe - + Subscribe - + @@ -8613,17 +8882,22 @@ before you can comment Show Details - + Edit Details - + - + + Share publish permissions + + + + Copy RetroShare Link - + @@ -8633,91 +8907,86 @@ before you can comment Mark all as unread - + - + AUTHD - - - - - Share admin permissions - + GxsIdChooser - + No Signature - + - + Create new Identity - + GxsIdDetails - + Loading - + Not found - + No Signature - + [Banned] - + Authentication - + unknown Key - + anonymous - + Identity&nbsp;name - + Identity&nbsp;Id - + Signed&nbsp;by - + [Unknown] - + @@ -8725,7 +8994,7 @@ before you can comment Loading - + @@ -8738,42 +9007,42 @@ before you can comment Authenticated tunnels: - + Tunnel ID: %1 - + from: %1 - + to: %1 - + status: %1 - + total sent: %1 bytes - + total recv: %1 bytes - + Unknown Peer - + @@ -8782,17 +9051,17 @@ before you can comment Drop file error. - + Directory can't be dropped, only files are accepted. - + File not found or file name not accepted. - + @@ -8801,22 +9070,22 @@ before you can comment RetroShare Help - + Find: - + Find Previous - + Find Next - + @@ -8826,141 +9095,141 @@ before you can comment Whole words only - + Contents - + Help Topics - + Search - + Searching for: - + Found Documents - + Back - + Move to previous page (Backspace) - + Backspace - + Forward - + Move to next page (Shift+Backspace) - + Shift+Backspace - + Home - + Move to the Home page (Ctrl+H) - + Ctrl+H - + Find - + Search for a word or phrase on current page (Ctrl+F) - + Ctrl+F - + Close - + Close Vidalia Help - + Esc - + Supplied XML file is not a valid Contents document. - + Search reached end of document - + Search reached start of document - + Text not found in document - + Found %1 results - + Error Loading Help Contents: - + @@ -8973,22 +9242,22 @@ before you can comment Authors - + Thanks to - + Translation - + License Agreement - + @@ -8997,14 +9266,14 @@ before you can comment p, li { white-space: pre-wrap; } </style></head><body style=" font-size:8pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:9pt; font-weight:600;">About RetroShare</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">RetroShare Translations:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net/wiki/index.php/Translation"><span style=" text-decoration: underline; color:#0000ff;">http://retroshare.sourceforge.net/wiki/index.php/Translation</span></a></p> @@ -9015,14 +9284,14 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Swedish: </span><span style=" font-size:8pt;"> Daniel Wester</span><span style=" font-size:8pt; font-weight:600;"> &lt;</span><span style=" font-size:8pt;">wester@speedmail.se</span><span style=" font-size:8pt; font-weight:600;">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">German: </span><span style=" font-size:8pt;">Jan</span><span style=" font-size:8pt; font-weight:600;"> </span><span style=" font-size:8pt;">Keller</span> &lt;<span style=" font-size:8pt;">trilarion@users.sourceforge.net</span>&gt;</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Polish: </span>Maciej Mrug</p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">RetroShare is an Open Source cross-platform, </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">private and secure decentralized commmunication platform. </span></p> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">It lets you share securely your friends, </span></p> @@ -9032,16 +9301,16 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Useful external links to more information:</span></p> <ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-size:8pt;" align="justify" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net"><span style=" font-size:12pt; text-decoration: underline; color:#0000ff;">Retroshare Webpage</span></a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Wiki</a></li> -<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> +<li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare's Forum</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">Retroshare Project Page</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Team Blog</a></li> <li style=" font-size:12pt; text-decoration: underline; color:#0000ff;" align="justify" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="http://retroshare.sourceforge.net">RetroShare Dev Twitter</a></li></ul></body></html> - + Libraries - + @@ -9049,51 +9318,51 @@ p, li { white-space: pre-wrap; } Opening External Link - + RetroShare can open the link you selected in your default Web browser. If your browser is not currently configured to use Tor then the request will not be anonymous. - + Do you want Retroshare to open the link in your Web browser? - + Unable to Open Link - + RetroShare was unable to open the selected link in your Web browser. You can still copy the URL and paste it into your browser. - + Error opening help file: - + IdDetailsDialog - + Person Details - + Identity Info - + Owner node ID : - + @@ -9103,61 +9372,61 @@ p, li { white-space: pre-wrap; } Owner node name : - + Identity name : - + Identity ID : - + Last used: - + Your Avatar Click here to change your avatar - + Reputation - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself,</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">and is shared among friends. A final score is calculated according to a formula that accounts your own opinion and your friends' opinions about someone:</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> S = own_opinion * a + friends_opinion * (1-a)</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The factor 'a' depends on the type of ID. </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- anonymous IDs: </p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">- PGP-signed IDs by unknown PGP keys: a=</p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> @@ -9167,217 +9436,250 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.2: Posts are hidden, but still transmitted</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">S &lt; 0.0: </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall rating is computed in such a way that it is not possible for a single person to deterministically change someone's status at neighbor nodes.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + Unknown real name - + Anonymous Id - + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Owned by a friend Retroshare node - + Owned by 2-hops Retroshare node - + Owned by unknown Retroshare node - + Anonymous identity - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + OK - + Banned - + IdDialog - + + New ID - + - - + + All - + Reputation - + Search - + - - Unknown real name - - - - + Anonymous Id - + - + Create new Identity - + + + + + Create new circle + Persons - + - + + Person + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + - + + + + Circles + + + + + Circle name + + + + + Membership + + + + + Public Circles + + + + + Personal Circles + + + + Edit identity - + Delete identity - + Chat with this peer - + Launches a distant chat with this peer - + - + Owner node ID : - + Identity name : - + - + () - + - + Identity ID - + - + Send message - + - + Identity info - + Identity ID : - + Owner node name : - + @@ -9387,277 +9689,480 @@ p, li { white-space: pre-wrap; } Send Invite - + - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - + Your opinion: - + Neighbor nodes: - + Negative - + Neutral - + Positive - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - + Overall: - + - - Contacts - - - - - Owned by you - - - - + Anonymous - + - + ID - + Search ID - + - + This identity is owned by you - + - - Unknown PGP key - + + My own identities + + + + + My contacts + + + + + Owned by myself + - - Unknown key ID - + Linked to my node + - + + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit <b>pseudo-anonymous identities</b>, and <b>circles</b>.</p> <p><b>Identities</b> are used to securely identify your data: sign messages in chat lobbies, forum and channel posts, receive feedback using the Retroshare built-in email system, post comments after channel posts, chat using secured tunnels, etc.</p> <p>Identities can optionally be <b>signed</b> by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address.</p> <p><b>Anonymous identities</b> allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity.</p> <p><b>External circles</b> are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be used to restrict the visibility to forums, channels, etc. </p> <p>An <b>external circle</b> can be restricted to another circle, thereby limiting its visibility to members of that circle or even self-restricted, meaning that it is only visible to its members.</p> <p>A <b>local circle</b> is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.</p> + + + + + Other circles + + + + + Circles I belong to + + + + + Circle ID: + + + + + Visibility: + + + + + Private (only visible to invited members) + + + + + Only visible to full members of circle + + + + + Public + + + + + Your role: + + + + + Administrator (Can edit invite list, and request membership). + + + + + User (Can only request membership). + + + + + Distribution: + + + + + subscribed (Receive/forward membership requests from others and invite list). + + + + + unsubscribed (Only receive invite list). + + + + + Your status: + + + + + Full member (you have access to data limited to this circle) + + + + + Not a member (do not have access to data limited to this circle) + + + + + Unknown ID : + + + + + Identity ID: + + + + + Status: + + + + + Full member + + + + + Invited by admin + + + + + Subscription request pending + + + + + unknown + + + + + Invited + + + + + Subscription pending + + + + + Member + + + + + Edit Circle + + + + + See details + + + + + Request subscription + + + + + Accept circle invitation + + + + + Quit this circle + + + + + Cancel subscribe request + + + + + + + + for identity + + + + + Revoke this member + + + + + Grant membership + + + + + +This identity has a unsecure fingerprint (It's probably quite old). +You should get rid of it now and use a new one. +These identities will soon be not supported anymore. + + + + + + [Unknown node] + + + + + + Unverified signature from node + + + + + + Unchecked signature + + + + + [unverified] + + + + Identity owned by you, linked to your Retroshare node - + Anonymous identity, owned by you - + Anonymous identity - + OK - + Banned - + - + Add to Contacts - + Remove from Contacts - + Set positive opinion - + Set neutral opinion - + Set negative opinion - + Distant chat cannot work - + Error code - + Hi,<br>I want to be friends with you on RetroShare.<br> - + You have a friend invite - + Respond now: - + Thanks, <br> - + - - - - + + + + People - + Your Avatar Click here to change your avatar - + - - Linked to your node - - - - + Linked to neighbor nodes - + Linked to distant nodes - + - - <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Identities</h1> <p>In this tab you can create/edit pseudo-anonymous identities. </p> <p>Identities are used to securely identify your data: sign forum and channel posts, and receive feedback using Retroshare built-in email system, post comments after channel posts, etc.</p> <p> Identities can optionally be signed by your Retroshare node's certificate. Signed identities are easier to trust but are easily linked to your node's IP address. </p> <p> Anonymous identities allow you to anonymously interact with other users. They cannot be spoofed, but noone can prove who really owns a given identity. </p> - - - - + Linked to a friend Retroshare node - + Linked to a known Retroshare node - + Linked to unknown Retroshare node - + - + Chat with this person - + Chat with this person as... - + Distant chat refused with this person. - + Last used: - + - + +50 Known PGP - + +10 UnKnown PGP - + +5 Anon Id - + - + Do you really want to delete this identity? - + - + Owned by - + - + Node name: - + Node Id : - + - + Really delete? - + @@ -9665,43 +10170,43 @@ p, li { white-space: pre-wrap; } Nickname - + Key ID - + PGP Name - + PGP Hash - + PGP Id - + Pseudonym - + New identity - + To be generated - + @@ -9714,38 +10219,38 @@ p, li { white-space: pre-wrap; } N/A - + Edit identity - + Error getting key! - + Error KeyID invalid - + Unknown GpgId - + Unknown real name - + Create New Identity - + @@ -9760,7 +10265,7 @@ p, li { white-space: pre-wrap; } TextLabel - + @@ -9769,7 +10274,7 @@ p, li { white-space: pre-wrap; } RM - + @@ -9780,32 +10285,32 @@ p, li { white-space: pre-wrap; } Your Avatar Click here to change your avatar - + Set Avatar - + Linked to your profile - + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. - + The nickname is too short. Please input at least %1 characters. - + The nickname is too long. Please reduce the length to %1 characters. - + @@ -9813,17 +10318,17 @@ p, li { white-space: pre-wrap; } Name - + KeyId - + GXSId - + @@ -9833,27 +10338,27 @@ p, li { white-space: pre-wrap; } - + GXS name: - + - - + + PGP name: - + - + GXS id: - + - + PGP id: - + @@ -9862,11 +10367,11 @@ p, li { white-space: pre-wrap; } Message History - + - + Copy 複製 @@ -9878,7 +10383,7 @@ p, li { white-space: pre-wrap; } Mark all - + @@ -9888,12 +10393,12 @@ p, li { white-space: pre-wrap; } Clear history - + Send - + @@ -9902,17 +10407,17 @@ p, li { white-space: pre-wrap; } Save image - + Cannot save the image, invalid filename - + Not an image - + @@ -9921,69 +10426,69 @@ p, li { white-space: pre-wrap; } Open File - + Open Folder - + Edit Share Permissions - + Checking... - + Check files - + Edit Shared Folder - + Recommend in a message to - + Set command for opening this file - + Collection - + MainWindow - + Add Friend - + Add a Friend Wizard - + Add Share - + - + Options 選項 @@ -9991,7 +10496,7 @@ p, li { white-space: pre-wrap; } Messenger - + @@ -10002,34 +10507,34 @@ p, li { white-space: pre-wrap; } SMPlayer - + Quit - + Quick Start Wizard - + - + RetroShare %1 a secure decentralized communication platform - + - + Unfinished - + Low disk space warning - + @@ -10038,107 +10543,107 @@ p, li { white-space: pre-wrap; } RetroShare will now safely suspend any disk access to this directory. Please make some free space and click Ok. - + Show/Hide - + Status - + Notify - + Open Messenger - + Open Messages - + Bandwidth Graph - + Applications - + Help - + Minimize - + Maximize - + &Quit - + RetroShare - + %1 new message - + %1 new messages - + Down: %1 (kB/s) - + Up: %1 (kB/s) - + %1 friend connected - + %1 friends connected - + Do you really want to exit RetroShare ? - + - + Internal Error - + @@ -10153,370 +10658,370 @@ p, li { white-space: pre-wrap; } Make sure this link has not been forged to drag you to a malicious website. - + Don't ask me again - + It seems to be an old RetroShare link. Please use copy instead. - + The file link is malformed. - + ServicePermissions - + Service permissions matrix - + - + Add 添加 Statistics - + Show web interface - + The disk space in your - + directory is running low (current limit is - + Really quit ? - + MessageComposer - + Compose - + Contacts - + Paragraph - + Heading 1 - + Heading 2 - + Heading 3 - + Heading 4 - + Heading 5 - + Heading 6 - + Font size - + Increase font size - + Decrease font size - + Bold - + Italic - + Alignment - + Add an Image - + Sets text font to code style - + Underline - + Subject: - + Tags: - + - + Tags - + Address list: - + Recommend this friend - + Set Text color - + Set Text background color - + Recommended Files - + File Name - + Size - + Hash - + Send - + Send this message now - + Reply - + Toggle Contacts View - + Save - + Save this message - + Attach - + Attach File - + Quote - + Add Blockquote - + Send To: - + &Left - + C&enter - + &Right - + &Justify - + All addresses (mixed) - + All people - + My contacts - + Hello,<br>I recommend a good friend of mine; you can trust them too when you trust me. <br> - + You have a friend recommendation - + This friend is suggested by - + wants to be friends with you on RetroShare - + Hi %1,<br><br>%2 wants to be friends with you on RetroShare.<br><br>Respond now:<br>%3<br><br>Thanks,<br>The RetroShare Team - + - + Save Message - + Message has not been Sent. Do you want to save message to draft box? - + Paste RetroShare Link - + Add to "To" - + Add to "CC" - + Add to "BCC" - + Add as Recommend - + Original Message - + @@ -10528,62 +11033,62 @@ Do you want to save message to draft box? To - + Cc - + Sent - + Subject - + On %1, %2 wrote: - + Re: - + Fwd: - + RetroShare - + Do you want to send the message without a subject ? - + Please insert at least one recipient. - + Bcc - + @@ -10593,164 +11098,164 @@ Do you want to save message to draft box? &File - + &New - + &Open... - + &Save - + Save &As File - + Save &As Draft - + &Print... - + &Export PDF... - + &Quit - + &Edit - + &Undo - + &Redo - + Cu&t - + &Copy - + &Paste - + &View - + &Contacts Sidebar - + &Insert - + &Image - + &Horizontal Line - + &Format - + Details - + Open File... - + HTML-Files (*.htm *.html);;All Files (*) - + Save as... - + Print Document - + Export PDF - + Message has not been Sent. Do you want to save message ? - + Choose Image - + Image Files supported (*.png *.jpeg *.jpg *.gif) - + Add Extra File - + Close - + @@ -10758,74 +11263,74 @@ Do you want to save message ? 從: - + Friend Nodes - + Bullet list (disc) - + Bullet list (circle) - + Bullet list (square) - + Ordered list (decimal) - + Ordered list (alpha lower) - + Ordered list (alpha upper) - + Ordered list (roman lower) - + Ordered list (roman upper) - + Thanks, <br> - + - + Distant identity: - + [Missing] - + Please create an identity to sign distant messages, or remove the distant peers from the destination list. - + Node name & id: - + @@ -10833,27 +11338,27 @@ Do you want to save message ? Everyone - + Contacts - + Nobody - + Accept encrypted distant messages from - + Reading - + @@ -10863,17 +11368,17 @@ Do you want to save message ? Open messages in - + Tags - + Tags can be used to categorize and prioritize your messages - + @@ -10893,37 +11398,37 @@ Do you want to save message ? Default - + A new tab - + A new window - + Edit Tag - + Message - + Distant messages: - + Load embedded images - + @@ -10931,7 +11436,7 @@ Do you want to save message ? Sub: - + @@ -10939,7 +11444,7 @@ Do you want to save message ? Message - + @@ -10947,17 +11452,17 @@ Do you want to save message ? Recommended Files - + Download all Recommended Files - + Subject: - + @@ -10972,57 +11477,57 @@ Do you want to save message ? Cc: - + Bcc: - + Tags: - + File Name - + Size - + Hash - + Print - + Print Preview - + Confirm %1 as friend - + Add %1 as friend - + No subject - + @@ -11033,37 +11538,37 @@ Do you want to save message ? Download all - + Print Document - + Save as... - + HTML-Files (*.htm *.html);;All Files (*) - + Load images always for this message - + Hide the attachment pane - + Show the attachment pane - + @@ -11071,47 +11576,47 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Forward - + Remove selected message - + @@ -11121,81 +11626,81 @@ Do you want to save message ? Print selected message - + Print - + Display - + Tags - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + &File - + Save &As File - + &Print... - + Print Preview... - + &Quit - + @@ -11204,47 +11709,47 @@ Do you want to save message ? New Message - + Compose - + Reply to selected message - + Reply - + Reply all to selected message - + Reply all - + Forward selected message - + Foward - + Remove selected message - + @@ -11254,17 +11759,17 @@ Do you want to save message ? Print selected message - + Print - + Display - + @@ -11273,7 +11778,7 @@ Do you want to save message ? Tags - + @@ -11281,7 +11786,7 @@ Do you want to save message ? Inbox - + @@ -11289,18 +11794,18 @@ Do you want to save message ? Outbox - + Draft - + Sent - + @@ -11308,86 +11813,86 @@ Do you want to save message ? Trash - + Total Inbox: - + Folders - + Quick View - + Print... - + Print Preview - + Buttons Icon Only - + Buttons Text Beside Icon - + Buttons with Text - + Buttons Text Under Icon - + Set Text Under Icon - + Save As... - + Reply to Message - + Reply to All - + Forward Message - + Subject - + @@ -11406,58 +11911,58 @@ Do you want to save message ? Content - + Click to sort by attachments - + Click to sort by subject - + Click to sort by read - + Click to sort by from - + Click to sort by date - + Click to sort by tags - + Click to sort by star - + Forward selected Message - + Search Subject - + Search From - + @@ -11467,47 +11972,47 @@ Do you want to save message ? Search Content - + Search Tags - + Attachments - + Search Attachments - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;Messages</h1> <p>Retroshare has its own internal email system. You can send/receive emails to/from connected friend nodes.</p> <p>It is also possible to send messages to other people's Identities using the global routing system. These messages are always encrypted and signed, and are relayed by intermediate nodes until they reach their final destination. </p> <p>Distant messages stay into your Outbox until an acknowledgement of receipt has been received.</p> <p>Generally, you may use messages to recommend files to your friends by pasting file links, or recommend friend nodes to other friend nodes, in order to strenghten your network, or send feedback to a channel's owner.</p> - + Starred - + System - + Open in a new window - + Open in a new tab - + @@ -11522,7 +12027,7 @@ Do you want to save message ? Add Star - + @@ -11532,59 +12037,59 @@ Do you want to save message ? Edit as new - + Remove Messages - + Remove Message - + Undelete - + Empty trash - + Drafts - + No starred messages available. Stars let you give messages a special status to make them easier to find. To star a message, click on the light gray star beside any message. - + No system messages available. - + To - + Click to sort by to - + This message goes to a distant person. - + @@ -11593,33 +12098,33 @@ Do you want to save message ? Total: - + Messages - + Click to sort by signature - + This message was signed and the signature checks - + This message was signed but the signature doesn't check - + This message comes from a distant person. - + @@ -11627,17 +12132,17 @@ Do you want to save message ? RetroShare Messenger - + - + Add a Friend - + Share files for your friends - + @@ -11645,27 +12150,27 @@ Do you want to save message ? Paste as plain text - + Spoiler - + Select text to hide, then push this button - + Paste RetroShare Link - + Paste my certificate link - + @@ -11673,22 +12178,22 @@ Do you want to save message ? Reply to Message - + Reply Message - + Delete Message - + Play Media - + @@ -11704,22 +12209,22 @@ Do you want to save message ? Message From - + Sent Msg - + Draft Msg - + Pending Msg - + @@ -11732,52 +12237,52 @@ Do you want to save message ? <strong>NAT:</strong> - + Network Status Unknown - + Offline - + Nasty Firewall - + DHT Disabled and Firewalled - + Network Restarting - + Behind Firewall - + DHT Disabled - + RetroShare Server - + Forwarded Port - + @@ -11785,146 +12290,146 @@ Do you want to save message ? Filter: - + Search Network - + Name - + Did I authenticated peer - + Did I sign his PGP key - + Did peer authenticated me - + Cert Id - + Last used - + Clear - + Set Tabs Right - + Set Tabs North - + Set Tabs South - + Set Tabs Left - + Set Tabs Rounded - + Set Tabs Triangular - + Add Friend - + Copy My Key to Clipboard - + Export My Key - + Create New Profile - + Create a new Profile - + Peer ID - + Deny friend - + Peer details... - + Remove unused keys... - + Clean keyring - + - The selected keys below haven't been used in the last 3 months. + The selected keys below haven't been used in the last 3 months. Do you want to delete them permanently ? Notes: Your old keyring will be backed up. The removal may fail when running multiple Retroshare instances on the same machine. - + Keyring info - + @@ -11932,7 +12437,7 @@ Notes: Your old keyring will be backed up. For security, your keyring was previously backed-up to file - + @@ -11942,42 +12447,42 @@ For security, your keyring was previously backed-up to file Cannot delete secret keys - + Cannot create backup file. Check for permissions in pgp directory, disk space, etc. - + Personal signature - + PGP key signed by you - + Marginally trusted peer - + Fully trusted peer - + Untrusted peer - + Has authenticated me - + @@ -11987,12 +12492,12 @@ For security, your keyring was previously backed-up to file Last hour - + Today - + @@ -12002,95 +12507,95 @@ For security, your keyring was previously backed-up to file %1 days ago - + has authenticated you. Right-click and select 'make friend' to be able to connect. - + yourself - + Data inconsistency in the keyring. This is most probably a bug. Please contact the developers. - + Export/create a new node - + Trusted keys only - + Trust level - + Do you accept connections signed by this key? - + Name of the key - + Certificat ID - + Make friend... - + Did peer authenticate you - + This column indicates trust level and whether you signed their PGP key - + Did that peer sign your PGP key - + Since when I use this certificate - + Search name - + Search peer ID - + Key removal has failed. Your keyring remains intact. Reported error: - + @@ -12098,7 +12603,7 @@ Reported error: Network - + @@ -12106,22 +12611,22 @@ Reported error: Redraw - + Friendship level: - + Edge length: - + Freeze - + @@ -12129,7 +12634,7 @@ Reported error: New Tag - + @@ -12139,12 +12644,12 @@ Reported error: Choose color - + OK - + @@ -12157,7 +12662,7 @@ Reported error: News Feed - + @@ -12167,32 +12672,32 @@ Reported error: Remove All - + This is a test. - + News feed - + Newest on top - + Oldest on top - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;News Feed</h1> <p>The News Feed displays the last events on your network, sorted by the time you received them. This gives you a summary of the activity of your friends. You can configure which events to show by pressing on <b>Options</b>. </p> <p>The various events shown are: <ul> <li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> <li>Channel and Forum posts</li> <li>New Channels and Forums you can subscribe to</li> <li>Private messages from your friends</li> </ul> </p> - + @@ -12200,12 +12705,12 @@ Reported error: News Feed - + Channels - + @@ -12215,22 +12720,22 @@ Reported error: Blogs - + Messages - + Chat - + Security - + @@ -12241,145 +12746,145 @@ Reported error: Systray Icon - + Message - + Connect attempt - + Toasters - + Friend Connect - + Ip security - + New Message - + Download completed - + Private Chat - + Group Chat - + Chat Lobby - + Position - + X Margin - + Y Margin - + Systray message - + Group chat - + Chat lobbies - + Combined - + Blink - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Notify</h1> <p>Retroshare will notify you about what happens in your network. Depending on your usage, you may want to enable or disable some of the notifications. This page is designed for that!</p> - + Top Left - + Top Right - + Bottom Left - + Bottom Right - + Notify - + Disable All Toasters - + Posted - + Disable All Toaster temporarily - + @@ -12389,70 +12894,70 @@ Reported error: Systray - + Chat Lobbies - + Count all unread messages - + Count occurences of any of the following texts (separate by newlines): - + Count occurences of my current identity - + NotifyQt - + PGP key passphrase - + Wrong password ! - + Unregistered plugin/executable - + RetroShare has detected an unregistered plugin. This happens in two cases:<UL><LI>Your RetroShare executable has changed.</LI><LI>The plugin has changed</LI></UL>Click on Yes to authorize this plugin, or No to deny it. You can change your mind later in Options -> Plugins, then restart. - + - + Please check your system clock. - + - + Examining shared files... - + Hashing file - + Saving file index... - + @@ -12462,28 +12967,28 @@ Reported error: This is a test. - + Unknown title - + Encrypted message - + - + Please enter your PGP password for key - + - + For the chat lobbies to work properly, the time of your computer needs to be correct. Please check that this is the case (A possible time shift of several minutes was detected with your friends). - + @@ -12491,7 +12996,7 @@ Reported error: Friend Online - + @@ -12499,30 +13004,30 @@ Reported error: Normal Mode - + No Anon D/L - + Gaming Mode - + Low Traffic - + - Use this DropList to quickly change Retroshare's behaviour + Use this DropList to quickly change Retroshare's behaviour No Anon D/L: switches off file forwarding Gaming Mode: 25% standard traffic and TODO: reduced popups Low Traffic: 10% standard traffic and TODO: pauses all file-transfers - + @@ -12530,42 +13035,42 @@ Reported error: Dialog - + PGP Key info - + PGP name : - + Fingerprint : - + <html><head/><body><p>The PGP key fingerprint is a---supposedly unforgeable---characteristics of the PGP key. In order to make sure that you're dealing with the right key, compare the fingerprints.</p></body></html> - + Trust level: - + <html><head/><body><p>The trust level is an optional and local parameter that you can set in order to remember your option about a given PGP key. It is not used whatsoever to authorize connections. </p></body></html> - + Unset - + @@ -12575,187 +13080,248 @@ Reported error: No trust - + Marginal - + Full - + Ultimate - + Key signatures : - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. The signatures below cryptographically attest that owners of the listed keys recognise the current PGP key as authentic.</span></p></body></html> - + - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> <p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign this PGP key - + <html><head/><body><p><span style=" font-size:10pt;">Signing a friend's key is a way to express your trust into this friend, to your other friends. It helps them to decide whether to allow connections from that key based on your own trust. Signing a key is absolutely optional and cannot be undone, so do it wisely.</span></p></body></html> - + Sign PGP key - + <html><head/><body><p>Click here if you want to refuse connections to nodes authenticated by this key.</p></body></html> - + Deny connections - + <html><head/><body><p>Click this if you want your node to accept connecting to Retroshare nodes authenticated by this PGP key. This is done automatically when exchanging your Retroshare certificate with someone. In order to make friends, it is better to exchange certificates than accept connections from a given key, since the certificate also contain useful connection information (IP, DNS, SSL ids, etc).</p></body></html> - + Accept connections - + ASCII format - + - + + Below is the node's PGP key. It identifies the node and all its locations. A "Retroshare certificate" that you can exchange in order to make friends, is in the the "details" of each separate location. + + + + <html><head/><body><p>This button will toggle the inclusion of signatures in the ascii display of the PGP key. See the comments about signatures in the other tab. </p></body></html> - + Include signatures - + + + + + Options + 選項 + + + + These options apply to all locations of the same node: + + + + + <html><head/><body><p align="justify">Retroshare periodically checks your friend lists for browsable files matching your transfers, to establish a direct transfer. In this case, your friend knows you're downloading the file.</p><p align="justify">To prevent this behavior for this friend only, uncheck this box. You can still perform a direct transfer if you explicitly ask for it, by e.g. downloading from your friend's file list. This setting is applied to all locations of the same node.</p></body></html> + + + + + Use as direct source, when available + + + + + <html><head/><body><p>This option allows you to automatically download a file that is recommended in an message coming from this node. This can be used for instance to send files between your own nodes. Applied to all locations of the same node.</p></body></html> + + + + + Auto-download recommended files from this node + + + + + <html><head/><body><p>Peers that have this option cannot connect if their connection address is not in the whitelist. This protects you from traffic forwarding attacks. When used, rejected peers will be reported by &quot;security feed items&quot; in the News Feed section. From there, you can whitelist/blacklist their IP. Applies to all locations of the same node.</p></body></html> + + + + + Require white list clearance + + + + + Max upload speed (0=unlimited) + + + + + Max download speed (0=unlimited) + + + + + + kB/s + PGP Key details - + - - + + RetroShare - + - - - + + + Error : cannot get peer details. - + - + The supplied key algorithm is not supported by RetroShare (Only RSA keys are supported at the moment) - + - + The trust level is a way to express your own trust in this key. It is not used by the software nor shared, but can be useful to you in order to remember good/bad keys. - + Your trust in this peer is ultimate - + Your trust in this peer is full. - + Your trust in this peer is marginal. - + Your trust in this peer is none. - + - + This key has signed your own PGP key - + <p>This PGP key (ID= - + You have chosen to accept connections from Retroshare nodes signed by this key. - + You are currently not allowing connections from Retroshare nodes signed by this key. - + - + Signature Failure - + Maybe password is wrong - + - + You haven't set a trust level for this key. - + This is your own PGP key, and it is signed by : - + This key is signed by : - + @@ -12776,12 +13342,12 @@ p, li { white-space: pre-wrap; } Chat - + Start Chat - + @@ -12802,62 +13368,62 @@ p, li { white-space: pre-wrap; } Peer ID: - + Trust: - + Location: - + IP Address: - + Connection Method: - + Status: - + Write Message - + Friend - + Friend Connected - + Connect Attempt - + Friend of Friend - + Peer - + @@ -12870,7 +13436,7 @@ p, li { white-space: pre-wrap; } Unknown Peer - + @@ -12880,7 +13446,7 @@ p, li { white-space: pre-wrap; } Send Message - + @@ -12888,42 +13454,96 @@ p, li { white-space: pre-wrap; } Friends: 0/0 - + Online Friends/Total Friends - + Friends - + PeopleDialog - + + People - - - - - External - + Drag your circles or people to each other. - + Internal - + + + + + Chat with this person + + + + + Chat with this person as... + + + + + Send message to this person + + + + + Person details + + + + + Distant chat cannot work + + + + + Distant chat refused with this person. + + + + + Error code + + + + + PeoplePage + + + Identities handling + + + + + ban all identities of a node when more than + + + + + of them have a negative opinion + + + + + People + @@ -12939,47 +13559,47 @@ p, li { white-space: pre-wrap; } PhotoShare - + Photo - + TextLabel - + Comment - + Summary - + Caption - + Where: - + Photo Title: - + When - + @@ -12989,12 +13609,12 @@ p, li { white-space: pre-wrap; } Add Comment - + Write a comment... - + @@ -13007,34 +13627,34 @@ p, li { white-space: pre-wrap; } TextLabel - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photo Title :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Photographer :</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; font-weight:600;">Author :</span></p></body></html> - + @@ -13047,53 +13667,53 @@ p, li { white-space: pre-wrap; } Create Album - + View Album - + Subscribe To Album - + Slide Show - + My Albums - + Subscribed Albums - + Shared Albums - + View Photo - + PhotoShare - + Please select an album before requesting to edit it! - + @@ -13101,53 +13721,53 @@ requesting to edit it! Album Name - + Image - + Show/Hide Details - + << - + Stop - + >> - + Close - + Start - + Start Slide Show - + Stop Slide Show - + @@ -13163,51 +13783,51 @@ requesting to edit it! TextLabel - + Show more details about this plugin - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="more"><span style=" font-size:8pt; text-decoration: underline; color:#0000ff;">More</span></a></p></body></html> - + Enable this plugin (restart required) - + Enable - + Disable this plugin (restart required) - + Disable - + Launch configuration panel, if provided by the plugin - + Configure - + @@ -13217,22 +13837,22 @@ p, li { white-space: pre-wrap; } File name: - + File hash: - + Status: - + will be enabled after your restart RetroShare. - + @@ -13240,37 +13860,37 @@ p, li { white-space: pre-wrap; } base folder %1 doesn't exist, default load failed - + Error: instance '%1'can't create a widget - + Error: no plugin with name '%1' found - + Error(uninstall): no plugin with name '%1' found - + Error(installation): plugin file %1 doesn't exist - + Error: failed to remove file %1(uninstalling plugin '%2') - + Error: can't copy %1 to %2 - + @@ -13278,22 +13898,22 @@ p, li { white-space: pre-wrap; } Install New Plugin... - + Open Plugin to install - + Plugins (*.so *.dll) - + Widget for plugin %1 not found on plugins frame - + @@ -13301,27 +13921,27 @@ p, li { white-space: pre-wrap; } Authorize all plugins - + Plugin look-up directories - + Plugin disabled. Click the enable button and restart Retroshare - + [disabled] - + No API number supplied. Please read plugin development manual. - + @@ -13330,37 +13950,37 @@ p, li { white-space: pre-wrap; } [loading problem] - + No SVN number supplied. Please read plugin development manual. - + Loading error. - + Missing symbol. Wrong version? - + No plugin object - + Plugins is loaded. - + Unknown status. - + @@ -13368,18 +13988,18 @@ p, li { white-space: pre-wrap; } be checked for the hash. However, in normal times, checking the hash protects you from malicious behavior of crafted plugins. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Plugins</h1> <p>Plugins are loaded from the directories listed in the bottom list.</p> <p>For security reasons, accepted plugins load automatically until the main Retroshare executable or the plugin library changes. In such a case, the user needs to confirm them again. After the program is started, you can enable a plugin manually by clicking on the "Enable" button and then restart Retroshare.</p> <p>If you want to develop your own plugins, contact the developpers team they will be happy to help you out!</p> - + Plugins - + @@ -13387,7 +14007,7 @@ malicious behavior of crafted plugins. Popularity - + @@ -13395,17 +14015,17 @@ malicious behavior of crafted plugins. Clear offline messages - + Hide Avatar - + Show Avatar - + @@ -13413,36 +14033,36 @@ malicious behavior of crafted plugins. Avatar - + Set your Avatar Picture - + Dock tab - + Undock tab - + Set Chat Window Color - + Set window on top - + @@ -13450,32 +14070,32 @@ malicious behavior of crafted plugins. Chat remotely closed. Please close this window. - + The person you're talking to has deleted the secured chat tunnel. You may remove the chat window now. - + Closing this window will end the conversation, notify the peer and remove the encrypted tunnel. - + Kill the tunnel? - + Can't send message, because there is no tunnel. - + Can't send message, because the chat partner deleted the secure tunnel. - + @@ -13483,47 +14103,47 @@ malicious behavior of crafted plugins. Signed by: - + Notes - + RetroShare - + Please create or choose a Signing Id first - + Submit Post - + You are submitting a link. The key to a successful submission is interesting content and a descriptive title. - + Submit - + Submit a new Post - + Please add a Title - + @@ -13533,7 +14153,7 @@ malicious behavior of crafted plugins. Link - + @@ -13541,42 +14161,42 @@ malicious behavior of crafted plugins. Posted Links - + Posted - + <h1><img width="32" src=":/icons/help_64.png">&nbsp;&nbsp;Posted</h1> <p>The posted service allows you to share internet links, that spread among Retroshare nodes like forums and channels</p> <p>Links can be commented by subscribed users. A promotion system also gives the opportunity to enlight important links.</p> <p>There is no restriction on which links are shared. Be careful when clicking on them.</p> <p>Posted links get deleted after %1 months.</p> - + Create Topic - + My Topics - + Subscribed Topics - + Popular Topics - + Other Topics - + @@ -13584,37 +14204,37 @@ malicious behavior of crafted plugins. Posted Topic - + Add Topic Admins - + Select Topic Admins - + Create New Topic - + Edit Topic - + Update Topic - + Create - + @@ -13622,7 +14242,7 @@ malicious behavior of crafted plugins. Subscribe to Posted - + @@ -13638,17 +14258,17 @@ malicious behavior of crafted plugins. Posted Description - + Loading - + New Posted - + @@ -13659,40 +14279,40 @@ malicious behavior of crafted plugins. PostedItem - + 0 - + Site - + - + Comments - + Comment - + Vote up - + Vote down - + \/ - + @@ -13705,9 +14325,19 @@ malicious behavior of crafted plugins. 新建 - + + New Comment: + + + + + Comment Value + + + + Toggle Message Read Status - + @@ -13715,14 +14345,14 @@ malicious behavior of crafted plugins. 刪除項目 - + Loading - + By - + @@ -13735,7 +14365,7 @@ malicious behavior of crafted plugins. Hot - + @@ -13745,37 +14375,37 @@ malicious behavior of crafted plugins. Top - + Today - + Yesterday - + This Week - + This Month - + This Year - + Submit a new Post - + @@ -13785,12 +14415,12 @@ malicious behavior of crafted plugins. RetroShare - + Please create or choose a Signing Id before Voting - + @@ -13800,7 +14430,7 @@ malicious behavior of crafted plugins. 1-10 - + @@ -13808,17 +14438,17 @@ malicious behavior of crafted plugins. Tabs - + Posted - + Open each topic in a new tab - + @@ -13826,7 +14456,7 @@ malicious behavior of crafted plugins. Posted - + @@ -13834,37 +14464,37 @@ malicious behavior of crafted plugins. RetroShare Message - Print Preview - + Print - + &Print... - + Page Setup... - + Zoom In - + Zoom Out - + &Close - + @@ -13873,39 +14503,39 @@ malicious behavior of crafted plugins. Profile Manager - + Name - + Email - + GID - + Export Identity - + RetroShare Identity files (*.asc) - + Identity saved - + @@ -13914,80 +14544,80 @@ It is encrypted You can now copy it to another computer and use the import button to load it - + Identity not saved - + Your identity was not saved. An error occurred. - + Import Identity - + Identity not loaded - + Your identity was not loaded properly: - + New identity imported - + Your identity was imported successfully: - + Select Trusted Friend - + Certificates (*.pqi *.pem) - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Select a Retroshare node key from the list below to be used on another computer, and press &quot;Export selected key.&quot;</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">To create a new location on a different computer, select the identity manager in the login window. From there you can import the key file and create a new location for that key. </p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Creating a new node with the same key allows your your friend nodes to accept you automatically.</p></body></html> - + Full keys available in your keyring: - + Export selected key - + You can use it now to create a new node. - + @@ -13996,22 +14626,22 @@ p, li { white-space: pre-wrap; } Edit status message - + Copy Certificate - + Profile Manager - + Public Information - + @@ -14021,73 +14651,73 @@ p, li { white-space: pre-wrap; } Location: - + Peer ID: - + Number of Friends: - + Version: - + Online since: - + Other Information - + My Address - + Local Address: - + External Address: - + Dynamic DNS: - + Addresses list: - + RetroShare - + Sorry, create certificate failed - + Your Cert is copied to Clipboard, paste and send it to your friend via email or some other way - + @@ -14095,51 +14725,51 @@ p, li { white-space: pre-wrap; } Post From: - + Account 1 - + Account 2 - + Account 3 - + Add to Pulse - + filter - + URL Adder - + Display As - + URL - + @@ -14149,7 +14779,7 @@ p, li { white-space: pre-wrap; } Post Pulse to Wire - + @@ -14175,118 +14805,123 @@ p, li { white-space: pre-wrap; } QObject - - - + + + Confirmation - + Do you want this link to be handled by your system? - + - + Click to add this RetroShare cert to your PGP keyring and open the Make Friend Wizard. - + - + Add file - + Add files - + Do you want to process the link ? - + Do you want to process %1 links ? - + - - This file already exists. Do you want to open it ? - + + Warning: Retroshare is about to ask your system to open this file. + - + + Before you do so, please make sure that this file does not contain malicious executable code. + + + + %1 of %2 RetroShare link processed. - + %1 of %2 RetroShare links processed. - + File added - + Files added - + File exist - + Files exist - + Friend added - + Friends added - + Friend exist - + Friends exist - + Friend not added - + Friends not added - + Friend not found - + Friends not found - + @@ -14296,184 +14931,194 @@ and open the Make Friend Wizard. Forums not found - + Forum message not found - + Forum messages not found - + Channel not found - + Channels not found - + Channel message not found - + Channel messages not found - + + + + + Posted not found + + + + + Posted message not found + + + + + Posted messages not found + Recipient not accepted - + Recipients not accepted - + Unkown recipient - + Unkown recipients - + Malformed links - + Invalid links - + Warning: forbidden characters found in filenames. Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. - + Result - + - + Unable to make path - + Unable to make path: - + Failed to process collection file - + - + Deny friend - + Make friend - + Peer details - + File Request canceled - + - + This version of RetroShare is using OpenPGP-SDK. As a side effect, it's not using the system shared PGP keyring, but has it's own keyring shared by all RetroShare instances. <br><br>You do not appear to have such a keyring, although PGP keys are mentioned by existing RetroShare accounts, probably because you just changed to this new version of the software. - + Choose between:<br><ul><li><b>Ok</b> to copy the existing keyring from gnupg (safest bet), or </li><li><b>Close without saving</b> to start fresh with an empty keyring (you will be asked to create a new PGP key to work with RetroShare, or import a previously saved pgp keypair). </li><li><b>Cancel</b> to quit and forge a keyring by yourself (needs some PGP skills)</li></ul> - + - + RetroShare - + - + Initialization failed. Wrong or missing installation of PGP. - + An unexpected error occurred. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + An unexpected error occured. Please report 'RsInit::InitRetroShare unexpected return code %1'. - + - + Multiple instances - + Another RetroShare using the same profile is already running on your system. Please close that instance first Lock file: - + An unexpected error occurred when Retroshare tried to acquire the single instance lock Lock file: - - - - - Start with a RetroShare link is only supported for Windows. - + Distant peer has closed the chat - + Tunnel is pending... - + Secured tunnel is working. You can talk! - + @@ -14481,27 +15126,27 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Reported error is: %2 - + - + Click to send a private message to %1 (%2). - + %1 (%2, Extra - Source included) - + - + Click this link to send a private message to %1 (%2) - + RetroShare Certificate (%1, @%2) - + @@ -14511,156 +15156,156 @@ Reported error is: TR up - + TR dn - + Data up - + Data dn - + Data forward - + - + You appear to have nodes associated to DSA keys: - + DSA keys are not yet supported by this version of RetroShare. All these nodes will be unusable. We're very sorry for that. - + enabled - + disabled - + Join chat lobby - + Move IP %1 to whitelist - + Whitelist entire range %1 - + whitelist entire range %1 - + - + %1 seconds ago - + %1 minute ago - + %1 minutes ago - + %1 hour ago - + %1 hours ago - + %1 day ago - + %1 days ago - + Subject: - + Participants: - + Auto Subscribe: - + Id: - + Security: no anonymous IDs - + - - + + This cert is malformed. Error code: - + The following has not been added to your download list, because you already have it: - + - + Error - + unable to parse XML file! - + @@ -14668,19 +15313,19 @@ Security: no anonymous IDs Quick Start Wizard - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Welcome to RetroShare!</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This QuickStart wizard can help you configure your RetroShare in a few simple steps.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">If you're a more advanced user, you can access the full range of RetroShare's options via the ToolBar. Click Exit to close the wizard at any time.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This wizard will assist you to:</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> @@ -14689,7 +15334,7 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Choose which files you share.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;"> </span><img src=":/images/list_bullet_arrow.png" /><span style=" font-size:8pt;"> Get started using RetroShare.</span></p></body></html> - + @@ -14697,7 +15342,7 @@ p, li { white-space: pre-wrap; } Next > - + @@ -14706,73 +15351,73 @@ p, li { white-space: pre-wrap; } Exit - + For best performance, RetroShare needs to know a little about your connection to the internet. - + Choose your download speed limit: - + KB/s - + Choose your upload speed limit: - + Connection : - + Automatic (UPnP) - + Firewalled - + Manually forwarded port - + Discovery : - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + @@ -14780,35 +15425,35 @@ p, li { white-space: pre-wrap; } < Back - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">This is a list of shared folders . You can add and remove folders using the button on the left. When you add a new folder, initially all file in that folder are shared.</span></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory:</span><span style=" font-size:8pt;"> </span></p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Browsable by friends</span><span style=" font-family:'Sans'; font-size:8pt;">: files are browsable from your direct friends.</span></p> <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">Anonymously shared</span><span style=" font-family:'Sans'; font-size:8pt;">: files can be downloaded by anybody through anonymous tunnels.</span></p></body></html> - + Directory - + Network Wide - + Browseable - + @@ -14823,110 +15468,110 @@ p, li { white-space: pre-wrap; } Automatically share incoming directory (Recommended) - + RetroShare Page Display Style - + Where do you want to have the buttons for the page? - + ToolBar View - + List View - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Enjoy using RetroShare!</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">Just one more step! You're almost done configuring RetroShare to work with your computer.</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt;">These settings configure how and when RetroShare starts .</span></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:8pt;"></p></body></html> - + Do not show a message when Closing RetroShare - + Start Minimized - + Start RetroShare when my System Starts. - + Start minimized on system start - + Finish - + Select A Folder To Share - + Shared Directory Added! - + Warning! - + Browsable - + Universal - + If checked, the share is anonymously shared to anybody. - + If checked, the share is browsable by your friends. - + @@ -14934,12 +15579,12 @@ p, li { white-space: pre-wrap; } * Network Wide: anonymously shared over the network (including your friends) * Browsable: browsable by your friends * Universal: both - + Do you really want to stop sharing this directory ? - + @@ -14947,17 +15592,17 @@ p, li { white-space: pre-wrap; } %1 KB - + %1 MB - + %1 GB - + @@ -14970,12 +15615,12 @@ p, li { white-space: pre-wrap; } The loading of embedded images is blocked. - + Load images - + @@ -14983,60 +15628,60 @@ p, li { white-space: pre-wrap; } Allowed by default - + Denied by default - + Enabled for this peer - + Disabled for this peer - + Enabled by remote peer - + Disabled by remote peer - + Globally switched Off - + Service name: - + Peer name: - + Peer Id: - + RSettingsWin - + Error Saving Configuration on page - + @@ -15044,17 +15689,17 @@ p, li { white-space: pre-wrap; } Down - + Up - + <strong>Down:</strong> 0.00 (kB/s) | <strong>Up:</strong> 0.00 (kB/s) - + @@ -15062,89 +15707,89 @@ p, li { white-space: pre-wrap; } Enable Relay Connections - + Use Relay Servers - + Relay options - + Number - + Bandwidth per link - + Total Bandwidth - + Friends - + kB/s - + Friends of Friends - + General - + Total: - + Relay Server Setup - + Add Server - + Server DHT Key - + Remove Server - + Relay - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Relays</h1> <p>By activating relays, you allow your Retroshare node to act as a bridge between Retroshare users who cannot connect directly, e.g. because they're firewalled.</p> <p>You may choose to act as a relay by checking <i>enable relay connections</i>, or simply benefit from other peers acting as relay, by checking <i>use relay servers</i>. For the former, you may specify the bandwidth allocated when acting as a relay for friends of you, for friends of your friends, or anyone in the Retroshare network.</p> <p>In any case, a Retroshare node acting as a relay cannot see the relayed traffic, since it is encrypted and authenticated by the two relayed nodes.</p> - + @@ -15157,12 +15802,12 @@ p, li { white-space: pre-wrap; } Recommend in a message to - + Collection - + @@ -15170,7 +15815,7 @@ p, li { white-space: pre-wrap; } NEW - + @@ -15178,22 +15823,22 @@ p, li { white-space: pre-wrap; } IP address not checked - + IP address is blacklisted - + IP address is not whitelisted - + IP address accepted - + @@ -15206,33 +15851,33 @@ p, li { white-space: pre-wrap; } Add IP to whitelist - + Remove IP from whitelist - + Add IP to blacklist - + Remove IP from blacklist - + Only IP - + Entire range - + @@ -15240,17 +15885,17 @@ p, li { white-space: pre-wrap; } Collection - + File name : - + Total size : - + @@ -15261,39 +15906,39 @@ p, li { white-space: pre-wrap; } Download! - + - + File - + - + Size - + Hash - + Bad filenames have been cleaned - + Some filenames or directory names contained forbidden characters. -Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. +Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replaced by '_'. Concerned files are listed in red. - + Selected files : - + @@ -15303,131 +15948,136 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace <html><head/><body><p>Add selected item to collection one by one.</p><p>Select parent dir to add this too.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Enter&gt;</span></p></body></html> - + <html><head/><body><p>Add selected item to collection.</p><p>If a directory is selected, all of his children will be added.</p><p><span style=" text-decoration: underline; vertical-align:sub;">&lt;Shift + Enter&gt;</span></p></body></html> - + >> - + <html><head/><body><p>Make a new directory in the collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;+&gt;</span></p></body></html> - + + - + Save - + - + Collection Editor - + - + + File Path + + + + File Count - + This is the root directory. - + - - - Real Size: Waiting child... - - - - + + Real Size: Waiting child... + + + + + Real File Count: Waiting child... - + This is a directory. Double-click to expand it. - + Real Size=%1 - + Real File Count=%1 - + Save Collection File. - + What do you want to do? - + Overwrite - + Merge - + Warning, selection contains more than %1 items. - + Do you want to remove them and all their children, too? <br> - + New Directory - + Enter the new directory's name - + <html><head/><body><p>Change the file where collection will be saved.</p><p>If you select an existing file, you could merge it.</p></body></html> - + File already exists. - + <html><head/><body><p>Remove selected item from collection.</p><p><span style=" font-style:italic; vertical-align:sub;">&lt;Del&gt;</span></p></body></html> - + @@ -15436,17 +16086,17 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Cannot open file %1 - + Error parsing xml file - + Open collection file - + @@ -15454,41 +16104,41 @@ Characters <b>",|,/,\,&lt;,&gt;,*,?</b> will be replace Collection files - + Create collection file - + This file contains the string "%1" and is therefore an invalid collection file. If you believe it is correct, remove the corresponding line from the file and re-open it with Retroshare. - + Save Collection File. - + What do you want to do? - + Overwrite - + Merge - + @@ -15498,16 +16148,16 @@ If you believe it is correct, remove the corresponding line from the file and re File already exists. - + RsHtml - + Image is oversized for transmission. Reducing image to %1x%2 pixels? - + @@ -15515,85 +16165,94 @@ Reducing image to %1x%2 pixels? Invalid format - + Rshare - + Resets ALL stored RetroShare settings. - + Sets the directory RetroShare uses for data files. - + Sets the name and location of RetroShare's logfile. - + Sets the verbosity of RetroShare's logging. - + Sets RetroShare's interface style. - + Sets RetroShare's interface stylesheets. - + Sets RetroShare's language. - + RetroShare Usage Information - + - + Unable to open log file '%1': %2 - + built-in - + Could not create data directory: %1 - + - + Revision - + - + Invalid language code specified: - + Invalid GUI style specified: - + Invalid log level specified: - + + + + + RshareSettings + + + + Registry Access Error. Maybe you need Administrator right. + @@ -15609,98 +16268,98 @@ Reducing image to %1x%2 pixels? Enter a keyword here (at least 3 char long) - + Start Search - + Search - + Advanced Search - + Advanced - + Search inside "browsable" files of your friends - + Browsable files - + Multi-hop search at distance 6 in the network (always reports available files) - + Distant - + Include files from your own file list in the search result - + Own files - + Close all Search Results - + Clear - + KeyWords - + Results - + Search Id - + Filename - + Size - + Sources - + @@ -15710,87 +16369,87 @@ Reducing image to %1x%2 pixels? Age - + Hash - + Filter: - + Filter Search Result - + Max results: - + Any - + Archive - + Audio - + CD-Image - + Document - + Picture - + Program - + Video - + Directory - + Download Selected - + Download selected - + File Name - + @@ -15801,12 +16460,12 @@ Reducing image to %1x%2 pixels? Copy RetroShare Link - + Send RetroShare Link - + @@ -15816,24 +16475,24 @@ Reducing image to %1x%2 pixels? Skipping Local Files - + Sorry - + This function is not yet implemented. - + Search again - + @@ -15843,7 +16502,7 @@ Reducing image to %1x%2 pixels? Remove All - + @@ -15854,37 +16513,37 @@ Reducing image to %1x%2 pixels? New RetroShare Link(s) - + Open Folder - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + Collection - + @@ -15892,7 +16551,7 @@ Reducing image to %1x%2 pixels? Peer details - + @@ -15908,29 +16567,29 @@ Reducing image to %1x%2 pixels? IP address: - + Peer ID: - + Location: - + Peer Name: - + Unknown Peer - + @@ -15940,33 +16599,33 @@ Reducing image to %1x%2 pixels? but reported: - + Wrong external ip address reported - + IP address %1 was added to the whitelist - + <p>This is the external IP your Retroshare node thinks it is using.</p> - + <p>This is the IP your friend claims it is connected to. If you just changed IPs, this is a false warning. If not, that means your connection to this friend is forwarded by an intermediate peer, which would be suspicious.</p> - + <html><head/><body><p>This warning is here to protect you against traffic forwarding attacks. In such a case, the friend you're connected to will not see your external IP, but the attacker's IP. </p><p><br/></p><p>However, if you just changed IPs for some reason (some ISPs regularly force change IPs) this warning just tells you that a friend connected to the new IP before Retroshare figured out the IP changed. Nothing's wrong in this case.</p><p><br/></p><p>You can easily suppress false warnings by white-listing your own IPs (e.g. the range of your ISP), or by completely disabling these warnings in Options-&gt;Notify-&gt;News Feed.</p></body></html> - + @@ -15974,32 +16633,32 @@ Reducing image to %1x%2 pixels? wants to be friend with you on RetroShare - + Accept Friend Request - + Peer details - + Deny friend - + Chat - + Start Chat - + @@ -16020,62 +16679,62 @@ Reducing image to %1x%2 pixels? Peer ID: - + Trust: - + Location: - + IP Address: - + Connection Method: - + Status: - + Write Message - + Connect Attempt - + Connection refused by remote peer - + Unknown (Incoming) Connect Attempt - + Unknown (Outgoing) Connect Attempt - + Unknown Security Issue - + @@ -16084,7 +16743,7 @@ Reducing image to %1x%2 pixels? Unknown Peer - + @@ -16094,32 +16753,32 @@ Reducing image to %1x%2 pixels? Do you want to remove this Friend? - + Certificate has wrong signature!! This peer is not who he claims to be. - + Missing/Damaged certificate. Not a real Retroshare user. - + Certificate caused an internal error. - + Peer/node not in friendlist (PGP id= - + Missing/Damaged SSL certificate for key - + @@ -16127,236 +16786,236 @@ Reducing image to %1x%2 pixels? Network Configuration - + Network Mode - + Nat - + Automatic (UPnP) - + Firewalled - + Manually Forwarded Port - + Public: DHT & Discovery - + Private: Discovery Only - + Inverted: DHT Only - + Dark Net: None - + Local Address - + External Address - + Dynamic DNS - + Port: - + Local network - + External ip address finder - + UPnP - + Known / Previous IPs: - + Show Discovery information in statusbar - + If you uncheck this, RetroShare can only determine your IP when you connect to somebody. Leaving this checked helps -connecting when you have few friends. It also helps if you're +connecting when you have few friends. It also helps if you're behind a firewall or a VPN. - + Allow RetroShare to ask my ip to these websites: - + kB/s - + Acceptable ports range from 10 to 65535. Normally Ports below 1024 are reserved by your system. - + Acceptable ports range from 10 to 65535. Normally ports below 1024 are reserved by your system. - + Onion Address - + Discovery On (recommended) - + Discovery Off - + Hidden - See Config - + I2P Address - + I2P incoming ok - + Points at: - + Tor incoming ok - + incoming ok - + Proxy seems to work. - + I2P proxy is not enabled - + You are reachable through the hidden service. - + The proxy is not enabled or broken. Are all services up and running fine?? Also check your ports! - + [Hidden mode] - + <html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html> - + Clear - + Download limit (KB/s) - + <html><head/><body><p>This download limit covers the whole application. However, in some situations, such as when transfering many small files at once, the estimated bandwidth becomes unreliable and the total value reported by Retroshare might exceed that limit. </p></body></html> - + Upload limit (KB/s) - + <html><head/><body><p>The upload limit covers the entire software. Too small an upload limit might eventually block low priority services (forums, channels). A minimum recommended value is 50KB/s. </p></body></html> - + <html><head/><body><p>This button simulates a SSL connection to your hidden address using the corresponding proxy. If your hidden node is reachable, it should cause a SSL handshake error, which RS will interpret as a valid connection state. This operation might also cause several &quot;security warning&quot; about connections from your local host IP (127.0.0.1) in the News Feed if you enabled it, which you should interpret as a sign of good communication.</p></body></html> - + @@ -16366,206 +17025,206 @@ Also check your ports! Network - + IP Filters - + IP blacklist - + IP range - + Status - + Origin - + Reason - + Comment - + IPs - + IP whitelist - + Manual input - + <html><head/><body><p>Enter an IP range. Accepted formats:</p><p>193.190.209.15</p><p>193.190.209.15/24</p><p>193.190.209.15/16</p></body></html> - + <html><head/><body><p>Enter any comment you'd like</p></body></html> - + Add to blacklist - + Add to whitelist - + Hidden Service Configuration - + Outgoing Connections - + <html><head/><body><p>This is the port of the Tor Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though Tor. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though Tor. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P Socks Proxy - + <html><head/><body><p>This is the port of the I2P Socks proxy. Your Retroshare node can use this port to connect to</p><p>Hidden nodes. The led at right turns green when this port is active on your computer. </p><p>This does not mean however that your Retroshare traffic transits though I2P. It does only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + <html><head/><body><p>This led is green when the port listen on the left is active on your computer. It does not</p><p>mean that your Retroshare traffic transits though I2P. It will do so only if </p><p>you connect to Hidden nodes, or if you are running a Hidden node yourself.</p></body></html> - + I2P outgoing Okay - + Tor Socks Proxy default: 127.0.0.1:9050. Set in torrc config and update here. I2P Socks Proxy: see http://127.0.0.1:7657/i2ptunnelmgr for setting up a client tunnel: -Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! -Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. +Tunnel Wizard -> Client Tunnel -> SOCKS 4/4a/5 -> enter a name -> leave 'Outproxies' empty -> enter port (memorize!) [you may also want to set the reachability to 127.0.0.1] -> check 'Auto Start' -> finish! +Now enter the address (e.g. 127.0.0.1) and the port you've picked before for the I2P Proxy. You can connect to Hidden Nodes, even if you are running a standard Node, so why not setup Tor and/or I2P? - + Incoming Service Connections - + Service Address - + <html><head/><body><p>This is your hidden address. It should look like <span style=" font-weight:600;">[something].onion</span> or <span style=" font-weight:600;">[something].b32.i2p. </span>If you configured a hidden service with Tor, the onion address is generated automatically by Tor. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span>. For I2P: Setup a server tunnel ( http://127.0.0.1:7657/i2ptunnelmgr ) and copy it's base32 address when it is started (should end with .b32.i2p)</p></body></html> - + <html><head/><body><p>This is the local address to which the hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html> - + <html><head/><body><p>This led turns green only if you launch an active test using the above button. </p><p>When it does, it means that your hidden node can be reached from anywhere, using the Tor (resp. I2P) </p><p>network. Congratulations!</p></body></html> - + incoming ok - + Expected Configuration: - + Please fill in a service address - + To Receive Connections, you must first setup a Tor/I2P Hidden Service. For Tor: See torrc and documentation for HOWTO details. For I2P: See http://127.0.0.1:7657/i2ptunnelmgr for setting up a server tunnel: -Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! +Tunnel Wizard -> Server Tunnel -> Standard -> enter a name -> enter the address and port your RS is using (see Local Address above) -> check 'Auto Start' -> finish! Once this is done, paste the Onion/I2P (Base32) Address in the box above. This is your external address on the Tor/I2P network. Finally make sure that the Ports match the configuration. If you have issues connecting over Tor check the Tor logs too. - + IP Range - + Reported by DHT for IP masquerading - + Range made from %1 collected addresses - + @@ -16578,78 +17237,78 @@ If you have issues connecting over Tor check the Tor logs too. Added by you - + <html><head/><body><p>White listed IPs are gathered from the following sources: IPs coming inside a manually exchanged certificate, IP ranges entered by you in this window, or in the security feed items.</p><p>The default behavior for Retroshare is to (1) always allow connection to peers with IP in the whitelist, even if that IP is also blacklisted; (2) optionally require IPs to be in the whitelist. You can change this behavior for each peer in the &quot;Details&quot; window of each Retroshare node. </p></body></html> - + <html><head/><body><p>The DHT allows you to answer connection requests from your friends using BitTorrent's DHT. It greatly improves the connectivity. No information is actually stored in the DHT. It is only used as a proxy system to get in touch with other Retroshare nodes.</p><p>The Discovery service sends node name and ids of your trusted contacts to connected peers, to help them choose new friends. The friendship is never automatic however, and both peers still need to trust each other to allow connection. </p></body></html> - + <html><head/><body><p>The bullet turns green as soon as Retroshare manages to get your own IP from the websites listed below, if you enabled that action. Retroshare will also use other means to find out your own IP.</p></body></html> - + <html><head/><body><p>This list gets automatically filled with information gathered at multiple sources: masquerading peers reported by the DHT, IP ranges entered by you, and IP ranges reported by your friends. Default settings should protect you against large scale traffic relaying.</p><p>Automatically guessing masquerading IPs can put your friends IPs in the blacklist. In this case, use the context menu to whitelist them.</p></body></html> - + activate IP filtering - + <html><head/><body><p>This is very drastic, be careful. Since masquerading IPs might be actual real IPs, this option might cause disconnection, and will probably force you to add your friends' IPs into the whitelist.</p></body></html> - + Ban every IP reported by your friends - + <html><head/><body><p>Another drastic option. If you use it, be prepared to add your friends' IPs into the whitelist when needed.</p></body></html> - + Ban every masquerading IP reported by your DHT - + <html><head/><body><p>If used alone, this option protects you quite well from large scale IP masquerading.</p></body></html> - + Automatically ban ranges of DHT masquerading IPs starting at - + Tor Socks Proxy - + Tor outgoing Okay - + Tor proxy is not enabled - + @@ -16657,27 +17316,27 @@ If you have issues connecting over Tor check the Tor logs too. Service permissions - + Service Permissions - + Use as direct source, when available - + Auto-download recommended files - + Require whitelist - + @@ -16685,27 +17344,27 @@ If you have issues connecting over Tor check the Tor logs too. ServicePermissions - + Reset - + Permissions - + hide offline - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Permissions</h1> <p>Permissions allow you to control which services are available to which friends.</p> <p>Each interruptor shows two lights, indicating whether you or your friend has enabled that service. Both need to be ON (showing <img height=20 src=":/images/switch11.png"/>) to let information transfer for a specific service/friend combination.</p> <p>For each service, the global switch <img height=20 src=":/images/global_switch_on.png"> / <img height=20 src=":/images/global_switch_off.png"> allows you to turn a service ON/OFF for all friends at once.</p> <p>Be very careful: Some services depend on each other. For instance turning turtle OFF will also stop all anonymous transfer, distant chat and distant messaging.</p> - + @@ -16721,48 +17380,48 @@ If you have issues connecting over Tor check the Tor logs too. RetroShare Share Folder - + Share Folder - + Local Path - + Browse - + Virtual Folder - + Share Flags - + Edit Shared Folder - + Select A Folder To Share - + Share flags and groups: - + @@ -16770,23 +17429,23 @@ If you have issues connecting over Tor check the Tor logs too. check peers you would like to share private publish key with - + Share for Friend - + Share - + You can let your friends know about your Channel by sharing it with them. Select the Friends with which you want to Share your Channel. - + @@ -16794,37 +17453,37 @@ Select the Friends with which you want to Share your Channel. RetroShare Share Manager - + Shared Folder Manager - + Directory - + Virtual Folder - + Share flags - + Groups - + Add a Share Directory - + @@ -16834,7 +17493,7 @@ Select the Friends with which you want to Share your Channel. Stop sharing selected Directory - + @@ -16845,12 +17504,12 @@ Select the Friends with which you want to Share your Channel. Apply and close - + Edit selected Shared Directory - + @@ -16861,43 +17520,43 @@ Select the Friends with which you want to Share your Channel. Share Manager - + Edit Shared Folder - + Warning! - + Do you really want to stop sharing this directory ? - + Drop file error. - + File can't be dropped, only directories are accepted. - + Directory not found or directory name not accepted. - + This is a list of shared folders. You can add and remove folders using the buttons at the bottom. When you add a new folder, intially all files in that folder are shared. You can separately setup share flags for each shared directory. - + @@ -16905,62 +17564,62 @@ Select the Friends with which you want to Share your Channel. Files - + Search files - + Start Search - + Reset - + Tree view - + Flat view - + All - + One day old - + One Week old - + One month old - + check files - + Download selected - + @@ -16970,63 +17629,63 @@ Select the Friends with which you want to Share your Channel. Copy retroshare Links to Clipboard - + Copy retroshare Links to Clipboard (HTML) - + Send retroshare Links - + Send retroshare Links to Cloud - + Add Links to Cloud - + RetroShare Link - + Recommendation(s) - + Add Share - + Create Collection... - + Modify Collection... - + View Collection... - + Download from collection file... - + @@ -17034,48 +17693,48 @@ Select the Friends with which you want to Share your Channel. Friend - + Go Online - + Chatmessage - + New Msg - + Message - + Message arrived - + Download - + 下載 Download complete - + Lobby - + @@ -17083,42 +17742,42 @@ Select the Friends with which you want to Share your Channel. Event: - + Filename: - + Browse - + Event - + Filename - + Open File - + Sound - + Default - + @@ -17126,30 +17785,30 @@ Select the Friends with which you want to Share your Channel. Sound is off, click to turn it on - + Sound is on, click to turn it off - + SplashScreen - + Load profile - + Load configuration - + Create interface - + @@ -17157,60 +17816,60 @@ Select the Friends with which you want to Share your Channel. RetroShare - + Login - + Name (PGP Id) - location: - + Remember Password - + Log In - + Opens a dialog for creating a new profile or adding locations to an existing profile. The current identities/locations will not be affected. - + Load Person Failure - + Missing PGP Certificate - + Warning - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="Create new Profile..."><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; text-decoration: underline; color:#0000ff;">Manage profiles and nodes...</span></a></p></body></html> - + @@ -17219,7 +17878,7 @@ p, li { white-space: pre-wrap; } Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17228,7 +17887,7 @@ This choice can be reverted in settings. Your PGP passwd will not be stored. This choice can be reverted in settings. - + @@ -17237,7 +17896,7 @@ This choice can be reverted in settings. Your PGP password will not be stored. This choice can be reverted in settings. - + @@ -17245,17 +17904,17 @@ This choice can be reverted in settings. Add Friend - + Add a Friend Wizard - + Add Share - + @@ -17265,7 +17924,7 @@ This choice can be reverted in settings. Messenger - + @@ -17275,48 +17934,48 @@ This choice can be reverted in settings. SMPlayer - + Quit - + Quick Start Wizard - + ServicePermissions - + Service permissions matrix - + DHT - + Bandwidth - + Turtle Router - + Global Router - + @@ -17330,165 +17989,165 @@ This choice can be reverted in settings. Offline - + Away - + Busy - + Online - + Idle - + Friend is offline - + Friend is away - + Friend is busy - + Friend is online - + Friend is idle - + Connected - + Unreachable - + Available - + Neighbor - + Trying TCP - + Trying UDP - + Connected: TCP - + Connected: UDP - + Connected: I2P - + Connected: Unknown - + DHT: Contact - + TCP-in - + TCP-out - + inbound connection - + outbound connection - + UDP - + Tor-in - + Tor-out - + I2P-in - + I2P-out - + unkown - + Connected: Tor - + @@ -17496,30 +18155,30 @@ This choice can be reverted in settings. Status message - + Message: - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:14pt; font-weight:600;">Status message</span></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">Enter your message</span></p></body></html> - + @@ -17528,28 +18187,28 @@ p, li { white-space: pre-wrap; } Define Style - + Choose color - + Color 2 - + Color 1 - + Style - + @@ -17559,12 +18218,12 @@ p, li { white-space: pre-wrap; } Solid - + Gradient - + @@ -17572,17 +18231,17 @@ p, li { white-space: pre-wrap; } %p Kb - + Cancel Download - + Download File - + @@ -17594,33 +18253,33 @@ p, li { white-space: pre-wrap; } Play File - + Play - + Save File - + ERROR - + EXTRA - + REMOTE - + @@ -17630,33 +18289,33 @@ p, li { white-space: pre-wrap; } LOCAL - + UPLOAD - + Remove Attachment - + File %1 does not exist at location. - + File %1 is not completed. - + Save Channel File - + @@ -17666,30 +18325,30 @@ p, li { white-space: pre-wrap; } Open File - + Copy RetroShare Link - + SubscribeToolButton - + Subscribed - + - + Unsubscribe - + - + Subscribe - + @@ -17697,7 +18356,7 @@ p, li { white-space: pre-wrap; } Pause - + @@ -17705,27 +18364,27 @@ p, li { white-space: pre-wrap; } Important - + Work - + Personal - + Todo - + Later - + @@ -17733,12 +18392,12 @@ p, li { white-space: pre-wrap; } Remove All Tags - + New tag ... - + @@ -17746,12 +18405,12 @@ p, li { white-space: pre-wrap; } All Toasters are disabled - + Toasters are enabled - + @@ -17759,90 +18418,90 @@ p, li { white-space: pre-wrap; } Transfer options - + Maximum simultaneous downloads: - + Slots reserved for non-cache transfers: - + Default chunk strategy: - + Safety disk space limit : - + Streaming - + Progressive - + Random - + MB - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> -<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt; font-weight:600;">RetroShare</span><span style=" font-family:'Sans'; font-size:8pt;"> is capable of transferring data and search requests between peers that are not necessarily friends. This traffic however only transits through a connected list of friends and is anonymous.</span></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans'; font-size:8pt;"><br /></p> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Sans'; font-size:8pt;">You can separately setup share flags for each shared directory in the shared files dialog to be:</span></p> +<ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Browsable by friends</span>: files are seen by your friends.</li> <li style=" font-family:'Sans'; font-size:8pt;" style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Anonymously shared</span>: files are anonymously reachable through distant F2F tunnels.</li></ul></body></html> - + Max. tunnel req. forwarded per second: - + <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> - + <html><head/><body><p>Retroshare will suspend all transfers and config file saving if the disk space goes below this limit. That prevents loss of information on some systems. A popup window will warn you when that happens.</p></body></html> - + <html><head/><body><p>This value controls how many tunnel request your peer can forward per second. </p><p>If you have a large internet bandwidth, you may raise this up to 30-40, to allow statistically longer tunnels to pass. Be very careful though, since this generates many small packets that can significantly slow down your own file transfer. </p><p>The default value is 20. If you're not sure, keep it that way.</p></body></html> - + File transfer - + <html><head/><body><p>You can use this to force RetroShare to download your files rather <br/>than cache files for as many slots as requested. Setting that number <br/>to be equal to the queue size above will always prioritize your files<br/>over cache. <br/><br/>It is however recommended to leave at least a few slots for cache files. For now, cache files are only used to transfer friend file lists.</p></body></html> - + @@ -17850,170 +18509,170 @@ p, li { white-space: pre-wrap; } Download completed - + You have %1 completed downloads - + You have %1 completed download - + %1 completed downloads - + %1 completed download - + TransfersDialog - + Downloads - + Uploads - + - + Name i.e: file name - + Size i.e: file size - + Completed - + Speed i.e: Download speed - + Progress / Availability i.e: % downloaded - + Sources i.e: Sources - + Status - + Speed / Queue position - + Remaining - + Download time i.e: Estimated Time of Arrival / Time left - + Peer i.e: user name - + Progress i.e: % uploaded - + Speed i.e: upload speed - + Transferred - + Hash - + Search - + Friends files - + My files - + Download from collection file... - + Pause - + Resume - + Force Check - + @@ -18024,185 +18683,185 @@ p, li { white-space: pre-wrap; } Open Folder - + Open File - + Preview File - + Details... - + Clear Completed - + Copy RetroShare Link - + Paste RetroShare Link - + Down - + Up - + Top - + Bottom - + Streaming - + Slower - + Average - + Faster - + Random - + Progressive - + Play - + Rename file... - + Specify... - + <h1><img width="%1" src=":/icons/help_64.png">&nbsp;&nbsp;File Transfer</h1> <p>Retroshare brings two ways of transferring files: direct transfers from your friends, and distant anonymous tunnelled transfers. In addition, file transfer is multi-source and allows swarming (you can be a source while downloading)</p> <p>You can share files using the <img src=":/images/directoryadd_24x24_shadow.png" width=%2 /> icon from the left side bar. These files will be listed in the My Files tab. You can decide for each friend group whether they can or not see these files in their Friends Files tab</p> <p>The search tab reports files from your friends' file lists, and distant files that can be reached anonymously using the multi-hop tunnelling system.</p> - + Move in Queue... - + Priority (Speed)... - + Chunk strategy - + Set destination directory - + Choose directory - + - + Failed - + - - + + Okay - + - - + + Waiting - + - + Downloading 下載中 - + Complete - + - + Queued - + Paused - + Checking... - + @@ -18210,7 +18869,7 @@ p, li { white-space: pre-wrap; } 未知 - + If the hash of the downloaded data does not correspond to the hash announced by the file source. The data is likely @@ -18221,27 +18880,27 @@ map of the data; it will compare and invalidate bad blocks, and download them again Try to be patient! - + Transferring - + Uploading - + Are you sure that you want to cancel and delete these files? - + RetroShare - + @@ -18249,229 +18908,229 @@ Try to be patient! File preview - + Can't create link for file %1. - + File %1 preview failed. - + Click OK when program terminates! - + Open Transfer - + File %1 is not completed. If it is a media file, try to preview it. - + Change file name - + Please enter a new file name - + Please enter a new--and valid--filename - + - + Last Time Seen i.e: Last Time Receiced Data - + UserID - + Expand all - + Collapse all - + Size - + Show Size Column - + Show Completed Column - + Speed - + Show Speed Column - + Progress / Availability - + Show Progress / Availability Column - + Sources - + Show Sources Column - + Show Status Column - + Show Speed / Queue position Column - + Show Remaining Column - + Download time - + Show Download time Column - + Show Hash Column - + Last Time Seen - + Show Last Time Seen Column - + Columns - + File Transfers - + Path i.e: Where file is saved - + Path - + Show Path Column - + - + Could not delete preview file - + Try it again? - + - + Create Collection... - + Modify Collection... - + View Collection... - + Collection - + - + File sharing - + - + Anonymous tunnel 0x - + - + Show file list transfers - + - + version: - + @@ -18480,69 +19139,69 @@ Try to be patient! My files - + FILE - + Files - + File - + DIR - + Friends Directories - + My Directories - + Size - + Age - + Friend - + Share Flags - + What's new - + Groups - + @@ -18551,13 +19210,13 @@ Try to be patient! Search requests - + Tunnel requests - + @@ -18566,28 +19225,28 @@ Try to be patient! Unknown hashes - + Tunnel id - + last transfer - + Speed - + Request id: %1 from [%2] %3 secs ago - + @@ -18595,12 +19254,12 @@ Try to be patient! Router Statistics - + F2F router information - + @@ -18608,42 +19267,42 @@ Try to be patient! Router Statistics - + Age in seconds - + Depth - + total - + Anonymous tunnels - + Authenticated tunnels - + Unknown Peer - + Turtle Router - + @@ -18651,47 +19310,47 @@ Try to be patient! Search requests repartition - + Tunnel requests repartition - + Turtle router traffic - + Tunnel requests Up - + Tunnel requests Dn - + Incoming file data - + Outgoing file data - + TR Forward probabilities - + Forwarded data - + @@ -18703,7 +19362,7 @@ Try to be patient! Loading - + @@ -18711,22 +19370,22 @@ Try to be patient! B - + KB - + MB - + GB - + @@ -18734,22 +19393,22 @@ Try to be patient! You have %1 new messages - + You have %1 new message - + %1 new messages - + %1 new message - + @@ -18757,7 +19416,7 @@ Try to be patient! OK - + @@ -18767,27 +19426,27 @@ Try to be patient! Yes - + No - + Help - + Retry - + Show Log - + @@ -18802,12 +19461,12 @@ Try to be patient! Quit - + Browse - + @@ -18820,57 +19479,57 @@ Try to be patient! Enable Retroshare WEB Interface - + Web parameters - + Port : - + allow access from all IP adresses (Default: localhost only) - + apply setting and start browser - + Note: these settings do not affect retroshare-nogui. retroshare-nogui has a command line switch to active the webinterface. - + <h1><img width="24" src=":/icons/help_64.png">&nbsp;&nbsp;Webinterface</h1> <p>The webinterface allows you to control Retroshare from the browser. Multiple devices can share control over one Retroshare instance. So you could start a conversation on a tablet computer and later use a desktop computer to continue it.</p> <p>Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.</p> - + Webinterface not enabled - + The webinterface is not enabled. Enable it in Settings -> Webinterface. - + failed to start Webinterface - + Webinterface - + @@ -18878,48 +19537,48 @@ Try to be patient! Basic Details - + Group Name: - + Category: - + Travel - + Holiday - + Friends - + Family - + Work - + Random - + @@ -18929,72 +19588,72 @@ Try to be patient! Share Options - + Public - + All Friends - + Restricted - + N/A - + University Friends - + This List Contains - + All your Groups - + No Comments Allowed - + Authenticated Comments - + Any Comments Allowed - + Publish with XXX Key - + Cancel - + Create Group - + @@ -19003,42 +19662,42 @@ Try to be patient! Wiki Pages - + New Group - + Page Name - + Page Id - + Orig Id - + << - + >> - + Republish - + @@ -19048,62 +19707,62 @@ Try to be patient! New Page - + Refresh - + Search - + My Groups - + Subscribed Groups - + Popular Groups - + Other Groups - + Subscribe to Group - + Unsubscribe to Group - + Todo - + Show Wiki Group - + Edit Wiki Group - + @@ -19111,79 +19770,79 @@ Try to be patient! Page Edit History - + Enable Obsolete Edits - + Choose for Merge - + Merge for Republish (TODO) - + Publish Date - + By - + PageId - + \/ - + /\ - + Wiki Group: - + Page Name: - + Previous Version - + Tags - + Show Edit History - + Status - + @@ -19199,39 +19858,39 @@ Try to be patient! Revert - + Submit - + Hide Edit History - + Edit Page - + Create New Wiki Page - + Republish - + Edit Wiki Page - + @@ -19239,37 +19898,37 @@ Try to be patient! Create New Wiki Group - + Wiki Group - + Edit Wiki Group - + Add Wiki Moderators - + Select Wiki Moderators - + Create Group - + Update Group - + @@ -19277,28 +19936,28 @@ Try to be patient! TimeRange - + All - + Last Month - + Last Week - + Today - + @@ -19308,67 +19967,67 @@ Try to be patient! from - + until - + Search/Filter - + Network Wide - + Manage Accounts - + Showing: - + Yourself - + Friends - + Following - + Custom - + Account 1 - + Account 2 - + Account 3 - + @@ -19377,12 +20036,12 @@ Try to be patient! CheckBox - + Post Pulse to Wire - + @@ -19397,37 +20056,37 @@ Try to be patient! B bytes - + KB kilobytes (1024 bytes) - + MB megabytes (1024 kilobytes) - + GB gigabytes (1024 megabytes) - + TB, terabytes (1024 gigabytes) - + TB terabytes (1024 gigabytes) - + @@ -19438,65 +20097,65 @@ Try to be patient! < 1m < 1 minute - + %1 minutes e.g: 10minutes - + %1h %2m e.g: 3hours 5minutes - + %1d %2h e.g: 2days 10hours - + %1y %2d e.g: 2 years 2days - + k e.g: 3.1 k - + M e.g: 3.1 M - + G e.g: 3.1 G - + T e.g: 3.1 T - + Load avatar image - + Pictures (*.png *.jpeg *.xpm *.jpg *.tiff *.gif) - + - \ No newline at end of file + From efd503e7d4cf4ac8a9396467b893c925b304ec27 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 25 Jul 2016 14:56:55 -0400 Subject: [PATCH 064/158] removed the possibility of GXS groups to keep track of post origin before release, as it is too intrusive as compared to the benefits --- libretroshare/src/grouter/p3grouter.cc | 16 ---------------- libretroshare/src/grouter/p3grouter.h | 2 -- libretroshare/src/gxs/rsgenexchange.cc | 11 ----------- libretroshare/src/retroshare/rsgrouter.h | 3 --- libretroshare/src/retroshare/rsgxsflags.h | 2 +- retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp | 7 ------- retroshare-gui/src/gui/gxs/GxsGroupDialog.ui | 14 ++------------ .../src/gui/gxsforums/GxsForumThreadWidget.cpp | 11 ----------- 8 files changed, 3 insertions(+), 63 deletions(-) diff --git a/libretroshare/src/grouter/p3grouter.cc b/libretroshare/src/grouter/p3grouter.cc index 1d698881c..5c51a196d 100644 --- a/libretroshare/src/grouter/p3grouter.cc +++ b/libretroshare/src/grouter/p3grouter.cc @@ -1862,15 +1862,6 @@ bool p3GRouter::locked_getLocallyRegisteredClientFromServiceId(const GRouterServ return true ; } -void p3GRouter::addTrackingInfo(const RsGxsMessageId& mid,const RsPeerId& peer_id) -{ - RS_STACK_MUTEX(grMtx) ; -#ifdef GROUTER_DEBUG - grouter_debug() << "Received new routing clue for key " << mid << " from peer " << peer_id << std::endl; -#endif - _routing_matrix.addTrackingInfo(mid,peer_id) ; - _changed = true ; -} void p3GRouter::addRoutingClue(const GRouterKeyId& id,const RsPeerId& peer_id) { RS_STACK_MUTEX(grMtx) ; @@ -2357,13 +2348,6 @@ bool p3GRouter::getRoutingCacheInfo(std::vector& infos) return true ; } -bool p3GRouter::getTrackingInfo(const RsGxsMessageId &mid, RsPeerId &provider_id) -{ - RS_STACK_MUTEX(grMtx) ; - - return _routing_matrix.getTrackingInfo(mid,provider_id) ; -} - // Dump everything // void p3GRouter::debugDump() diff --git a/libretroshare/src/grouter/p3grouter.h b/libretroshare/src/grouter/p3grouter.h index 8c6fbab5c..9ddf50149 100644 --- a/libretroshare/src/grouter/p3grouter.h +++ b/libretroshare/src/grouter/p3grouter.h @@ -130,7 +130,6 @@ public: //===================================================// virtual void addRoutingClue(const GRouterKeyId& id,const RsPeerId& peer_id) ; - virtual void addTrackingInfo(const RsGxsMessageId& mid,const RsPeerId& peer_id) ; //===================================================// // Client/server request services // @@ -168,7 +167,6 @@ public: // - Cache state (memory size, etc) // virtual bool getRoutingCacheInfo(std::vector& info) ; - virtual bool getTrackingInfo(const RsGxsMessageId& mid, RsPeerId& provider_id) ; //===================================================// // Derived from p3Service // diff --git a/libretroshare/src/gxs/rsgenexchange.cc b/libretroshare/src/gxs/rsgenexchange.cc index 49cb37927..198954297 100644 --- a/libretroshare/src/gxs/rsgenexchange.cc +++ b/libretroshare/src/gxs/rsgenexchange.cc @@ -2011,10 +2011,7 @@ void RsGenExchange::publishMsgs() // FIXTESTS global variable rsPeers not available in unittests! if(rsPeers) - { mRoutingClues[msg->metaData->mAuthorId].insert(rsPeers->getOwnId()) ; - mTrackingClues.push_back(std::make_pair(msg->msgId,rsPeers->getOwnId())) ; - } computeHash(msg->msg, msg->metaData->mHash); mDataAccess->addMsgData(msg); @@ -2159,11 +2156,6 @@ void RsGenExchange::processRoutingClues() rsGRouter->addRoutingClue(GRouterKeyId(it->first),(*it2) ) ; mRoutingClues.clear() ; - - for(std::list >::const_iterator it = mTrackingClues.begin();it!=mTrackingClues.end();++it) - rsGRouter->addTrackingInfo((*it).first,(*it).second) ; - - mTrackingClues.clear() ; } void RsGenExchange::processGroupDelete() @@ -2732,9 +2724,6 @@ void RsGenExchange::processRecvdMessages() if(!msg->metaData->mAuthorId.isNull()) mRoutingClues[msg->metaData->mAuthorId].insert(msg->PeerId()) ; - - if(grpMeta->mSignFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) - mTrackingClues.push_back(std::make_pair(msg->msgId,msg->PeerId())) ; } if(validateReturn == VALIDATE_FAIL) diff --git a/libretroshare/src/retroshare/rsgrouter.h b/libretroshare/src/retroshare/rsgrouter.h index f0bec2677..f9a316a40 100644 --- a/libretroshare/src/retroshare/rsgrouter.h +++ b/libretroshare/src/retroshare/rsgrouter.h @@ -103,9 +103,6 @@ public: //===================================================// virtual void addRoutingClue(const GRouterKeyId& destination, const RsPeerId& source) =0; - virtual void addTrackingInfo(const RsGxsMessageId& mid,const RsPeerId& peer_id) =0; - - virtual bool getTrackingInfo(const RsGxsMessageId& mid, RsPeerId& provider_id) =0; }; // To access the GRouter from anywhere diff --git a/libretroshare/src/retroshare/rsgxsflags.h b/libretroshare/src/retroshare/rsgxsflags.h index 6233fc1fd..a4f060245 100644 --- a/libretroshare/src/retroshare/rsgxsflags.h +++ b/libretroshare/src/retroshare/rsgxsflags.h @@ -33,7 +33,7 @@ namespace GXS_SERV { static const uint32_t FLAG_AUTHOR_AUTHENTICATION_GPG = 0x00000100; static const uint32_t FLAG_AUTHOR_AUTHENTICATION_REQUIRED = 0x00000200; static const uint32_t FLAG_AUTHOR_AUTHENTICATION_IFNOPUBSIGN = 0x00000400; - static const uint32_t FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES = 0x00000800; + static const uint32_t FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES = 0x00000800; // not used anymore static const uint32_t FLAG_AUTHOR_AUTHENTICATION_GPG_KNOWN = 0x00001000; static const uint32_t FLAG_GROUP_SIGN_PUBLISH_MASK = 0x000000ff; diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp index adde35455..7e7cbc88d 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp @@ -301,8 +301,6 @@ void GxsGroupDialog::setupDefaults() ui.commentsValueLabel->setText(tr("Allowed")); } } - ui.antiSpam_trackMessages->setChecked((bool)(mDefaultsFlags & GXS_GROUP_DEFAULTS_ANTISPAM_TRACK)); - if( (mDefaultsFlags & GXS_GROUP_DEFAULTS_ANTISPAM_FAVOR_PGP) && (mDefaultsFlags & GXS_GROUP_DEFAULTS_ANTISPAM_FAVOR_PGP_KNOWN)) ui.antiSpam_perms_CB->setCurrentIndex(2) ; else if(mDefaultsFlags & GXS_GROUP_DEFAULTS_ANTISPAM_FAVOR_PGP) @@ -656,9 +654,6 @@ uint32_t GxsGroupDialog::getGroupSignFlags() break ; } - if (ui.antiSpam_trackMessages->isChecked()) - signFlags |= GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES; - return signFlags; } @@ -680,8 +675,6 @@ void GxsGroupDialog::setGroupSignFlags(uint32_t signFlags) if (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_IFNOPUBSIGN) ui.personal_ifnopub->setChecked(true); - ui.antiSpam_trackMessages ->setChecked((bool)(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) ); - if( (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG_KNOWN) && (signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG)) ui.antiSpam_perms_CB->setCurrentIndex(2) ; else if(signFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_GPG) diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui index 81dd84c91..42133262d 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui @@ -6,8 +6,8 @@ 0 0 - 860 - 775 + 1237 + 790 @@ -582,16 +582,6 @@ - - - - <html><head/><body><p align="justify">This feature allows Retroshare to locally keep a record of who forwarded each message to you, for the last 10 days. Although useless if alone (and already available whatsoever) this information can be used by a group of teamed-up friends to easily locate a source of spams. To be used with care, since it significantly decreases the anonymity of message posts.</p></body></html> - - - Keep track of posts - - - diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp index 4d6f69d5b..22b7aab8f 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp +++ b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp @@ -577,17 +577,6 @@ void GxsForumThreadWidget::changedThread() mThreadId = RsGxsMessageId(item->data(COLUMN_THREAD_DATA, ROLE_THREAD_MSGID).toString().toStdString()); } - // Show info about who passed on this message. - if(mForumGroup.mMeta.mSignFlags & GXS_SERV::FLAG_AUTHOR_AUTHENTICATION_TRACK_MESSAGES) - { - RsPeerId providerId ; - std::string msgId = item->data(COLUMN_THREAD_DATA, ROLE_THREAD_MSGID).toString().toStdString(); - RsGxsMessageId mid(msgId) ; - - if(rsGRouter->getTrackingInfo(mid,providerId) && !providerId.isNull() ) - item->setToolTip(COLUMN_THREAD_TITLE,tr("This message was obtained from %1").arg(QString::fromUtf8(rsPeers->getPeerName(providerId).c_str()))); - } - if (mFillThread) { return; } From 218977170c637f1a3557bdb09e70a0ce5078d895 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 25 Jul 2016 15:45:49 -0400 Subject: [PATCH 065/158] added two new options to people page for handlign reputations: change the ban limit from friend opinions, and allow to auto-set positive opinions to contacts --- libretroshare/src/retroshare/rsreputations.h | 9 +- libretroshare/src/services/p3gxsreputation.cc | 117 ++++++++++++++--- libretroshare/src/services/p3gxsreputation.h | 123 +++++++++--------- .../src/gui/settings/PeoplePage.cpp | 21 ++- retroshare-gui/src/gui/settings/PeoplePage.ui | 45 ++++++- 5 files changed, 229 insertions(+), 86 deletions(-) diff --git a/libretroshare/src/retroshare/rsreputations.h b/libretroshare/src/retroshare/rsreputations.h index f620f3d5e..fdb89b8b5 100644 --- a/libretroshare/src/retroshare/rsreputations.h +++ b/libretroshare/src/retroshare/rsreputations.h @@ -51,9 +51,16 @@ public: virtual bool setOwnOpinion(const RsGxsId& key_id, const Opinion& op) =0; virtual bool getReputationInfo(const RsGxsId& id,const RsPgpId& owner_id,ReputationInfo& info) =0 ; + + // parameters + virtual void setNodeAutoBanThreshold(uint32_t n) =0; virtual uint32_t nodeAutoBanThreshold() =0; - + virtual void setNodeAutoPositiveOpinionForContacts(bool b) =0; + virtual bool nodeAutoPositiveOpinionForContacts() =0; + virtual float nodeAutoBanIdentitiesLimit() =0; + virtual void setNodeAutoBanIdentitiesLimit(float f) =0; + // This one is a proxy designed to allow fast checking of a GXS id. // it basically returns true if assessment is not ASSESSMENT_OK diff --git a/libretroshare/src/services/p3gxsreputation.cc b/libretroshare/src/services/p3gxsreputation.cc index 56c2d8cc2..5ccef637b 100644 --- a/libretroshare/src/services/p3gxsreputation.cc +++ b/libretroshare/src/services/p3gxsreputation.cc @@ -134,7 +134,7 @@ static const int ACTIVE_FRIENDS_UPDATE_PERIOD = 600 ; // 10 minu static const int ACTIVE_FRIENDS_ONLINE_DELAY = 86400*7 ; // 1 week. static const int kReputationRequestPeriod = 600; // 10 mins static const int kReputationStoreWait = 180; // 3 minutes. -static const float REPUTATION_ASSESSMENT_THRESHOLD_X1 = 0.5f ; // reputation under which the peer gets killed +static const float REPUTATION_ASSESSMENT_THRESHOLD_X1 = 0.5f ; // reputation under which the peer gets killed. Warning there's a 1 shift with what's shown in GUI. Be careful. static const uint32_t PGP_AUTO_BAN_THRESHOLD_DEFAULT = 2 ; // above this, auto ban any GXS id signed by this node static const uint32_t IDENTITY_FLAGS_UPDATE_DELAY = 100 ; // static const uint32_t BANNED_NODES_UPDATE_DELAY = 313 ; // update approx every 5 mins. Chosen to not be a multiple of IDENTITY_FLAGS_UPDATE_DELAY @@ -153,6 +153,9 @@ p3GxsReputation::p3GxsReputation(p3LinkMgr *lm) mLastActiveFriendsUpdate = time(NULL) - 0.5*ACTIVE_FRIENDS_UPDATE_PERIOD; // avoids doing it too soon since the TS from rsIdentity needs to be loaded already mAverageActiveFriends = 0 ; mLastBannedNodesUpdate = 0 ; + + mAutoBanIdentitiesLimit = REPUTATION_ASSESSMENT_THRESHOLD_X1; + mAutoSetPositiveOptionToContacts = true; // default } const std::string GXS_REPUTATION_APP_NAME = "gxsreputation"; @@ -232,6 +235,44 @@ uint32_t p3GxsReputation::nodeAutoBanThreshold() return mPgpAutoBanThreshold ; } +void p3GxsReputation::setNodeAutoPositiveOpinionForContacts(bool b) +{ + RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ + + if(b != mAutoSetPositiveOptionToContacts) + { + mLastBannedNodesUpdate = 0 ; + mAutoSetPositiveOptionToContacts = b ; + IndicateConfigChanged() ; + } +} +bool p3GxsReputation::nodeAutoPositiveOpinionForContacts() +{ + RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ + return mAutoSetPositiveOptionToContacts ; +} +float p3GxsReputation::nodeAutoBanIdentitiesLimit() +{ + RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ + return mAutoBanIdentitiesLimit - 1.0f; +} +void p3GxsReputation::setNodeAutoBanIdentitiesLimit(float f) +{ + RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ + + if(f < -1.0 || f >= 0.0) + { + std::cerr << "(EE) Unexpected value for auto ban identities limit: " << f << std::endl; + return ; + } + if(f != mAutoBanIdentitiesLimit) + { + mLastBannedNodesUpdate = 0 ; + mAutoBanIdentitiesLimit = f+1.0 ; + IndicateConfigChanged() ; + } +} + int p3GxsReputation::status() { return 1; @@ -292,6 +333,8 @@ void p3GxsReputation::updateIdentityFlags() to_update.push_back(rit->first) ; } + std::list should_set_to_positive ; + for(std::list::const_iterator rit(to_update.begin());rit!=to_update.end();++rit) { RsIdentityDetails details; @@ -303,32 +346,40 @@ void p3GxsReputation::updateIdentityFlags() #endif continue ; } + bool is_a_contact = rsIdentity->isARegularContact(*rit) ; - RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ + { + RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ + std::map::iterator it = mReputations.find(*rit) ; - std::map::iterator it = mReputations.find(*rit) ; + if(it == mReputations.end()) + { + std::cerr << " Weird situation: item " << *rit << " has been deleted from the list??" << std::endl; + continue ; + } + it->second.mIdentityFlags = 0 ; - if(it == mReputations.end()) - { - std::cerr << " Weird situation: item " << *rit << " has been deleted from the list??" << std::endl; - continue ; - } - it->second.mIdentityFlags = 0 ; + if(details.mFlags & RS_IDENTITY_FLAGS_PGP_LINKED) + { + it->second.mIdentityFlags |= REPUTATION_IDENTITY_FLAG_PGP_LINKED ; + it->second.mOwnerNode = details.mPgpId ; + } + if(details.mFlags & RS_IDENTITY_FLAGS_PGP_KNOWN ) it->second.mIdentityFlags |= REPUTATION_IDENTITY_FLAG_PGP_KNOWN ; - if(details.mFlags & RS_IDENTITY_FLAGS_PGP_LINKED) - { - it->second.mIdentityFlags |= REPUTATION_IDENTITY_FLAG_PGP_LINKED ; - it->second.mOwnerNode = details.mPgpId ; - } - if(details.mFlags & RS_IDENTITY_FLAGS_PGP_KNOWN ) it->second.mIdentityFlags |= REPUTATION_IDENTITY_FLAG_PGP_KNOWN ; + if(mAutoSetPositiveOptionToContacts && is_a_contact && it->second.mOwnOpinion == RsReputations::OPINION_NEUTRAL) + should_set_to_positive.push_back(*rit) ; #ifdef DEBUG_REPUTATION - std::cerr << " updated flags for " << *rit << " to " << std::hex << it->second.mIdentityFlags << std::dec << std::endl; + std::cerr << " updated flags for " << *rit << " to " << std::hex << it->second.mIdentityFlags << std::dec << std::endl; #endif - it->second.updateReputation() ; - IndicateConfigChanged(); + it->second.updateReputation() ; + IndicateConfigChanged(); + } } + + for(std::list::const_iterator it(should_set_to_positive.begin());it!=should_set_to_positive.end();++it) + setOwnOpinion(*it,RsReputations::OPINION_POSITIVE) ; } void p3GxsReputation::cleanup() @@ -748,7 +799,7 @@ bool p3GxsReputation::getReputationInfo(const RsGxsId& gxsid, const RsPgpId& own #endif info.mAssessment = RsReputations::ASSESSMENT_BAD ; } - else if(info.mOverallReputationScore <= REPUTATION_ASSESSMENT_THRESHOLD_X1) + else if(info.mOverallReputationScore <= mAutoBanIdentitiesLimit) info.mAssessment = RsReputations::ASSESSMENT_BAD ; else info.mAssessment = RsReputations::ASSESSMENT_OK ; @@ -901,7 +952,15 @@ bool p3GxsReputation::saveList(bool& cleanup, std::list &savelist) rs_sprintf(kv.value, "%d", mPgpAutoBanThreshold); vitem->tlvkvs.pairs.push_back(kv) ; - savelist.push_back(vitem) ; + kv.key = "AUTO_BAN_IDENTITIES_THRESHOLD" ; + rs_sprintf(kv.value, "%d", mAutoBanIdentitiesLimit); + vitem->tlvkvs.pairs.push_back(kv) ; + + kv.key = "AUTO_POSITIVE_CONTACTS" ; + kv.value = mAutoSetPositiveOptionToContacts?"YES":"NO"; + vitem->tlvkvs.pairs.push_back(kv) ; + + savelist.push_back(vitem) ; return true; } @@ -955,7 +1014,23 @@ bool p3GxsReputation::loadList(std::list& loadList) mLastBannedNodesUpdate = 0 ; // force update } }; - } + if(kit->key == "AUTO_BAN_IDENTITIES_THRESHOLD") + { + float val ; + if (sscanf(kit->value.c_str(), "%f", &val) == 1) + { + mAutoBanIdentitiesLimit = val ; + std::cerr << "Setting AutoBanIdentity threshold to " << val << std::endl ; + mLastBannedNodesUpdate = 0 ; // force update + } + }; + if(kit->key == "AUTO_POSITIVE_CONTACTS") + { + mAutoSetPositiveOptionToContacts = (kit->value == "YES"); + std::cerr << "Setting AutoPositiveContacts to " << kit->value << std::endl ; + mLastBannedNodesUpdate = 0 ; // force update + } + } delete (*it); } diff --git a/libretroshare/src/services/p3gxsreputation.h b/libretroshare/src/services/p3gxsreputation.h index 8dca8cd5a..6640ded97 100644 --- a/libretroshare/src/services/p3gxsreputation.h +++ b/libretroshare/src/services/p3gxsreputation.h @@ -91,76 +91,83 @@ public: class p3GxsReputation: public p3Service, public p3Config, public RsReputations /* , public pqiMonitor */ { - public: - p3GxsReputation(p3LinkMgr *lm); - virtual RsServiceInfo getServiceInfo(); +public: + p3GxsReputation(p3LinkMgr *lm); + virtual RsServiceInfo getServiceInfo(); - /***** Interface for RsReputations *****/ - virtual bool setOwnOpinion(const RsGxsId& key_id, const Opinion& op) ; - virtual bool getReputationInfo(const RsGxsId& id, const RsPgpId &owner_id, ReputationInfo& info) ; - virtual bool isIdentityBanned(const RsGxsId& id, const RsPgpId &owner_node) ; - - virtual void setNodeAutoBanThreshold(uint32_t n) ; - virtual uint32_t nodeAutoBanThreshold() ; - - /***** overloaded from p3Service *****/ - virtual int tick(); - virtual int status(); + /***** Interface for RsReputations *****/ + virtual bool setOwnOpinion(const RsGxsId& key_id, const Opinion& op) ; + virtual bool getReputationInfo(const RsGxsId& id, const RsPgpId &owner_id, ReputationInfo& info) ; + virtual bool isIdentityBanned(const RsGxsId& id, const RsPgpId &owner_node) ; - /*! - * Interface stuff. - */ + virtual void setNodeAutoBanThreshold(uint32_t n) ; + virtual uint32_t nodeAutoBanThreshold() ; + virtual void setNodeAutoPositiveOpinionForContacts(bool b) ; + virtual bool nodeAutoPositiveOpinionForContacts() ; + virtual float nodeAutoBanIdentitiesLimit() ; + virtual void setNodeAutoBanIdentitiesLimit(float f) ; + + /***** overloaded from p3Service *****/ + virtual int tick(); + virtual int status(); + + /*! + * Interface stuff. + */ + + /************* from p3Config *******************/ + virtual RsSerialiser *setupSerialiser() ; + virtual bool saveList(bool& cleanup, std::list&) ; + virtual void saveDone(); + virtual bool loadList(std::list& load) ; - /************* from p3Config *******************/ - virtual RsSerialiser *setupSerialiser() ; - virtual bool saveList(bool& cleanup, std::list&) ; - virtual void saveDone(); - virtual bool loadList(std::list& load) ; - private: - bool processIncoming(); + bool processIncoming(); - bool SendReputations(RsGxsReputationRequestItem *request); - bool RecvReputations(RsGxsReputationUpdateItem *item); - bool updateLatestUpdate(RsPeerId peerid, time_t latest_update); - void updateActiveFriends() ; - void updateBannedNodesList(); - - // internal update of data. Takes care of cleaning empty boxes. - void locked_updateOpinion(const RsPeerId &from, const RsGxsId &about, RsReputations::Opinion op); - bool loadReputationSet(RsGxsReputationSetItem *item, const std::set &peerSet); + bool SendReputations(RsGxsReputationRequestItem *request); + bool RecvReputations(RsGxsReputationUpdateItem *item); + bool updateLatestUpdate(RsPeerId peerid, time_t latest_update); + void updateActiveFriends() ; + void updateBannedNodesList(); - int sendPackets(); - void cleanup(); - void sendReputationRequests(); - int sendReputationRequest(RsPeerId peerid); - void debug_print() ; - void updateIdentityFlags(); + // internal update of data. Takes care of cleaning empty boxes. + void locked_updateOpinion(const RsPeerId &from, const RsGxsId &about, RsReputations::Opinion op); + bool loadReputationSet(RsGxsReputationSetItem *item, const std::set &peerSet); - private: - RsMutex mReputationMtx; + int sendPackets(); + void cleanup(); + void sendReputationRequests(); + int sendReputationRequest(RsPeerId peerid); + void debug_print() ; + void updateIdentityFlags(); - time_t mLastActiveFriendsUpdate; - time_t mRequestTime; - time_t mStoreTime; - time_t mLastBannedNodesUpdate ; - bool mReputationsUpdated; - uint32_t mAverageActiveFriends ; +private: + RsMutex mReputationMtx; - p3LinkMgr *mLinkMgr; + time_t mLastActiveFriendsUpdate; + time_t mRequestTime; + time_t mStoreTime; + time_t mLastBannedNodesUpdate ; + bool mReputationsUpdated; + uint32_t mAverageActiveFriends ; - // Data for Reputation. - std::map mConfig; - std::map mReputations; - std::multimap mUpdated; + float mAutoBanIdentitiesLimit ; + bool mAutoSetPositiveOptionToContacts; - // set of Reputations to send to p3IdService. - std::set mUpdatedReputations; - - // PGP Ids auto-banned. This is updated regularly. - std::set mBannedPgpIds ; - uint32_t mPgpAutoBanThreshold ; + p3LinkMgr *mLinkMgr; + + // Data for Reputation. + std::map mConfig; + std::map mReputations; + std::multimap mUpdated; + + // set of Reputations to send to p3IdService. + std::set mUpdatedReputations; + + // PGP Ids auto-banned. This is updated regularly. + std::set mBannedPgpIds ; + uint32_t mPgpAutoBanThreshold ; }; #endif //SERVICE_RSGXSREPUTATION_HEADER diff --git a/retroshare-gui/src/gui/settings/PeoplePage.cpp b/retroshare-gui/src/gui/settings/PeoplePage.cpp index f2df90bf3..197874d90 100644 --- a/retroshare-gui/src/gui/settings/PeoplePage.cpp +++ b/retroshare-gui/src/gui/settings/PeoplePage.cpp @@ -37,19 +37,30 @@ PeoplePage::~PeoplePage() /** Saves the changes on this page */ bool PeoplePage::save(QString &/*errmsg*/) { - if(!ui.identityBan_CB->isChecked()) - rsReputations->setNodeAutoBanThreshold(0) ; - else - rsReputations->setNodeAutoBanThreshold(ui.identityBanThreshold_SB->value()) ; + if(!ui.identityBan_CB->isChecked()) + rsReputations->setNodeAutoBanThreshold(0) ; + else + rsReputations->setNodeAutoBanThreshold(ui.identityBanThreshold_SB->value()) ; - return true; + if(!ui.autoPositiveOpinion_CB->isChecked()) + rsReputations->setNodeAutoPositiveOpinionForContacts(true) ; + else + rsReputations->setNodeAutoPositiveOpinionForContacts(false) ; + + rsReputations->setNodeAutoBanIdentitiesLimit(ui.autoBanIdentitiesLimit_SB->value()); + + return true; } /** Loads the settings for this page */ void PeoplePage::load() { uint32_t ban_limit = rsReputations->nodeAutoBanThreshold() ; + bool auto_positive_contacts = rsReputations->nodeAutoPositiveOpinionForContacts() ; + float node_auto_ban_identities_limit = rsReputations->nodeAutoBanIdentitiesLimit(); ui.identityBan_CB->setChecked(ban_limit > 0) ; ui.identityBanThreshold_SB->setValue(ban_limit) ; + ui.autoPositiveOpinion_CB->setChecked(auto_positive_contacts); + ui.autoBanIdentitiesLimit_SB->setValue(node_auto_ban_identities_limit); } diff --git a/retroshare-gui/src/gui/settings/PeoplePage.ui b/retroshare-gui/src/gui/settings/PeoplePage.ui index 60a4a4121..e7d05919b 100644 --- a/retroshare-gui/src/gui/settings/PeoplePage.ui +++ b/retroshare-gui/src/gui/settings/PeoplePage.ui @@ -16,7 +16,7 @@ Identities handling - + @@ -61,6 +61,49 @@ + + + + <html><head/><body><p>Anyone in your contact list will automatically have a positive opinion. This allows to automatically raise reputations of used nodes. </p></body></html> + + + automatically give "Positive" option to my contacts + + + true + + + + + + + + + Friend options below which identities are banned: + + + + + + + <html><head/><body><p>The default value of -0.6 needs 3 to 4 friends to set a negative opinion in order for that identity to be banned at your own node. This is a pretty conservative value. If you want to more easily get rid of banned identities, set the value to e.g. -0.2</p></body></html> + + + -1.000000000000000 + + + -0.010000000000000 + + + 0.010000000000000 + + + -0.600000000000000 + + + + + From f5e55e849baec038490c8a829b1737ac4745508e Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 25 Jul 2016 16:04:30 -0400 Subject: [PATCH 066/158] fixed a few bugs in the People tab --- libretroshare/src/services/p3gxsreputation.cc | 16 +++++++--------- libretroshare/src/services/p3gxsreputation.h | 1 + retroshare-gui/src/gui/settings/PeoplePage.cpp | 2 +- retroshare-gui/src/gui/settings/PeoplePage.ui | 4 ++-- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/libretroshare/src/services/p3gxsreputation.cc b/libretroshare/src/services/p3gxsreputation.cc index 5ccef637b..4b41e927c 100644 --- a/libretroshare/src/services/p3gxsreputation.cc +++ b/libretroshare/src/services/p3gxsreputation.cc @@ -151,6 +151,7 @@ p3GxsReputation::p3GxsReputation(p3LinkMgr *lm) mStoreTime = 0; mReputationsUpdated = false; mLastActiveFriendsUpdate = time(NULL) - 0.5*ACTIVE_FRIENDS_UPDATE_PERIOD; // avoids doing it too soon since the TS from rsIdentity needs to be loaded already + mLastIdentityFlagsUpdate = time(NULL) - 3; mAverageActiveFriends = 0 ; mLastBannedNodesUpdate = 0 ; @@ -189,22 +190,18 @@ int p3GxsReputation::tick() mLastActiveFriendsUpdate = now ; } - static time_t last_identity_flags_update = 0 ; - // no more than once per 5 second chunk. - if(now > IDENTITY_FLAGS_UPDATE_DELAY+last_identity_flags_update) + if(now > IDENTITY_FLAGS_UPDATE_DELAY+mLastIdentityFlagsUpdate) { - last_identity_flags_update = now ; - updateIdentityFlags() ; + mLastIdentityFlagsUpdate = now ; } if(now > BANNED_NODES_UPDATE_DELAY+mLastBannedNodesUpdate) // 613 is not a multiple of 100, to avoid piling up work { - mLastBannedNodesUpdate = now ; - updateIdentityFlags() ; // needed before updateBannedNodesList! updateBannedNodesList(); + mLastBannedNodesUpdate = now ; } #ifdef DEBUG_REPUTATION @@ -241,7 +238,7 @@ void p3GxsReputation::setNodeAutoPositiveOpinionForContacts(bool b) if(b != mAutoSetPositiveOptionToContacts) { - mLastBannedNodesUpdate = 0 ; + mLastIdentityFlagsUpdate = 0 ; mAutoSetPositiveOptionToContacts = b ; IndicateConfigChanged() ; } @@ -953,7 +950,7 @@ bool p3GxsReputation::saveList(bool& cleanup, std::list &savelist) vitem->tlvkvs.pairs.push_back(kv) ; kv.key = "AUTO_BAN_IDENTITIES_THRESHOLD" ; - rs_sprintf(kv.value, "%d", mAutoBanIdentitiesLimit); + rs_sprintf(kv.value, "%f", mAutoBanIdentitiesLimit); vitem->tlvkvs.pairs.push_back(kv) ; kv.key = "AUTO_POSITIVE_CONTACTS" ; @@ -1017,6 +1014,7 @@ bool p3GxsReputation::loadList(std::list& loadList) if(kit->key == "AUTO_BAN_IDENTITIES_THRESHOLD") { float val ; + if (sscanf(kit->value.c_str(), "%f", &val) == 1) { mAutoBanIdentitiesLimit = val ; diff --git a/libretroshare/src/services/p3gxsreputation.h b/libretroshare/src/services/p3gxsreputation.h index 6640ded97..7bed661b2 100644 --- a/libretroshare/src/services/p3gxsreputation.h +++ b/libretroshare/src/services/p3gxsreputation.h @@ -149,6 +149,7 @@ private: time_t mRequestTime; time_t mStoreTime; time_t mLastBannedNodesUpdate ; + time_t mLastIdentityFlagsUpdate ; bool mReputationsUpdated; uint32_t mAverageActiveFriends ; diff --git a/retroshare-gui/src/gui/settings/PeoplePage.cpp b/retroshare-gui/src/gui/settings/PeoplePage.cpp index 197874d90..79959c398 100644 --- a/retroshare-gui/src/gui/settings/PeoplePage.cpp +++ b/retroshare-gui/src/gui/settings/PeoplePage.cpp @@ -42,7 +42,7 @@ bool PeoplePage::save(QString &/*errmsg*/) else rsReputations->setNodeAutoBanThreshold(ui.identityBanThreshold_SB->value()) ; - if(!ui.autoPositiveOpinion_CB->isChecked()) + if(ui.autoPositiveOpinion_CB->isChecked()) rsReputations->setNodeAutoPositiveOpinionForContacts(true) ; else rsReputations->setNodeAutoPositiveOpinionForContacts(false) ; diff --git a/retroshare-gui/src/gui/settings/PeoplePage.ui b/retroshare-gui/src/gui/settings/PeoplePage.ui index e7d05919b..66b9948ab 100644 --- a/retroshare-gui/src/gui/settings/PeoplePage.ui +++ b/retroshare-gui/src/gui/settings/PeoplePage.ui @@ -64,10 +64,10 @@ - <html><head/><body><p>Anyone in your contact list will automatically have a positive opinion. This allows to automatically raise reputations of used nodes. </p></body></html> + <html><head/><body><p>Anyone in your contact list will automatically have a positive opinion if not set. This allows to automatically raise reputations of used nodes. </p></body></html> - automatically give "Positive" option to my contacts + automatically give "Positive" opinion to my contacts true From ed05ec7008a7d61039f7b3bae6cc4db830277379 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 25 Jul 2016 16:06:28 -0400 Subject: [PATCH 067/158] fixed text in People tab --- retroshare-gui/src/gui/settings/PeoplePage.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/settings/PeoplePage.ui b/retroshare-gui/src/gui/settings/PeoplePage.ui index 66b9948ab..31d05588f 100644 --- a/retroshare-gui/src/gui/settings/PeoplePage.ui +++ b/retroshare-gui/src/gui/settings/PeoplePage.ui @@ -79,7 +79,7 @@ - Friend options below which identities are banned: + Friend average opinion below which identities are banned: From c73be934ed64098a52cfebacd395d96f44b10706 Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 26 Jul 2016 16:06:03 +0200 Subject: [PATCH 068/158] removed anti-spam message that has become irrelevant --- retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp index 22b7aab8f..4aacf3485 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp +++ b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp @@ -782,9 +782,6 @@ void GxsForumThreadWidget::insertGroupData() if(IS_GROUP_PGP_KNOWN_AUTHED(tw->mSignFlags)) anti_spam_features1 = tr("Anonymous/unknown node IDs reputation threshold set to 0.4"); else if(IS_GROUP_PGP_AUTHED(tw->mSignFlags)) anti_spam_features1 = tr("Anonymous IDs reputation threshold set to 0.4"); - QString anti_spam_features2 ; - if(IS_GROUP_MESSAGE_TRACKING(tw->mSignFlags)) anti_spam_features2 = tr("Message routing info kept for 10 days"); - tw->mForumDescription = QString("%1: \t%2
").arg(tr("Forum name"), QString::fromUtf8( group.mMeta.mGroupName.c_str())); tw->mForumDescription += QString("%1: \t%2
").arg(tr("Subscribers")).arg(group.mMeta.mPop); tw->mForumDescription += QString("%1: \t%2
").arg(tr("Posts (at neighbor nodes)")).arg(group.mMeta.mVisibleMsgCount); @@ -831,9 +828,6 @@ void GxsForumThreadWidget::insertGroupData() if(!anti_spam_features1.isNull()) tw->mForumDescription += QString("%1: \t%2
").arg(tr("Anti-spam")).arg(anti_spam_features1); - if(!anti_spam_features2.isNull()) - tw->mForumDescription += QString("%1: \t%2
").arg(tr("Anti-spam")).arg(anti_spam_features2); - tw->mForumDescription += QString("%1:

%2").arg(tr("Description"), QString::fromUtf8(group.mDescription.c_str())); tw->ui->subscribeToolButton->setSubscribed(IS_GROUP_SUBSCRIBED(tw->mSubscribeFlags)); From fe7de8352911f578b85490d0034fae2d23b258f5 Mon Sep 17 00:00:00 2001 From: Gio Date: Thu, 28 Jul 2016 14:08:49 +0200 Subject: [PATCH 069/158] WebUI is now optional but enabled by default at compile time --- libresapi/src/libresapi.pro | 14 +- retroshare-gui/src/gui/AboutDialog.cpp | 5 + retroshare-gui/src/gui/HelpDialog.cpp | 5 + retroshare-gui/src/gui/MainWindow.cpp | 4 + retroshare-gui/src/gui/MainWindow.h | 2 + retroshare-gui/src/gui/settings/WebuiPage.cpp | 2 +- .../src/gui/settings/rsettingswin.cpp | 3 +- retroshare-gui/src/main.cpp | 4 + retroshare-gui/src/retroshare-gui.pro | 12 +- retroshare-nogui/src/retroshare-nogui.pro | 732 +++++++++--------- retroshare.pri | 23 + 11 files changed, 426 insertions(+), 380 deletions(-) diff --git a/libresapi/src/libresapi.pro b/libresapi/src/libresapi.pro index bf51989f8..14faff570 100644 --- a/libresapi/src/libresapi.pro +++ b/libresapi/src/libresapi.pro @@ -8,11 +8,12 @@ TARGET = resapi TARGET_PRL = libresapi DESTDIR = lib -CONFIG += libmicrohttpd - INCLUDEPATH += ../../libretroshare/src -unix { +libresapihttpserver { + CONFIG += libmicrohttpd + + unix { webui_files.path = "$${DATA_DIR}/webui" webui_files.files = webui/app.js webui/app.css webui/index.html @@ -81,9 +82,9 @@ unix { QMAKE_EXTRA_COMPILERS += create_webfiles_html create_webfiles_js create_webfiles_css -} + } -win32{ + win32 { DEFINES *= WINDOWS_SYS INCLUDEPATH += . $$INC_DIR @@ -104,9 +105,8 @@ win32{ # create dummy files system($$MAKE_SRC\\init.bat .) -} + } -libmicrohttpd{ linux { CONFIG += link_pkgconfig PKGCONFIG *= libmicrohttpd diff --git a/retroshare-gui/src/gui/AboutDialog.cpp b/retroshare-gui/src/gui/AboutDialog.cpp index 7d1a047d6..441b78b9e 100644 --- a/retroshare-gui/src/gui/AboutDialog.cpp +++ b/retroshare-gui/src/gui/AboutDialog.cpp @@ -29,7 +29,10 @@ #include #include #include "settings/rsharesettings.h" + +#ifdef ENABLE_WEBUI #include +#endif #include #include @@ -781,11 +784,13 @@ void AboutDialog::on_copy_button_clicked() RsControl::instance()->getLibraries(libraries); verInfo+=addLibraries("libretroshare", libraries); +#ifdef ENABLE_WEBUI /* Add version numbers of RetroShare */ // Add versions here. Find a better place. libraries.clear(); libraries.push_back(RsLibraryInfo("Libmicrohttpd", MHD_get_version())); verInfo+=addLibraries("RetroShare", libraries); +#endif // ENABLE_WEBUI /* Add version numbers of plugins */ if (rsPlugins) { diff --git a/retroshare-gui/src/gui/HelpDialog.cpp b/retroshare-gui/src/gui/HelpDialog.cpp index b0811d74d..c27e404a2 100644 --- a/retroshare-gui/src/gui/HelpDialog.cpp +++ b/retroshare-gui/src/gui/HelpDialog.cpp @@ -24,7 +24,10 @@ #include #include + +#ifdef ENABLE_WEBUI #include +#endif // ENABLE_WEBUI #include #include @@ -94,11 +97,13 @@ HelpDialog::HelpDialog(QWidget *parent) : RsControl::instance()->getLibraries(libraries); addLibraries(ui->libraryLayout, "libretroshare", libraries); +#ifdef ENABLE_WEBUI /* Add version numbers of RetroShare */ // Add versions here. Find a better place. libraries.clear(); libraries.push_back(RsLibraryInfo("Libmicrohttpd", MHD_get_version())); addLibraries(ui->libraryLayout, "RetroShare", libraries); +#endif // ENABLE_WEBUI /* Add version numbers of plugins */ if (rsPlugins) { diff --git a/retroshare-gui/src/gui/MainWindow.cpp b/retroshare-gui/src/gui/MainWindow.cpp index 4fd1bebab..12050615e 100644 --- a/retroshare-gui/src/gui/MainWindow.cpp +++ b/retroshare-gui/src/gui/MainWindow.cpp @@ -562,7 +562,9 @@ void MainWindow::createTrayIcon() trayMenu->addSeparator(); trayMenu->addAction(QIcon(IMAGE_MESSENGER), tr("Open Messenger"), this, SLOT(showMessengerWindow())); trayMenu->addAction(QIcon(IMAGE_MESSAGES), tr("Open Messages"), this, SLOT(showMess())); +#ifdef ENABLE_WEBUI trayMenu->addAction(QIcon(":/images/emblem-web.png"), tr("Show web interface"), this, SLOT(showWebinterface())); +#endif // ENABLE_WEBUI trayMenu->addAction(QIcon(IMAGE_BWGRAPH), tr("Bandwidth Graph"), _bandwidthGraph, SLOT(showWindow())); trayMenu->addAction(QIcon(IMAGE_DHT), tr("Statistics"), this, SLOT(showStatisticsWindow())); @@ -1061,10 +1063,12 @@ void MainWindow::showStatisticsWindow() StatisticsWindow::showYourself(); } +#ifdef ENABLE_WEBUI void MainWindow::showWebinterface() { WebuiPage::showWebui(); } +#endif // ENABLE_WEBUI /** Shows Application window */ #ifdef UNFINISHED diff --git a/retroshare-gui/src/gui/MainWindow.h b/retroshare-gui/src/gui/MainWindow.h index b65d5992b..9bdaeb97b 100644 --- a/retroshare-gui/src/gui/MainWindow.h +++ b/retroshare-gui/src/gui/MainWindow.h @@ -211,7 +211,9 @@ private slots: void newRsCollection(); void showMessengerWindow(); void showStatisticsWindow(); +#ifdef ENABLE_WEBUI void showWebinterface(); +#endif //void servicePermission(); #ifdef UNFINISHED diff --git a/retroshare-gui/src/gui/settings/WebuiPage.cpp b/retroshare-gui/src/gui/settings/WebuiPage.cpp index 8e8c3498b..cb7121746 100644 --- a/retroshare-gui/src/gui/settings/WebuiPage.cpp +++ b/retroshare-gui/src/gui/settings/WebuiPage.cpp @@ -15,7 +15,7 @@ resource_api::ApiServer* WebuiPage::apiServer = 0; resource_api::ApiServerMHD* WebuiPage::apiServerMHD = 0; -// TODO: LIBRESAPI_LOCAL_SERVER Move in appropriate place +// TODO: LIBRESAPI_LOCAL_SERVER Put indipendent option for libresapilocalserver in appropriate place #ifdef LIBRESAPI_LOCAL_SERVER resource_api::ApiServerLocal* WebuiPage::apiServerLocal = 0; #endif diff --git a/retroshare-gui/src/gui/settings/rsettingswin.cpp b/retroshare-gui/src/gui/settings/rsettingswin.cpp index 8a57e148d..0a3e8dbc4 100644 --- a/retroshare-gui/src/gui/settings/rsettingswin.cpp +++ b/retroshare-gui/src/gui/settings/rsettingswin.cpp @@ -152,8 +152,9 @@ RSettingsWin::initStackedWidget() addPage(new AppearancePage()); addPage(new SoundPage() ); addPage(new ServicePermissionsPage() ); +#ifdef ENABLE_WEBUI addPage(new WebuiPage() ); - +#endif // ENABLE_WEBUI // add widgets from plugins for(int i=0;inbPlugins();++i) diff --git a/retroshare-gui/src/main.cpp b/retroshare-gui/src/main.cpp index f7e7c835d..e0ddf3796 100644 --- a/retroshare-gui/src/main.cpp +++ b/retroshare-gui/src/main.cpp @@ -397,13 +397,17 @@ feenableexcept(FE_INVALID | FE_DIVBYZERO); notify->enable() ; // enable notification system after GUI creation, to avoid data races in Qt. +#ifdef ENABLE_WEBUI WebuiPage::checkStartWebui(); +#endif // ENABLE_WEBUI /* dive into the endless loop */ int ti = rshare.exec(); delete w ; +#ifdef ENABLE_WEBUI WebuiPage::checkShutdownWebui(); +#endif // ENABLE_WEBUI /* cleanup */ ChatDialog::cleanupChat(); diff --git a/retroshare-gui/src/retroshare-gui.pro b/retroshare-gui/src/retroshare-gui.pro index 7a6c372a3..b4f28dc0f 100644 --- a/retroshare-gui/src/retroshare-gui.pro +++ b/retroshare-gui/src/retroshare-gui.pro @@ -551,8 +551,7 @@ HEADERS += rshare.h \ gui/connect/ConnectProgressDialog.h \ gui/groups/CreateGroup.h \ gui/GetStartedDialog.h \ - gui/settings/WebuiPage.h \ - gui/statistics/BWGraph.h \ + gui/statistics/BWGraph.h \ util/RsSyntaxHighlighter.h \ util/imageutil.h @@ -671,7 +670,7 @@ FORMS += gui/StartDialog.ui \ gui/statistics/BwCtrlWindow.ui \ gui/statistics/RttStatistics.ui \ gui/GetStartedDialog.ui \ - gui/settings/WebuiPage.ui + # gui/ForumsDialog.ui \ # gui/forums/CreateForum.ui \ @@ -854,7 +853,6 @@ SOURCES += main.cpp \ gui/settings/ServicePermissionsPage.cpp \ gui/settings/AddFileAssociationDialog.cpp \ gui/settings/GroupFrameSettingsWidget.cpp \ - gui/settings/WebuiPage.cpp \ gui/statusbar/peerstatus.cpp \ gui/statusbar/natstatus.cpp \ gui/statusbar/dhtstatus.cpp \ @@ -1390,3 +1388,9 @@ gxsgui { } + +libresapihttpserver { + HEADERS *= gui/settings/WebuiPage.h + SOURCES *= gui/settings/WebuiPage.cpp + FORMS *= gui/settings/WebuiPage.ui +} diff --git a/retroshare-nogui/src/retroshare-nogui.pro b/retroshare-nogui/src/retroshare-nogui.pro index b3c2c0bd6..03482fe6c 100644 --- a/retroshare-nogui/src/retroshare-nogui.pro +++ b/retroshare-nogui/src/retroshare-nogui.pro @@ -1,367 +1,365 @@ -!include("../../retroshare.pri"): error("Could not include file ../../retroshare.pri") - -TEMPLATE = app -TARGET = RetroShare06-nogui -CONFIG += bitdht -#CONFIG += introserver -#CONFIG += sshserver -# webinterface, requires libmicrohttpd -CONFIG += webui -CONFIG -= qt xml gui -CONFIG += link_prl - -#CONFIG += debug -debug { - QMAKE_CFLAGS -= -O2 - QMAKE_CFLAGS += -O0 - QMAKE_CFLAGS += -g - - QMAKE_CXXFLAGS -= -O2 - QMAKE_CXXFLAGS += -O0 - QMAKE_CXXFLAGS += -g -} - -################################# Linux ########################################## -linux-* { - #CONFIG += version_detail_bash_script - QMAKE_CXXFLAGS *= -D_FILE_OFFSET_BITS=64 - - LIBS *= -rdynamic -} - -unix { - target.path = "$${BIN_DIR}" - INSTALLS += target -} - -linux-g++ { - OBJECTS_DIR = temp/linux-g++/obj -} - -linux-g++-64 { - OBJECTS_DIR = temp/linux-g++-64/obj -} - -#################### Cross compilation for windows under Linux ################### - -win32-x-g++ { - OBJECTS_DIR = temp/win32-x-g++/obj - - LIBS += ../../../../lib/win32-x-g++/libssl.a - LIBS += ../../../../lib/win32-x-g++/libcrypto.a - LIBS += ../../../../lib/win32-x-g++/libminiupnpc.a - LIBS += ../../../../lib/win32-x-g++/libz.a - LIBS += -L${HOME}/.wine/drive_c/pthreads/lib -lpthreadGCE2 - LIBS += -lws2_32 -luuid -lole32 -liphlpapi -lcrypt32 -gdi32 - LIBS += -lole32 -lwinmm - - RC_FILE = gui/images/retroshare_win.rc - - DEFINES *= WIN32 -} - -#################################### Windows ##################################### - -win32 { - CONFIG += console - OBJECTS_DIR = temp/obj - RCC_DIR = temp/qrc - UI_DIR = temp/ui - MOC_DIR = temp/moc - - # solve linker warnings because of the order of the libraries - QMAKE_LFLAGS += -Wl,--start-group - - CONFIG(debug, debug|release) { - } else { - # Tell linker to use ASLR protection - QMAKE_LFLAGS += -Wl,-dynamicbase - # Tell linker to use DEP protection - QMAKE_LFLAGS += -Wl,-nxcompat - } - - for(lib, LIB_DIR):LIBS += -L"$$lib" - LIBS += -lssl -lcrypto -lpthread -lminiupnpc -lz - LIBS += -lcrypto -lws2_32 -lgdi32 - LIBS += -luuid -lole32 -liphlpapi -lcrypt32 - LIBS += -lole32 -lwinmm - - PROTOCPATH=$$BIN_DIR - - RC_FILE = resources/retroshare_win.rc - - DEFINES *= WINDOWS_SYS _USE_32BIT_TIME_T - - DEPENDPATH += . $$INC_DIR - INCLUDEPATH += . $$INC_DIR -} - -##################################### MacOS ###################################### - -macx { - # ENABLE THIS OPTION FOR Univeral Binary BUILD. - # CONFIG += ppc x86 - - LIBS += -Wl,-search_paths_first - LIBS += -lssl -lcrypto -lz - for(lib, LIB_DIR):exists($$lib/libminiupnpc.a){ LIBS += $$lib/libminiupnpc.a} - LIBS += -framework CoreFoundation - LIBS += -framework Security - for(lib, LIB_DIR):LIBS += -L"$$lib" - for(bin, BIN_DIR):LIBS += -L"$$bin" - - DEPENDPATH += . $$INC_DIR - INCLUDEPATH += . $$INC_DIR - - sshserver { - LIBS += -L../../../lib - #LIBS += -L../../../lib/libssh-0.6.0 - } - - QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen - -} - -##################################### FreeBSD ###################################### - -freebsd-* { - INCLUDEPATH *= /usr/local/include/gpgme - LIBS *= -lssl - LIBS *= -lgpgme - LIBS *= -lupnp - LIBS *= -lgnome-keyring -} - -##################################### OpenBSD ###################################### - -openbsd-* { - INCLUDEPATH *= /usr/local/include - QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen - LIBS *= -lssl -lcrypto - LIBS *= -lgpgme - LIBS *= -lupnp - LIBS *= -lgnome-keyring - LIBS *= -rdynamic -} - -##################################### Haiku ###################################### - -haiku-* { - QMAKE_CXXFLAGS *= -D_BSD_SOURCE - - PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a - PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a - - LIBS *= ../../libretroshare/src/lib/libretroshare.a - LIBS *= ../../openpgpsdk/src/lib/libops.a -lbz2 -lbsd - LIBS *= -lssl -lcrypto -lnetwork - LIBS *= -lgpgme - LIBS *= -lupnp - LIBS *= -lz - LIBS *= -lixml - - LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a - LIBS += -lsqlite3 - -} - -############################## Common stuff ###################################### - -DEPENDPATH += . ../../libretroshare/src -INCLUDEPATH += . ../../libretroshare/src - -PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a -LIBS *= ../../libretroshare/src/lib/libretroshare.a - -# Input -HEADERS += notifytxt.h -SOURCES += notifytxt.cc \ - retroshare.cc - -introserver { - HEADERS += introserver.h - SOURCES += introserver.cc - DEFINES *= RS_INTRO_SERVER -} - -webui { - DEFINES *= ENABLE_WEBUI - PRE_TARGETDEPS *= ../../libresapi/src/lib/libresapi.a - LIBS += ../../libresapi/src/lib/libresapi.a - DEPENDPATH += ../../libresapi/src - INCLUDEPATH += ../../libresapi/src - HEADERS += \ - TerminalApiClient.h - SOURCES += \ - TerminalApiClient.cpp -} - -sshserver { - - # This Requires libssh-0.5.* to compile. - # Please use this path below. - # (You can modify it locally if required - but dont commit it!) - - #LIBSSH_DIR = ../../../lib/libssh-0.5.2 - LIBSSH_DIR = ../../../libssh-0.6.0rc1 - - # - # Use the following commend to generate a Server RSA Key. - # Key should be in current directory - when run/ - # ssh-keygen -t rsa -f rs_ssh_host_rsa_key - # - # You can connect from a standard ssh, eg: ssh -p 7022 127.0.0.1 - # - # The Menu system is available from the command-line (-T) and SSH (-S) - # if it get covered by debug gunk, just press to refresh. - # - # ./retroshare-nogui -h provides some more instructions. - # - - win32 { - DEFINES *= LIBSSH_STATIC - } - - DEPENDPATH += $$LIBSSH_DIR/include/ - INCLUDEPATH += $$LIBSSH_DIR/include/ - - win32 { - LIBS += -lssh - LIBS += -lssh_threads - } else { - SSH_OK = $$system(pkg-config --atleast-version 0.5.4 libssh && echo yes) - isEmpty(SSH_OK) { - exists($$LIBSSH_DIR/build/src/libssh.a):exists($$LIBSSH_DIR/build/src/threads/libssh_threads.a) { - LIBS += $$LIBSSH_DIR/build/src/libssh.a - LIBS += $$LIBSSH_DIR/build/src/threads/libssh_threads.a - } - else { - ! exists($$LIBSSH_DIR/build/src/libssh.a):message($$LIBSSH_DIR/build/src/libssh.a does not exist) - ! exists($$LIBSSH_DIR/build/src/threads/libssh_threads.a):message($$LIBSSH_DIR/build/src/threads/libssh_threads.a does not exist) - message(You need to download and compile libssh) - message(See http://sourceforge.net/p/retroshare/code/6163/tree/trunk/) - } - } else { - LIBS += -lssh - LIBS += -lssh_threads - } - } - - HEADERS += ssh/rssshd.h - SOURCES += ssh/rssshd.cc - - # For the Menu System - HEADERS += menu/menu.h \ - menu/menus.h \ - menu/stdiocomms.h \ - - SOURCES += menu/menu.cc \ - menu/menus.cc \ - menu/stdiocomms.cc \ - - # For the RPC System - HEADERS += rpc/rpc.h \ - rpc/rpcserver.h \ - rpc/rpcsetup.h \ - rpc/rpcecho.h \ - rpcsystem.h \ - - SOURCES += rpc/rpc.cc \ - rpc/rpcserver.cc \ - rpc/rpcsetup.cc \ - rpc/rpcecho.cc \ - - # Actual protocol files to go here... - #HEADERS += rpc/proto/rpcecho.h \ - - #SOURCES += rpc/proto/rpcecho.cc \ - - DEFINES *= RS_SSH_SERVER - - # Include Protobuf classes. - CONFIG += protorpc -} - -protorpc { - # Proto Services - PROTOS = core.proto peers.proto system.proto chat.proto search.proto files.proto stream.proto - DESTPATH = $$PWD/rpc/proto/gencc - PROTOPATH = $$PWD/../../rsctrl/src/definition - CMD = echo Building protobuf files - for(pf, PROTOS):CMD += && $${PROTOCPATH}protoc --cpp_out=$${DESTPATH} --proto_path=$${PROTOPATH} $${PROTOPATH}/$${pf} - protobuf_gen.commands = $${CMD} - QMAKE_EXTRA_TARGETS += protobuf_gen - PRE_TARGETDEPS += protobuf_gen - - HEADERS += rpc/proto/rpcprotopeers.h \ - rpc/proto/rpcprotosystem.h \ - rpc/proto/rpcprotochat.h \ - rpc/proto/rpcprotosearch.h \ - rpc/proto/rpcprotofiles.h \ - rpc/proto/rpcprotostream.h \ - rpc/proto/rpcprotoutils.h \ - - SOURCES += rpc/proto/rpcprotopeers.cc \ - rpc/proto/rpcprotosystem.cc \ - rpc/proto/rpcprotochat.cc \ - rpc/proto/rpcprotosearch.cc \ - rpc/proto/rpcprotofiles.cc \ - rpc/proto/rpcprotostream.cc \ - rpc/proto/rpcprotoutils.cc \ - - # Offical Generated Code (protobuf 2.4.1) - HEADERS += rpc/proto/gencc/core.pb.h \ - rpc/proto/gencc/peers.pb.h \ - rpc/proto/gencc/system.pb.h \ - rpc/proto/gencc/chat.pb.h \ - rpc/proto/gencc/search.pb.h \ - rpc/proto/gencc/files.pb.h \ - rpc/proto/gencc/stream.pb.h \ - - SOURCES += rpc/proto/gencc/core.pb.cc \ - rpc/proto/gencc/peers.pb.cc \ - rpc/proto/gencc/system.pb.cc \ - rpc/proto/gencc/chat.pb.cc \ - rpc/proto/gencc/search.pb.cc \ - rpc/proto/gencc/files.pb.cc \ - rpc/proto/gencc/stream.pb.cc \ - - # Generated ProtoBuf Code the RPC System - # If you are developing, or have a different version of protobuf - # you can use these ones (run make inside rsctrl/src/ to generate) - #HEADERS += ../../rsctrl/src/gencc/core.pb.h \ - # ../../rsctrl/src/gencc/peers.pb.h \ - # ../../rsctrl/src/gencc/system.pb.h \ - # ../../rsctrl/src/gencc/chat.pb.h \ - # ../../rsctrl/src/gencc/search.pb.h \ - # ../../rsctrl/src/gencc/files.pb.h \ - # ../../rsctrl/src/gencc/stream.pb.h \ - - #SOURCES += ../../rsctrl/src/gencc/core.pb.cc \ - # ../../rsctrl/src/gencc/peers.pb.cc \ - # ../../rsctrl/src/gencc/system.pb.cc \ - # ../../rsctrl/src/gencc/chat.pb.cc \ - # ../../rsctrl/src/gencc/search.pb.cc \ - # ../../rsctrl/src/gencc/files.pb.cc \ - # ../../rsctrl/src/gencc/stream.pb.cc \ - - DEPENDPATH *= rpc/proto/gencc - INCLUDEPATH *= rpc/proto/gencc - - !win32 { - # unrecognized option - QMAKE_CFLAGS += -pthread - QMAKE_CXXFLAGS += -pthread - } - LIBS += -lprotobuf -lpthread - - win32 { - DEPENDPATH += $$LIBS_DIR/include/protobuf - INCLUDEPATH += $$LIBS_DIR/include/protobuf - } - - macx { - PROTOPATH = ../../../protobuf-2.4.1 - INCLUDEPATH += $${PROTOPATH}/src - } -} +!include("../../retroshare.pri"): error("Could not include file ../../retroshare.pri") + +TEMPLATE = app +TARGET = RetroShare06-nogui +CONFIG += bitdht +#CONFIG += introserver +#CONFIG += sshserver +CONFIG -= qt xml gui +CONFIG += link_prl + +#CONFIG += debug +debug { + QMAKE_CFLAGS -= -O2 + QMAKE_CFLAGS += -O0 + QMAKE_CFLAGS += -g + + QMAKE_CXXFLAGS -= -O2 + QMAKE_CXXFLAGS += -O0 + QMAKE_CXXFLAGS += -g +} + +################################# Linux ########################################## +linux-* { + #CONFIG += version_detail_bash_script + QMAKE_CXXFLAGS *= -D_FILE_OFFSET_BITS=64 + + LIBS *= -rdynamic +} + +unix { + target.path = "$${BIN_DIR}" + INSTALLS += target +} + +linux-g++ { + OBJECTS_DIR = temp/linux-g++/obj +} + +linux-g++-64 { + OBJECTS_DIR = temp/linux-g++-64/obj +} + +#################### Cross compilation for windows under Linux ################### + +win32-x-g++ { + OBJECTS_DIR = temp/win32-x-g++/obj + + LIBS += ../../../../lib/win32-x-g++/libssl.a + LIBS += ../../../../lib/win32-x-g++/libcrypto.a + LIBS += ../../../../lib/win32-x-g++/libminiupnpc.a + LIBS += ../../../../lib/win32-x-g++/libz.a + LIBS += -L${HOME}/.wine/drive_c/pthreads/lib -lpthreadGCE2 + LIBS += -lws2_32 -luuid -lole32 -liphlpapi -lcrypt32 -gdi32 + LIBS += -lole32 -lwinmm + + RC_FILE = gui/images/retroshare_win.rc + + DEFINES *= WIN32 +} + +#################################### Windows ##################################### + +win32 { + CONFIG += console + OBJECTS_DIR = temp/obj + RCC_DIR = temp/qrc + UI_DIR = temp/ui + MOC_DIR = temp/moc + + # solve linker warnings because of the order of the libraries + QMAKE_LFLAGS += -Wl,--start-group + + CONFIG(debug, debug|release) { + } else { + # Tell linker to use ASLR protection + QMAKE_LFLAGS += -Wl,-dynamicbase + # Tell linker to use DEP protection + QMAKE_LFLAGS += -Wl,-nxcompat + } + + for(lib, LIB_DIR):LIBS += -L"$$lib" + LIBS += -lssl -lcrypto -lpthread -lminiupnpc -lz + LIBS += -lcrypto -lws2_32 -lgdi32 + LIBS += -luuid -lole32 -liphlpapi -lcrypt32 + LIBS += -lole32 -lwinmm + + PROTOCPATH=$$BIN_DIR + + RC_FILE = resources/retroshare_win.rc + + DEFINES *= WINDOWS_SYS _USE_32BIT_TIME_T + + DEPENDPATH += . $$INC_DIR + INCLUDEPATH += . $$INC_DIR +} + +##################################### MacOS ###################################### + +macx { + # ENABLE THIS OPTION FOR Univeral Binary BUILD. + # CONFIG += ppc x86 + + LIBS += -Wl,-search_paths_first + LIBS += -lssl -lcrypto -lz + for(lib, LIB_DIR):exists($$lib/libminiupnpc.a){ LIBS += $$lib/libminiupnpc.a} + LIBS += -framework CoreFoundation + LIBS += -framework Security + for(lib, LIB_DIR):LIBS += -L"$$lib" + for(bin, BIN_DIR):LIBS += -L"$$bin" + + DEPENDPATH += . $$INC_DIR + INCLUDEPATH += . $$INC_DIR + + sshserver { + LIBS += -L../../../lib + #LIBS += -L../../../lib/libssh-0.6.0 + } + + QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen + +} + +##################################### FreeBSD ###################################### + +freebsd-* { + INCLUDEPATH *= /usr/local/include/gpgme + LIBS *= -lssl + LIBS *= -lgpgme + LIBS *= -lupnp + LIBS *= -lgnome-keyring +} + +##################################### OpenBSD ###################################### + +openbsd-* { + INCLUDEPATH *= /usr/local/include + QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen + LIBS *= -lssl -lcrypto + LIBS *= -lgpgme + LIBS *= -lupnp + LIBS *= -lgnome-keyring + LIBS *= -rdynamic +} + +##################################### Haiku ###################################### + +haiku-* { + QMAKE_CXXFLAGS *= -D_BSD_SOURCE + + PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a + PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a + + LIBS *= ../../libretroshare/src/lib/libretroshare.a + LIBS *= ../../openpgpsdk/src/lib/libops.a -lbz2 -lbsd + LIBS *= -lssl -lcrypto -lnetwork + LIBS *= -lgpgme + LIBS *= -lupnp + LIBS *= -lz + LIBS *= -lixml + + LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a + LIBS += -lsqlite3 + +} + +############################## Common stuff ###################################### + +DEPENDPATH += . ../../libretroshare/src +INCLUDEPATH += . ../../libretroshare/src + +PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a +LIBS *= ../../libretroshare/src/lib/libretroshare.a + +# Input +HEADERS += notifytxt.h +SOURCES += notifytxt.cc \ + retroshare.cc + +introserver { + HEADERS += introserver.h + SOURCES += introserver.cc + DEFINES *= RS_INTRO_SERVER +} + +libresapihttpserver { + DEFINES *= ENABLE_WEBUI + PRE_TARGETDEPS *= ../../libresapi/src/lib/libresapi.a + LIBS += ../../libresapi/src/lib/libresapi.a + DEPENDPATH += ../../libresapi/src + INCLUDEPATH += ../../libresapi/src + HEADERS += \ + TerminalApiClient.h + SOURCES += \ + TerminalApiClient.cpp +} + +sshserver { + + # This Requires libssh-0.5.* to compile. + # Please use this path below. + # (You can modify it locally if required - but dont commit it!) + + #LIBSSH_DIR = ../../../lib/libssh-0.5.2 + LIBSSH_DIR = ../../../libssh-0.6.0rc1 + + # + # Use the following commend to generate a Server RSA Key. + # Key should be in current directory - when run/ + # ssh-keygen -t rsa -f rs_ssh_host_rsa_key + # + # You can connect from a standard ssh, eg: ssh -p 7022 127.0.0.1 + # + # The Menu system is available from the command-line (-T) and SSH (-S) + # if it get covered by debug gunk, just press to refresh. + # + # ./retroshare-nogui -h provides some more instructions. + # + + win32 { + DEFINES *= LIBSSH_STATIC + } + + DEPENDPATH += $$LIBSSH_DIR/include/ + INCLUDEPATH += $$LIBSSH_DIR/include/ + + win32 { + LIBS += -lssh + LIBS += -lssh_threads + } else { + SSH_OK = $$system(pkg-config --atleast-version 0.5.4 libssh && echo yes) + isEmpty(SSH_OK) { + exists($$LIBSSH_DIR/build/src/libssh.a):exists($$LIBSSH_DIR/build/src/threads/libssh_threads.a) { + LIBS += $$LIBSSH_DIR/build/src/libssh.a + LIBS += $$LIBSSH_DIR/build/src/threads/libssh_threads.a + } + else { + ! exists($$LIBSSH_DIR/build/src/libssh.a):message($$LIBSSH_DIR/build/src/libssh.a does not exist) + ! exists($$LIBSSH_DIR/build/src/threads/libssh_threads.a):message($$LIBSSH_DIR/build/src/threads/libssh_threads.a does not exist) + message(You need to download and compile libssh) + message(See http://sourceforge.net/p/retroshare/code/6163/tree/trunk/) + } + } else { + LIBS += -lssh + LIBS += -lssh_threads + } + } + + HEADERS += ssh/rssshd.h + SOURCES += ssh/rssshd.cc + + # For the Menu System + HEADERS += menu/menu.h \ + menu/menus.h \ + menu/stdiocomms.h \ + + SOURCES += menu/menu.cc \ + menu/menus.cc \ + menu/stdiocomms.cc \ + + # For the RPC System + HEADERS += rpc/rpc.h \ + rpc/rpcserver.h \ + rpc/rpcsetup.h \ + rpc/rpcecho.h \ + rpcsystem.h \ + + SOURCES += rpc/rpc.cc \ + rpc/rpcserver.cc \ + rpc/rpcsetup.cc \ + rpc/rpcecho.cc \ + + # Actual protocol files to go here... + #HEADERS += rpc/proto/rpcecho.h \ + + #SOURCES += rpc/proto/rpcecho.cc \ + + DEFINES *= RS_SSH_SERVER + + # Include Protobuf classes. + CONFIG += protorpc +} + +protorpc { + # Proto Services + PROTOS = core.proto peers.proto system.proto chat.proto search.proto files.proto stream.proto + DESTPATH = $$PWD/rpc/proto/gencc + PROTOPATH = $$PWD/../../rsctrl/src/definition + CMD = echo Building protobuf files + for(pf, PROTOS):CMD += && $${PROTOCPATH}protoc --cpp_out=$${DESTPATH} --proto_path=$${PROTOPATH} $${PROTOPATH}/$${pf} + protobuf_gen.commands = $${CMD} + QMAKE_EXTRA_TARGETS += protobuf_gen + PRE_TARGETDEPS += protobuf_gen + + HEADERS += rpc/proto/rpcprotopeers.h \ + rpc/proto/rpcprotosystem.h \ + rpc/proto/rpcprotochat.h \ + rpc/proto/rpcprotosearch.h \ + rpc/proto/rpcprotofiles.h \ + rpc/proto/rpcprotostream.h \ + rpc/proto/rpcprotoutils.h \ + + SOURCES += rpc/proto/rpcprotopeers.cc \ + rpc/proto/rpcprotosystem.cc \ + rpc/proto/rpcprotochat.cc \ + rpc/proto/rpcprotosearch.cc \ + rpc/proto/rpcprotofiles.cc \ + rpc/proto/rpcprotostream.cc \ + rpc/proto/rpcprotoutils.cc \ + + # Offical Generated Code (protobuf 2.4.1) + HEADERS += rpc/proto/gencc/core.pb.h \ + rpc/proto/gencc/peers.pb.h \ + rpc/proto/gencc/system.pb.h \ + rpc/proto/gencc/chat.pb.h \ + rpc/proto/gencc/search.pb.h \ + rpc/proto/gencc/files.pb.h \ + rpc/proto/gencc/stream.pb.h \ + + SOURCES += rpc/proto/gencc/core.pb.cc \ + rpc/proto/gencc/peers.pb.cc \ + rpc/proto/gencc/system.pb.cc \ + rpc/proto/gencc/chat.pb.cc \ + rpc/proto/gencc/search.pb.cc \ + rpc/proto/gencc/files.pb.cc \ + rpc/proto/gencc/stream.pb.cc \ + + # Generated ProtoBuf Code the RPC System + # If you are developing, or have a different version of protobuf + # you can use these ones (run make inside rsctrl/src/ to generate) + #HEADERS += ../../rsctrl/src/gencc/core.pb.h \ + # ../../rsctrl/src/gencc/peers.pb.h \ + # ../../rsctrl/src/gencc/system.pb.h \ + # ../../rsctrl/src/gencc/chat.pb.h \ + # ../../rsctrl/src/gencc/search.pb.h \ + # ../../rsctrl/src/gencc/files.pb.h \ + # ../../rsctrl/src/gencc/stream.pb.h \ + + #SOURCES += ../../rsctrl/src/gencc/core.pb.cc \ + # ../../rsctrl/src/gencc/peers.pb.cc \ + # ../../rsctrl/src/gencc/system.pb.cc \ + # ../../rsctrl/src/gencc/chat.pb.cc \ + # ../../rsctrl/src/gencc/search.pb.cc \ + # ../../rsctrl/src/gencc/files.pb.cc \ + # ../../rsctrl/src/gencc/stream.pb.cc \ + + DEPENDPATH *= rpc/proto/gencc + INCLUDEPATH *= rpc/proto/gencc + + !win32 { + # unrecognized option + QMAKE_CFLAGS += -pthread + QMAKE_CXXFLAGS += -pthread + } + LIBS += -lprotobuf -lpthread + + win32 { + DEPENDPATH += $$LIBS_DIR/include/protobuf + INCLUDEPATH += $$LIBS_DIR/include/protobuf + } + + macx { + PROTOPATH = ../../../protobuf-2.4.1 + INCLUDEPATH += $${PROTOPATH}/src + } +} diff --git a/retroshare.pri b/retroshare.pri index 827aa89fd..f8d57ca78 100644 --- a/retroshare.pri +++ b/retroshare.pri @@ -2,6 +2,9 @@ # {,un}comment the following line #CONFIG *= libresapilocalserver +# To {dis,en}able libresapi via HTTP (libmicrohttpd) {,un}comment the following line +CONFIG *= libresapihttpserver + # Gxs is always enabled now. DEFINES *= RS_ENABLE_GXS @@ -14,6 +17,25 @@ unix { isEmpty(PLUGIN_DIR) { PLUGIN_DIR = "$${LIB_DIR}/retroshare/extensions6" } } +android-g++ { + DEFINES *= NO_SQLCIPHER + DEFINES *= "fopen64=fopen" + DEFINES *= "fseeko64=fseeko" + DEFINES *= "ftello64=ftello" + INCLUDEPATH *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/include/ + LIBS *= -L$$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/ + LIBS *= -lssl -lcrypto -lsqlite3 -lupnp -lixml + ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libcrypto.so + ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libssl.so + ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libbz2.so + ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libsqlite3.so + ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libupnp.so + ANDROID_EXTRA_LIBS *= $$NDK_TOOLCHAIN_PATH/sysroot/usr/lib/libixml.so + message(NDK_TOOLCHAIN_PATH: $$NDK_TOOLCHAIN_PATH) + message(LIBS: $$LIBS) + message(ANDROID_EXTRA_LIBS: $$ANDROID_EXTRA_LIBS) +} + win32 { message(***retroshare.pri:Win32) exists($$PWD/../libs) { @@ -68,3 +90,4 @@ unfinished { wikipoos:DEFINES *= RS_USE_WIKI libresapilocalserver:DEFINES *= LIBRESAPI_LOCAL_SERVER +libresapihttpserver::DEFINES *= ENABLE_WEBUI From 7c2e2bd503d88f432a9a1fa1d89488e7a17612a4 Mon Sep 17 00:00:00 2001 From: Gio Date: Thu, 28 Jul 2016 17:24:17 +0200 Subject: [PATCH 070/158] take in account that QLocalSocket is of type STREAM so it doesn't emit readyRead event for each write() on the other side --- libresapi/src/api/ApiServerLocal.cpp | 48 +++++++++++++++------------- libresapi/src/api/ApiServerLocal.h | 3 +- 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/libresapi/src/api/ApiServerLocal.cpp b/libresapi/src/api/ApiServerLocal.cpp index e951c2425..e1d5e2623 100644 --- a/libresapi/src/api/ApiServerLocal.cpp +++ b/libresapi/src/api/ApiServerLocal.cpp @@ -27,48 +27,50 @@ void ApiServerLocal::handleConnection() } ApiLocalConnectionHandler::ApiLocalConnectionHandler(ApiServer* apiServer, QLocalSocket* sock) : - QThread(), mApiServer(apiServer), mLocalSocket(sock), mState(WAITING_PATH) + QThread(), mApiServer(apiServer), mLocalSocket(sock) { sock->moveToThread(this); - connect(mLocalSocket, SIGNAL(disconnected()), this, SLOT(quit())); connect(this, SIGNAL(finished()), this, SLOT(deleteLater())); + connect(mLocalSocket, SIGNAL(disconnected()), this, SLOT(quit())); connect(sock, SIGNAL(readyRead()), this, SLOT(handleRequest())); start(); } void ApiLocalConnectionHandler::handleRequest() { - switch(mState) + char path[1024]; + if(mLocalSocket->readLine(path, 1023) > 0) { - case WAITING_PATH: - { - char path[1024]; - mLocalSocket->readLine(path, 1023); reqPath = path; - mState = WAITING_DATA; - break; + char jsonData[20480]; + if(mLocalSocket->read(jsonData, 20479) > 0) + { + resource_api::JsonStream reqJson; + reqJson.setJsonString(std::string(jsonData)); + resource_api::Request req(reqJson); + req.setPath(reqPath); + std::string resultString = mApiServer->handleRequest(req); + mLocalSocket->write(resultString.c_str(), resultString.length()); + mLocalSocket->write("\n\0"); + } + else + { + mLocalSocket->write("\"{\"data\":null,\"debug_msg\":\"ApiLocalConnectionHandler::handleRequest() Error: timeout waiting for path.\\n\",\"returncode\":\"fail\"}\"\n\0"); + quit(); + } } - case WAITING_DATA: + else { - char jsonData[1024]; - mLocalSocket->read(jsonData, 1023); - resource_api::JsonStream reqJson; - reqJson.setJsonString(std::string(jsonData)); - resource_api::Request req(reqJson); - req.setPath(reqPath); - std::string resultString = mApiServer->handleRequest(req); - mLocalSocket->write(resultString.data(), resultString.length()); - mState = WAITING_PATH; - break; - } + mLocalSocket->write("{\"data\":null,\"debug_msg\":\"ApiLocalConnectionHandler::handleRequest() Error: timeout waiting for JSON data.\\n\",\"returncode\":\"fail\"}\"\n\0"); + quit(); } } ApiLocalConnectionHandler::~ApiLocalConnectionHandler() { + mLocalSocket->flush(); mLocalSocket->close(); - delete mLocalSocket; + mLocalSocket->deleteLater(); } - } // namespace resource_api diff --git a/libresapi/src/api/ApiServerLocal.h b/libresapi/src/api/ApiServerLocal.h index 3e8100453..73f001143 100644 --- a/libresapi/src/api/ApiServerLocal.h +++ b/libresapi/src/api/ApiServerLocal.h @@ -43,7 +43,6 @@ class ApiLocalConnectionHandler : public QThread public: ApiLocalConnectionHandler(ApiServer* apiServer, QLocalSocket* sock); ~ApiLocalConnectionHandler(); - enum State {WAITING_PATH, WAITING_DATA}; public slots: void handleRequest(); @@ -51,8 +50,8 @@ public slots: private: ApiServer* mApiServer; QLocalSocket* mLocalSocket; - State mState; std::string reqPath; + void _die(); }; } // namespace resource_api From 431dd6850975307c58f7b1529d27e2201805ec9a Mon Sep 17 00:00:00 2001 From: defnax Date: Fri, 29 Jul 2016 17:29:54 +0200 Subject: [PATCH 071/158] Temporary solution for the Filter Combobox it takes to much space, no space more for search filter,moved under the ToolBar. --- retroshare-gui/src/gui/Identity/IdDialog.ui | 67 +++++++++++++++++---- 1 file changed, 56 insertions(+), 11 deletions(-) diff --git a/retroshare-gui/src/gui/Identity/IdDialog.ui b/retroshare-gui/src/gui/Identity/IdDialog.ui index ef764b818..0c0a93c1d 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.ui +++ b/retroshare-gui/src/gui/Identity/IdDialog.ui @@ -6,8 +6,8 @@ 0 0 - 1475 - 1134 + 800 + 600
@@ -20,7 +20,16 @@ - + + 0 + + + 0 + + + 0 + + 0 @@ -38,7 +47,16 @@ QFrame::Sunken - + + 2 + + + 2 + + + 2 + + 2 @@ -129,15 +147,21 @@ QFrame::Sunken - + + 1 + + + 1 + + + 1 + + 1 - - - @@ -205,6 +229,9 @@
+ + + @@ -257,7 +284,7 @@ Reputation
- AlignLeft|AlignVCenter + AlignLeading|AlignVCenter @@ -334,7 +361,16 @@ - + + 6 + + + 6 + + + 6 + + 6 @@ -508,7 +544,16 @@ - + + 6 + + + 6 + + + 6 + + 6 From d3beccf3e256d2c8a60ddc33f74d1c8b6fdb77c6 Mon Sep 17 00:00:00 2001 From: Phenom Date: Fri, 29 Jul 2016 20:54:26 +0200 Subject: [PATCH 072/158] Merge Filter ComboBox to Header Context Menu in IdDialog. --- retroshare-gui/src/gui/Identity/IdDialog.cpp | 110 ++- retroshare-gui/src/gui/Identity/IdDialog.h | 3 +- retroshare-gui/src/gui/Identity/IdDialog.ui | 676 +++++++++--------- .../src/gui/common/RSTreeWidget.cpp | 12 + retroshare-gui/src/gui/common/RSTreeWidget.h | 3 + 5 files changed, 430 insertions(+), 374 deletions(-) diff --git a/retroshare-gui/src/gui/Identity/IdDialog.cpp b/retroshare-gui/src/gui/Identity/IdDialog.cpp index c9c66fa2b..80a501a97 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDialog.cpp @@ -202,22 +202,21 @@ IdDialog::IdDialog(QWidget *parent) : connect(ui->idTreeWidget, SIGNAL(itemSelectionChanged()), this, SLOT(updateSelection())); connect(ui->idTreeWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(IdListCustomPopupMenu(QPoint))); - connect(ui->filterComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(filterComboBoxChanged())); connect(ui->filterLineEdit, SIGNAL(textChanged(QString)), this, SLOT(filterChanged(QString))); connect(ui->ownOpinion_CB, SIGNAL(currentIndexChanged(int)), this, SLOT(modifyReputation())); connect(ui->inviteButton, SIGNAL(clicked()), this, SLOT(sendInvite())); - ui->avlabel->setPixmap(QPixmap(":/images/user/friends64.png")); + ui->avLabel_Person->setPixmap(QPixmap(":/images/user/friends64.png")); ui->avlabel_Circles->setPixmap(QPixmap(":/icons/circles_128.png")); - ui->headerTextLabel->setText(tr("People")); + ui->headerTextLabel_Person->setText(tr("People")); ui->headerTextLabel_Circles->setText(tr("Circles")); /* Initialize splitter */ - ui->splitter->setStretchFactor(0, 0); - ui->splitter->setStretchFactor(1, 1); + ui->mainSplitter->setStretchFactor(0, 0); + ui->mainSplitter->setStretchFactor(1, 1); /*remove QList sizes; @@ -225,13 +224,54 @@ IdDialog::IdDialog(QWidget *parent) : ui->splitter->setSizes(sizes);*/ /* Add filter types */ - ui->filterComboBox->addItem(tr("All"), RSID_FILTER_ALL); - ui->filterComboBox->addItem(tr("Owned by myself"), RSID_FILTER_OWNED_BY_YOU); - ui->filterComboBox->addItem(tr("Linked to my node"), RSID_FILTER_YOURSELF); - ui->filterComboBox->addItem(tr("Linked to neighbor nodes"), RSID_FILTER_FRIENDS); - ui->filterComboBox->addItem(tr("Linked to distant nodes"), RSID_FILTER_OTHERS); - ui->filterComboBox->addItem(tr("Anonymous"), RSID_FILTER_PSEUDONYMS); - ui->filterComboBox->setCurrentIndex(0); + QMenu *idTWHMenu = new QMenu(tr("Show"), this); + idTWHMenu->setVisible(true); + ui->idTreeWidget->addHeaderContextMenuMenu(idTWHMenu); + + QActionGroup *idTWHActionGroup = new QActionGroup(this); + QAction *idTWHAction = new QAction(QIcon(),tr("All"), this); + idTWHAction->setActionGroup(idTWHActionGroup); + idTWHAction->setCheckable(true); + idTWHAction->setChecked(true); + filter = RSID_FILTER_ALL; + idTWHAction->setData(RSID_FILTER_ALL); + connect(idTWHAction, SIGNAL(toggled(bool)), this, SLOT(filterToggled(bool))); + idTWHMenu->addAction(idTWHAction); + + idTWHAction = new QAction(QIcon(),tr("Owned by myself"), this); + idTWHAction->setActionGroup(idTWHActionGroup); + idTWHAction->setCheckable(true); + idTWHAction->setData(RSID_FILTER_OWNED_BY_YOU); + connect(idTWHAction, SIGNAL(toggled(bool)), this, SLOT(filterToggled(bool))); + idTWHMenu->addAction(idTWHAction); + + idTWHAction = new QAction(QIcon(),tr("Linked to my node"), this); + idTWHAction->setActionGroup(idTWHActionGroup); + idTWHAction->setCheckable(true); + idTWHAction->setData(RSID_FILTER_YOURSELF); + connect(idTWHAction, SIGNAL(toggled(bool)), this, SLOT(filterToggled(bool))); + idTWHMenu->addAction(idTWHAction); + + idTWHAction = new QAction(QIcon(),tr("Linked to neighbor nodes"), this); + idTWHAction->setActionGroup(idTWHActionGroup); + idTWHAction->setCheckable(true); + idTWHAction->setData(RSID_FILTER_FRIENDS); + connect(idTWHAction, SIGNAL(toggled(bool)), this, SLOT(filterToggled(bool))); + idTWHMenu->addAction(idTWHAction); + + idTWHAction = new QAction(QIcon(),tr("Linked to distant nodes"), this); + idTWHAction->setActionGroup(idTWHActionGroup); + idTWHAction->setCheckable(true); + idTWHAction->setData(RSID_FILTER_OTHERS); + connect(idTWHAction, SIGNAL(toggled(bool)), this, SLOT(filterToggled(bool))); + idTWHMenu->addAction(idTWHAction); + + idTWHAction = new QAction(QIcon(),tr("Anonymous"), this); + idTWHAction->setActionGroup(idTWHActionGroup); + idTWHAction->setCheckable(true); + idTWHAction->setData(RSID_FILTER_PSEUDONYMS); + connect(idTWHAction, SIGNAL(toggled(bool)), this, SLOT(filterToggled(bool))); + idTWHMenu->addAction(idTWHAction); /* Add filter actions */ QTreeWidgetItem *headerItem = ui->idTreeWidget->headerItem(); @@ -576,8 +616,8 @@ void IdDialog::loadCircleGroupMeta(const uint32_t &token) #endif // remove any identity that has an item, but no subscription flag entry std::vector to_delete ; - - for(uint32_t k=0;kchildCount();++k) + + for(uint32_t k=0; k < (uint32_t)item->childCount(); ++k) if(details.mSubscriptionFlags.find(RsGxsId(item->child(k)->data(CIRCLEGROUP_CIRCLE_COL_GROUPID,Qt::UserRole).toString().toStdString())) == details.mSubscriptionFlags.end()) to_delete.push_back(item->child(k)); @@ -599,7 +639,7 @@ void IdDialog::loadCircleGroupMeta(const uint32_t &token) QTreeWidgetItem *subitem = NULL ; // see if the item already exists - for(uint32_t k=0;kchildCount();++k) + for(uint32_t k=0; k < (uint32_t)item->childCount(); ++k) if(item->child(k)->data(CIRCLEGROUP_CIRCLE_COL_GROUPID,Qt::UserRole).toString().toStdString() == it->first.toStdString()) { subitem = item->child(k); @@ -1247,7 +1287,7 @@ void IdDialog::processSettings(bool load) ui->filterLineEdit->setCurrentFilter(Settings->value("filterColumn", RSID_COL_NICKNAME).toInt()); // state of splitter - ui->splitter->restoreState(Settings->value("splitter").toByteArray()); + ui->mainSplitter->restoreState(Settings->value("splitter").toByteArray()); } else { // save settings @@ -1255,7 +1295,7 @@ void IdDialog::processSettings(bool load) Settings->setValue("filterColumn", ui->filterLineEdit->currentFilter()); // state of splitter - Settings->setValue("splitter", ui->splitter->saveState()); + Settings->setValue("splitter", ui->mainSplitter->saveState()); //save expanding Settings->setValue("ExpandAll", allItem->isExpanded()); @@ -1266,16 +1306,22 @@ void IdDialog::processSettings(bool load) Settings->endGroup(); } -void IdDialog::filterComboBoxChanged() -{ - requestIdList(); -} - void IdDialog::filterChanged(const QString& /*text*/) { filterIds(); } +void IdDialog::filterToggled(const bool &value) +{ + if (value) { + QAction *source = qobject_cast(QObject::sender()); + if (source) { + filter = source->data().toInt(); + requestIdList(); + } + } +} + void IdDialog::updateSelection() { QTreeWidgetItem *item = ui->idTreeWidget->currentItem(); @@ -1460,7 +1506,7 @@ void IdDialog::insertIdList(uint32_t token) { mStateHelper->setLoading(IDDIALOG_IDLIST, false); - int accept = ui->filterComboBox->itemData(ui->filterComboBox->currentIndex()).toInt(); + int accept = filter; RsGxsIdGroup data; std::vector datavector; @@ -1633,7 +1679,7 @@ void IdDialog::insertIdDetails(uint32_t token) time_t now = time(NULL) ; ui->lineEdit_LastUsed->setText(getHumanReadableDuration(now - data.mLastUsageTS)) ; - ui->headerTextLabel->setText(QString::fromUtf8(data.mMeta.mGroupName.c_str()).left(RSID_MAXIMUM_NICKNAME_SIZE)); + ui->headerTextLabel_Person->setText(QString::fromUtf8(data.mMeta.mGroupName.c_str()).left(RSID_MAXIMUM_NICKNAME_SIZE)); QPixmap pixmap ; @@ -1644,7 +1690,7 @@ void IdDialog::insertIdDetails(uint32_t token) std::cerr << "Setting header frame image : " << pixmap.width() << " x " << pixmap.height() << std::endl; #endif - ui->avlabel->setPixmap(pixmap); + ui->avLabel_Person->setPixmap(pixmap); ui->avatarLabel->setPixmap(pixmap); if (data.mPgpKnown) @@ -1664,23 +1710,23 @@ void IdDialog::insertIdDetails(uint32_t token) if(data.mPgpId.isNull()) { ui->lineEdit_GpgId->hide() ; - ui->PgpId_LB->hide() ; + ui->label_GpgId->hide() ; } else { ui->lineEdit_GpgId->show() ; - ui->PgpId_LB->show() ; + ui->label_GpgId->show() ; } if(data.mPgpKnown) { ui->lineEdit_GpgName->show() ; - ui->PgpName_LB->show() ; + ui->label_GpgName->show() ; } else { ui->lineEdit_GpgName->hide() ; - ui->PgpName_LB->hide() ; + ui->label_GpgName->hide() ; } bool isLinkedToOwnPgpId = (data.mPgpKnown && (data.mPgpId == ownPgpId)) ; @@ -1702,7 +1748,9 @@ void IdDialog::insertIdDetails(uint32_t token) ui->lineEdit_Type->setText(tr("Linked to unknown Retroshare node")) ; } else + { ui->lineEdit_Type->setText(tr("Anonymous identity")) ; + } if (isOwnId) { @@ -2054,7 +2102,8 @@ void IdDialog::IdListCustomPopupMenu( QPoint ) if(!one_item_owned_by_you) { - if(n_selected_items == 1) // if only one item is selected, allow to chat with this item + if(n_selected_items == 1) // if only one item is selected, allow to chat with this item + { if(own_identities.size() <= 1) { QAction *action = contextMnu.addAction(QIcon(":/images/chat_24.png"), tr("Chat with this person"), this, SLOT(chatIdentity())); @@ -2082,6 +2131,7 @@ void IdDialog::IdListCustomPopupMenu( QPoint ) action->setData(QString::fromStdString((*it).toStdString())) ; } } + } // always allow to send messages contextMnu.addAction(QIcon(":/images/mail_new.png"), tr("Send message"), this, SLOT(sendMsg())); diff --git a/retroshare-gui/src/gui/Identity/IdDialog.h b/retroshare-gui/src/gui/Identity/IdDialog.h index cb53f178f..4253ddb9c 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.h +++ b/retroshare-gui/src/gui/Identity/IdDialog.h @@ -83,8 +83,8 @@ private slots: void grantCircleMembership() ; void revokeCircleMembership() ; - void filterComboBoxChanged(); void filterChanged(const QString &text); + void filterToggled(const bool &value); void addIdentity(); void removeIdentity(); @@ -149,6 +149,7 @@ private: std::map mCircleUpdates ; RsGxsGroupId mId; + int filter; /* UI - Designer */ Ui::IdDialog *ui; diff --git a/retroshare-gui/src/gui/Identity/IdDialog.ui b/retroshare-gui/src/gui/Identity/IdDialog.ui index 0c0a93c1d..42347f116 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.ui +++ b/retroshare-gui/src/gui/Identity/IdDialog.ui @@ -19,7 +19,7 @@ - + 0 @@ -46,7 +46,7 @@ QFrame::Sunken - + 2 @@ -132,12 +132,12 @@ - + Qt::Horizontal - + @@ -146,7 +146,7 @@ QFrame::Sunken - + 1 @@ -229,12 +229,6 @@ - - - - - - @@ -291,11 +285,11 @@ - + - 1 + 0 - + :/images/no_avatar_background.png:/images/no_avatar_background.png @@ -303,287 +297,285 @@ Person - + - - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 12 + + + QFrame::StyledPanel + + + QFrame::Raised + + + + 12 + + + + + + 64 + 64 + - - - - - 64 - 64 - - - - - 64 - 64 - - - - - + + + 64 + 64 + + + + + + + + + + true + + + + + + + People + + + + + + + + + + Identity info + + + + + + 6 + + + 6 + + + 6 + + + 6 + + + 6 + + + - + Identity ID : - + + + + + + Identity name : + + + + + + + Owner node ID : + + + + + + + true + + true - - - - People + + + + true + + + true - - - - - - - Identity info - - - - - - 6 + + + + true - - 6 + + true - - 6 - - - 6 - - - 6 - - - - - Identity ID : - - - - - - - Identity name : - - - - - - - Owner node ID : - - - - - - - true - - - true - - - - - - - true - - - true - - - - - - - true - - - true - - - - - - - Owner node name : - - - - - - - true - - - true - - - - - - - Type: - - - - - - - - - - Last used: - - - - - - - + - - - - - - - 0 - 0 - - - - - 128 - 128 - - - - - 128 - 128 - - - - QFrame::Box - - - QFrame::Sunken - - - Your Avatar - - - true - - - Qt::AlignCenter - - - - - - - Send Invite - - - - - - - Qt::Vertical - - - - 20 - 2 - - - - - + + + + Owner node name : + + + + + + + true + + + true + + + + + + + Type: + + + + + + + + + + Last used: + + + + + - - - - - - - 0 - 0 - - - - Reputation - - + + + - - - 6 + + + + 0 + 0 + - - 6 + + + 128 + 128 + - - 6 + + + 128 + 128 + - - 6 + + QFrame::Box - - - - <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - - - true - - - - - - - Your opinion: - - - - - - - Neighbor nodes: - - - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + + QFrame::Sunken + + + Your Avatar + + + true + + + Qt::AlignCenter + + + + + + + Send Invite + + + + + + + Qt::Vertical + + + + 20 + 2 + + + + + + + + + + + + + + 0 + 0 + + + + Reputation + + + + + + 6 + + + 6 + + + 6 + + + 6 + + + + + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> + + + true + + + + + + + Your opinion: + + + + + + + Neighbor nodes: + + + + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> @@ -591,80 +583,78 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> <p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - - - 0 - - - - Negative - - - - ../icons/yellow_biohazard64.png../icons/yellow_biohazard64.png - - - - - Neutral - - - - - Positive - - - + + + 0 + + + + Negative + + + + ../icons/yellow_biohazard64.png../icons/yellow_biohazard64.png + - - - - <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - - - true - - + + + Neutral + - - - - - 75 - true - - - - Overall: - - + + + Positive + - + + + + + + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> + + + true + + + + + + + + 75 + true + + + + Overall: + + - - - - - - Qt::Vertical - - - QSizePolicy::Expanding - - - - 20 - 40 - - - - - + +
+ + + + + + Qt::Vertical + + + QSizePolicy::Expanding + + + + 20 + 40 + + +
- + :/images/circles/circles_64.png:/images/circles/circles_64.png @@ -672,16 +662,16 @@ p, li { white-space: pre-wrap; } Circles - + - + QFrame::StyledPanel QFrame::Raised - + 12 diff --git a/retroshare-gui/src/gui/common/RSTreeWidget.cpp b/retroshare-gui/src/gui/common/RSTreeWidget.cpp index abbf766d3..404b98217 100644 --- a/retroshare-gui/src/gui/common/RSTreeWidget.cpp +++ b/retroshare-gui/src/gui/common/RSTreeWidget.cpp @@ -169,6 +169,11 @@ void RSTreeWidget::addHeaderContextMenuAction(QAction *action) mHeaderContextMenuActions.push_back(action); } +void RSTreeWidget::addHeaderContextMenuMenu(QMenu *menu) +{ + mHeaderContextMenuMenus.push_back(menu); +} + void RSTreeWidget::headerContextMenuRequested(const QPoint &pos) { QMenu contextMenu(this); @@ -207,6 +212,13 @@ void RSTreeWidget::headerContextMenuRequested(const QPoint &pos) contextMenu.addActions(mHeaderContextMenuActions); } + if (!mHeaderContextMenuMenus.isEmpty()) { + foreach(QMenu *menu, mHeaderContextMenuMenus) { + contextMenu.addSeparator(); + contextMenu.addMenu(menu); + } + } + if (contextMenu.isEmpty()) { return; } diff --git a/retroshare-gui/src/gui/common/RSTreeWidget.h b/retroshare-gui/src/gui/common/RSTreeWidget.h index 2261e836b..5fd365244 100644 --- a/retroshare-gui/src/gui/common/RSTreeWidget.h +++ b/retroshare-gui/src/gui/common/RSTreeWidget.h @@ -47,6 +47,8 @@ public: // Add QAction to context menu (action won't be deleted) void addHeaderContextMenuAction(QAction *action); + // Add QMenu to context menu (menu won't be deleted) + void addHeaderContextMenuMenu(QMenu *menu); signals: void signalMouseMiddleButtonClicked(QTreeWidgetItem *item); @@ -69,6 +71,7 @@ private: quint32 mSettingsVersion; QMap mColumnCustomizable; QList mHeaderContextMenuActions; + QList mHeaderContextMenuMenus; }; #endif From 1707c0793708fc84c34c008cbfffe6bbe6ced7f8 Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 29 Jul 2016 21:58:31 +0200 Subject: [PATCH 073/158] added DontUseNativeDialog as default flag in file dialog in order to avoid some crashed when not using it --- retroshare-gui/src/util/misc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/util/misc.cpp b/retroshare-gui/src/util/misc.cpp index 246247d1a..f7566386c 100644 --- a/retroshare-gui/src/util/misc.cpp +++ b/retroshare-gui/src/util/misc.cpp @@ -303,7 +303,7 @@ bool misc::getOpenFileName(QWidget *parent, RshareSettings::enumLastDir type { QString lastDir = Settings->getLastDir(type); - file = QFileDialog::getOpenFileName(parent, caption, lastDir, filter, NULL, QFileDialog::DontResolveSymlinks | options); + file = QFileDialog::getOpenFileName(parent, caption, lastDir, filter, NULL, QFileDialog::DontResolveSymlinks | QFileDialog::DontUseNativeDialog | options); if (file.isEmpty()) return false; From 032bcf7a26ff09f7b322a3c4d0b5d422a4d01298 Mon Sep 17 00:00:00 2001 From: defnax Date: Fri, 29 Jul 2016 23:14:46 +0200 Subject: [PATCH 074/158] Fixed Stylesheets --- retroshare-gui/src/gui/qss/stylesheet/Standard.qss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss index 40fd2924c..a5c19e415 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss @@ -632,13 +632,13 @@ QLabel#avatarLabel{ border-radius: 4px; } -IdDialog QFrame#headerFrame { +IdDialog QFrame#headerFramePerson { background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #9BDBF9, stop:1 #1592CD); border: 1px; border-radius: 4px; } -IdDialog QFrame#headerFrame_2 { +IdDialog QFrame#headerFrameCircle { background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #9BDBF9, stop:1 #1592CD); border: 1px; border-radius: 4px; From d62f8a49f16c31498d922df5b19683141b55949e Mon Sep 17 00:00:00 2001 From: defnax Date: Fri, 29 Jul 2016 23:21:46 +0200 Subject: [PATCH 075/158] Fixed stylesheet --- retroshare-gui/src/gui/qss/stylesheet/qss.default | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/qss/stylesheet/qss.default b/retroshare-gui/src/gui/qss/stylesheet/qss.default index 910a327c4..b762d626a 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/qss.default +++ b/retroshare-gui/src/gui/qss/stylesheet/qss.default @@ -193,7 +193,7 @@ RSTextBrowser, MimeTextEdit qproperty-textColorQuote: rgb(120, 153, 34); } -QLabel#headerTextLabel +QLabel#headerTextLabel_Person { qproperty-fontSizeFactor: 225; } From ae9ab644a9f8f1938f5d475b6ecb17504d74f94f Mon Sep 17 00:00:00 2001 From: Phenom Date: Sat, 30 Jul 2016 13:27:23 +0200 Subject: [PATCH 076/158] Move Display button's menu to Header context menu on FriendList. --- retroshare-gui/src/gui/common/FriendList.cpp | 13 +++---- retroshare-gui/src/gui/common/FriendList.ui | 36 +------------------- 2 files changed, 8 insertions(+), 41 deletions(-) diff --git a/retroshare-gui/src/gui/common/FriendList.cpp b/retroshare-gui/src/gui/common/FriendList.cpp index 47b5c67ed..a46606acb 100644 --- a/retroshare-gui/src/gui/common/FriendList.cpp +++ b/retroshare-gui/src/gui/common/FriendList.cpp @@ -187,8 +187,9 @@ void FriendList::addToolButton(QToolButton *toolButton) /* Initialize button */ toolButton->setAutoRaise(true); - toolButton->setIconSize(ui->displayButton->iconSize()); - toolButton->setFocusPolicy(ui->displayButton->focusPolicy()); + float S = QFontMetricsF(ui->filterLineEdit->font()).height() ; + toolButton->setIconSize(QSize(S*1.5,S*1.5)); + toolButton->setFocusPolicy(Qt::NoFocus); ui->titleBarFrame->layout()->addWidget(toolButton); } @@ -2283,16 +2284,16 @@ void FriendList::addPeerToExpand(const std::string &gpgId) void FriendList::createDisplayMenu() { - QMenu *displayMenu = new QMenu(this); + QMenu *displayMenu = new QMenu(tr("Show"), this); connect(displayMenu, SIGNAL(aboutToShow()), this, SLOT(updateMenu())); displayMenu->addAction(ui->actionHideOfflineFriends); displayMenu->addAction(ui->actionShowState); displayMenu->addAction(ui->actionShowGroups); - displayMenu->addAction(ui->actionExportFriendlist); - displayMenu->addAction(ui->actionImportFriendlist); - ui->displayButton->setMenu(displayMenu); + ui->peerTreeWidget->addHeaderContextMenuMenu(displayMenu); + ui->peerTreeWidget->addHeaderContextMenuAction(ui->actionExportFriendlist); + ui->peerTreeWidget->addHeaderContextMenuAction(ui->actionImportFriendlist); } void FriendList::updateMenu() diff --git a/retroshare-gui/src/gui/common/FriendList.ui b/retroshare-gui/src/gui/common/FriendList.ui index cc6921319..d1fb3122d 100644 --- a/retroshare-gui/src/gui/common/FriendList.ui +++ b/retroshare-gui/src/gui/common/FriendList.ui @@ -53,38 +53,6 @@ - - - - - 30 - 0 - - - - Qt::NoFocus - - - Display - - - - :/images/looknfeel.png:/images/looknfeel.png - - - - 24 - 24 - - - - QToolButton::InstantPopup - - - true - - - @@ -188,8 +156,6 @@
gui/common/RSTreeWidget.h
- - - + From 46e4b3b4c86ddae043c9c721e84a7fa27e0b088e Mon Sep 17 00:00:00 2001 From: Phenom Date: Sat, 30 Jul 2016 13:58:02 +0200 Subject: [PATCH 077/158] Fix FriendList sorting when expand PGPItem sorted by LastContact or IP --- retroshare-gui/src/gui/common/FriendList.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/retroshare-gui/src/gui/common/FriendList.cpp b/retroshare-gui/src/gui/common/FriendList.cpp index 47b5c67ed..20f134543 100644 --- a/retroshare-gui/src/gui/common/FriendList.cpp +++ b/retroshare-gui/src/gui/common/FriendList.cpp @@ -1176,9 +1176,9 @@ void FriendList::insertPeers() gpgItem->setData(COLUMN_NAME, ROLE_FILTER, gpgName); gpgItem->setData(COLUMN_LAST_CONTACT, Qt::DisplayRole, showInfoAtGpgItem ? QVariant(bestLastContact) : ""); - gpgItem->setData(COLUMN_LAST_CONTACT, ROLE_SORT_NAME, showInfoAtGpgItem ? QVariant(bestLastContact) : ""); + gpgItem->setData(COLUMN_LAST_CONTACT, ROLE_SORT_NAME, QVariant(bestLastContact)); gpgItem->setText(COLUMN_IP, showInfoAtGpgItem ? bestIP : ""); - gpgItem->setData(COLUMN_IP, ROLE_SORT_NAME, showInfoAtGpgItem ? bestIP : ""); + gpgItem->setData(COLUMN_IP, ROLE_SORT_NAME, bestIP); /* Sort data */ gpgItem->setData(COLUMN_NAME, ROLE_SORT_NAME, gpgName); From bef7db4b4df8fe5fa7afdb586acd53befa710318 Mon Sep 17 00:00:00 2001 From: Phenom Date: Sat, 30 Jul 2016 19:14:59 +0200 Subject: [PATCH 078/158] Fix IdChooser in Signed Lobby. So you cannot choose an unsigned Id. --- retroshare-gui/src/gui/chat/ChatLobbyDialog.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/chat/ChatLobbyDialog.cpp b/retroshare-gui/src/gui/chat/ChatLobbyDialog.cpp index afdfeb8a9..aeb748db8 100644 --- a/retroshare-gui/src/gui/chat/ChatLobbyDialog.cpp +++ b/retroshare-gui/src/gui/chat/ChatLobbyDialog.cpp @@ -135,8 +135,15 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::Wi RsGxsId current_id; rsMsgs->getIdentityForChatLobby(lobbyId, current_id); + uint32_t idChooserFlag = IDCHOOSER_ID_REQUIRED; + ChatLobbyInfo lobbyInfo ; + if(rsMsgs->getChatLobbyInfo(lobbyId,lobbyInfo)) { + if (lobbyInfo.lobby_flags & RS_CHAT_LOBBY_FLAGS_PGP_SIGNED) { + idChooserFlag |= IDCHOOSER_NON_ANONYMOUS; + } + } ownIdChooser = new GxsIdChooser() ; - ownIdChooser->loadIds(IDCHOOSER_ID_REQUIRED,current_id) ; + ownIdChooser->loadIds(idChooserFlag, current_id) ; QWidgetAction *checkableAction = new QWidgetAction(this); checkableAction->setDefaultWidget(ownIdChooser); @@ -281,8 +288,6 @@ void ChatLobbyDialog::init() QString title; - std::list::const_iterator lobbyIt; - if(rsMsgs->getChatLobbyInfo(lobbyId,linfo)) { title = QString::fromUtf8(linfo.lobby_name.c_str()); From 998fede7e78333a012d21c177b735e86165f83be Mon Sep 17 00:00:00 2001 From: Phenom Date: Sun, 31 Jul 2016 11:15:47 +0200 Subject: [PATCH 079/158] Fix IdDialog ContextMenu shown at startup. --- retroshare-gui/src/gui/Identity/IdDialog.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/retroshare-gui/src/gui/Identity/IdDialog.cpp b/retroshare-gui/src/gui/Identity/IdDialog.cpp index 80a501a97..24b4e33c4 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDialog.cpp @@ -225,7 +225,6 @@ IdDialog::IdDialog(QWidget *parent) : /* Add filter types */ QMenu *idTWHMenu = new QMenu(tr("Show"), this); - idTWHMenu->setVisible(true); ui->idTreeWidget->addHeaderContextMenuMenu(idTWHMenu); QActionGroup *idTWHActionGroup = new QActionGroup(this); From 03179043f17bb7d0408f907538e26733d0af45ca Mon Sep 17 00:00:00 2001 From: Phenom Date: Sun, 31 Jul 2016 16:08:15 +0200 Subject: [PATCH 080/158] Add Remove Duplicate checkbox in RsCollection editor. If unchecked, you can add the same file (same hash) in multiple directories. --- .../src/gui/common/RsCollectionDialog.cpp | 107 +++++++++++++++++- .../src/gui/common/RsCollectionDialog.h | 1 + .../src/gui/common/RsCollectionDialog.ui | 68 +++++++++-- 3 files changed, 161 insertions(+), 15 deletions(-) diff --git a/retroshare-gui/src/gui/common/RsCollectionDialog.cpp b/retroshare-gui/src/gui/common/RsCollectionDialog.cpp index 211d31cc2..9cb5b268f 100644 --- a/retroshare-gui/src/gui/common/RsCollectionDialog.cpp +++ b/retroshare-gui/src/gui/common/RsCollectionDialog.cpp @@ -160,6 +160,7 @@ RsCollectionDialog::RsCollectionDialog(const QString& collectionFileName connect(ui._addRecur_PB, SIGNAL(clicked()), this, SLOT(addRecursive())); connect(ui._remove_PB, SIGNAL(clicked()), this, SLOT(remove())); connect(ui._makeDir_PB, SIGNAL(clicked()), this, SLOT(makeDir())); + connect(ui._removeDuplicate_CB, SIGNAL(clicked(bool)), this, SLOT(updateRemoveDuplicate(bool))); connect(ui._cancel_PB, SIGNAL(clicked()), this, SLOT(cancel())); connect(ui._save_PB, SIGNAL(clicked()), this, SLOT(save())); connect(ui._download_PB, SIGNAL(clicked()), this, SLOT(download())); @@ -190,6 +191,7 @@ RsCollectionDialog::RsCollectionDialog(const QString& collectionFileName // 5 Activate button follow creationMode ui._changeFile->setVisible(_creationMode && !_readOnly); ui._makeDir_PB->setVisible(_creationMode && !_readOnly); + ui._removeDuplicate_CB->setVisible(_creationMode && !_readOnly); ui._save_PB->setVisible(_creationMode && !_readOnly); ui._treeViewFrame->setVisible(_creationMode && !_readOnly); ui._download_PB->setVisible(!_creationMode && !_readOnly); @@ -408,7 +410,10 @@ bool RsCollectionDialog::addChild(QTreeWidgetItem* parent, const std::vectorfindItems(colFileInfo.path + "/" +colFileInfo.name, Qt::MatchExactly | Qt::MatchRecursive, COLUMN_FILEPATH); } else { - founds = ui._fileEntriesTW->findItems(colFileInfo.hash, Qt::MatchExactly | Qt::MatchRecursive, COLUMN_HASH); + founds = ui._fileEntriesTW->findItems(colFileInfo.path + "/" +colFileInfo.name, Qt::MatchExactly | Qt::MatchRecursive, COLUMN_FILEPATH); + if (ui._removeDuplicate_CB->isChecked()) { + founds << ui._fileEntriesTW->findItems(colFileInfo.hash, Qt::MatchExactly | Qt::MatchRecursive, COLUMN_HASH); + } } if (founds.empty()) { QTreeWidgetItem *item = new QTreeWidgetItem; @@ -493,7 +498,8 @@ bool RsCollectionDialog::addChild(QTreeWidgetItem* parent, const std::vectorsetInformativeText(); If text too long, no scroll, so I add an text edit QGridLayout* layout = qobject_cast(msgBox->layout()); if (layout) { - QTextEdit* edit = new QTextEdit(tr("Do you want to remove them and all their children, too?
") + listDir); + int newRow = 1; + for (int row = layout->count()-1; row >= 0; --row) { + for (int col = layout->columnCount()-1; col >= 0; --col) { + QLayoutItem *item = layout->itemAtPosition(row, col); + if (item) { + int index = layout->indexOf(item->widget()); + int r=0, c=0, rSpan=0, cSpan=0; + layout->getItemPosition(index, &r, &c, &rSpan, &cSpan); + if (r>0) { + layout->removeItem(item); + layout->addItem(item, r+3, c, rSpan, cSpan); + } else if (rSpan>1) { + newRow = rSpan + 1; + } + } + } + } + QLabel *label = new QLabel(tr("Do you want to remove them and all their children, too?")); + layout->addWidget(label,newRow, 0, 1, layout->columnCount(), Qt::AlignHCenter ); + QTextEdit *edit = new QTextEdit(listDir); edit->setReadOnly(true); - layout->addWidget(edit,0 ,1); + edit->setWordWrapMode(QTextOption::NoWrap); + layout->addWidget(edit,newRow+1, 0, 1, layout->columnCount(), Qt::AlignHCenter ); } msgBox->setStandardButtons(QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel); @@ -1063,6 +1089,79 @@ void RsCollectionDialog::itemChanged(QTreeWidgetItem *item, int col) } +/** + * @brief RsCollectionDialog::updateRemoveDuplicate Remove all duplicate file when checked. + * @param checked + */ +void RsCollectionDialog::updateRemoveDuplicate(bool checked) +{ + if (checked) { + QTreeWidgetItemIterator it(ui._fileEntriesTW); + QTreeWidgetItem *item; + while ((item = *it) != NULL) { + ++it; + if (item->data(COLUMN_HASH, ROLE_TYPE).toUInt() != DIR_TYPE_DIR) { + QList founds; + founds << ui._fileEntriesTW->findItems(item->text(COLUMN_HASH), Qt::MatchExactly | Qt::MatchRecursive, COLUMN_HASH); + if (founds.count() > 1) { + QMessageBox* msgBox = new QMessageBox(QMessageBox::Information, "", ""); + msgBox->setText("Warning, duplicate file found."); + //msgBox->setInformativeText(); If text too long, no scroll, so I add an text edit + msgBox->setStandardButtons(QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel); + msgBox->setDefaultButton(QMessageBox::Yes); + + QGridLayout* layout = qobject_cast(msgBox->layout()); + if (layout) { + int newRow = 1; + for (int row = layout->count()-1; row >= 0; --row) { + for (int col = layout->columnCount()-1; col >= 0; --col) { + QLayoutItem *item = layout->itemAtPosition(row, col); + if (item) { + int index = layout->indexOf(item->widget()); + int r=0, c=0, rSpan=0, cSpan=0; + layout->getItemPosition(index, &r, &c, &rSpan, &cSpan); + if (r>0) { + layout->removeItem(item); + layout->addItem(item, r+3, c, rSpan, cSpan); + } else if (rSpan>1) { + newRow = rSpan + 1; + } + } + } + } + QLabel *label = new QLabel(tr("Do you want to remove this file from the list?")); + layout->addWidget(label,newRow, 0, 1, layout->columnCount(), Qt::AlignHCenter ); + QTextEdit *edit = new QTextEdit(item->text(COLUMN_FILEPATH)); + edit->setReadOnly(true); + edit->setWordWrapMode(QTextOption::NoWrap); + layout->addWidget(edit,newRow+1, 0, 1, layout->columnCount(), Qt::AlignHCenter ); + } + + int ret = msgBox->exec(); + switch (ret) { + case QMessageBox::Yes: + item->parent()->removeChild(item); + break; + case QMessageBox::No: + break; + case QMessageBox::Cancel: { + delete msgBox; + ui._removeDuplicate_CB->setChecked(true); + return; + } + break; + default: + // should never be reached + break; + } + delete msgBox; + + } + } + } + } +} + /** * @brief RsCollectionDialog::cancel: Cancel RScollection editing or donwloading */ diff --git a/retroshare-gui/src/gui/common/RsCollectionDialog.h b/retroshare-gui/src/gui/common/RsCollectionDialog.h index 4cc174f92..eb9233928 100644 --- a/retroshare-gui/src/gui/common/RsCollectionDialog.h +++ b/retroshare-gui/src/gui/common/RsCollectionDialog.h @@ -56,6 +56,7 @@ private slots: void makeDir() ; void fileHashingFinished(QList hashedFiles) ; void itemChanged(QTreeWidgetItem* item,int col) ; + void updateRemoveDuplicate(bool checked); void cancel() ; void download() ; void save() ; diff --git a/retroshare-gui/src/gui/common/RsCollectionDialog.ui b/retroshare-gui/src/gui/common/RsCollectionDialog.ui index 89a739e42..78e736c24 100644 --- a/retroshare-gui/src/gui/common/RsCollectionDialog.ui +++ b/retroshare-gui/src/gui/common/RsCollectionDialog.ui @@ -21,7 +21,16 @@ true - + + 0 + + + 0 + + + 0 + + 0 @@ -59,7 +68,16 @@ QFrame::Plain - + + 0 + + + 0 + + + 0 + + 0 @@ -83,7 +101,16 @@ 0 - + + 0 + + + 0 + + + 0 + + 0 @@ -197,7 +224,16 @@ 0 - + + 0 + + + 0 + + + 0 + + 0 @@ -207,7 +243,16 @@ - + + 0 + + + 0 + + + 0 + + 0 @@ -359,6 +404,13 @@ + + + + Remove Duplicate + + + @@ -405,12 +457,6 @@ - - - _mainSplitter - _listSplitter - - _mainSplitter
From 6935441e4fb059a65f381fb5cf101195e7d009b3 Mon Sep 17 00:00:00 2001 From: Phenom Date: Sun, 31 Jul 2016 16:23:41 +0200 Subject: [PATCH 081/158] Fix other QFileDialog call in misc adding DontUseNativeDialog option. --- retroshare-gui/src/util/misc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/util/misc.cpp b/retroshare-gui/src/util/misc.cpp index f7566386c..91cd83b2f 100644 --- a/retroshare-gui/src/util/misc.cpp +++ b/retroshare-gui/src/util/misc.cpp @@ -352,7 +352,7 @@ bool misc::getSaveFileName(QWidget *parent, RshareSettings::enumLastDir type { QString lastDir = Settings->getLastDir(type); - file = QFileDialog::getSaveFileName(parent, caption, lastDir, filter, selectedFilter, options); + file = QFileDialog::getSaveFileName(parent, caption, lastDir, filter, selectedFilter, QFileDialog::DontUseNativeDialog | options); if (file.isEmpty()) return false; From d000d75a3880903a351f7a23fce7c26ab4412f2a Mon Sep 17 00:00:00 2001 From: Phenom Date: Sun, 31 Jul 2016 21:03:45 +0200 Subject: [PATCH 082/158] Fix Import and Export Cert file *.asc. --- retroshare-gui/src/gui/GenCertDialog.cpp | 6 +++--- retroshare-gui/src/gui/profile/ProfileManager.cpp | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/retroshare-gui/src/gui/GenCertDialog.cpp b/retroshare-gui/src/gui/GenCertDialog.cpp index ab96e434f..3a6e4a349 100644 --- a/retroshare-gui/src/gui/GenCertDialog.cpp +++ b/retroshare-gui/src/gui/GenCertDialog.cpp @@ -402,8 +402,8 @@ void GenCertDialog::exportIdentity() { QString fname = QFileDialog::getSaveFileName(this,tr("Export profile"), "",tr("RetroShare profile files (*.asc)")) ; - if(fname.isNull()) - return ; + if(fname.isNull()) return ; + if(fname.right(4).toUpper() != ".ASC") fname += ".asc"; QVariant data = ui.genPGPuser->itemData(ui.genPGPuser->currentIndex()); RsPgpId gpg_id (data.toString().toStdString()) ; @@ -416,7 +416,7 @@ void GenCertDialog::exportIdentity() void GenCertDialog::importIdentity() { - QString fname = QFileDialog::getOpenFileName(this,tr("Import profile"), "",tr("RetroShare profile files (*.asc)")) ; + QString fname = QFileDialog::getOpenFileName(this,tr("Import profile"), "",tr("RetroShare profile files (*.asc);;All Files (*)")) ; if(fname.isNull()) return ; diff --git a/retroshare-gui/src/gui/profile/ProfileManager.cpp b/retroshare-gui/src/gui/profile/ProfileManager.cpp index 77a6c2b0b..fb5e0f93d 100644 --- a/retroshare-gui/src/gui/profile/ProfileManager.cpp +++ b/retroshare-gui/src/gui/profile/ProfileManager.cpp @@ -135,9 +135,7 @@ void ProfileManager::exportIdentity() if (fname.isNull()) return; - if (QFileInfo(fname).suffix().isEmpty()) { - fname += ".asc"; - } + if (fname.right(4).toUpper() != ".ASC") fname += ".asc"; if (RsAccounts::ExportIdentity(fname.toUtf8().constData(), gpgId)) QMessageBox::information(this, tr("Identity saved"), tr("Your identity was successfully saved\nIt is encrypted\n\nYou can now copy it to another computer\nand use the import button to load it")); From 5fac5a8d760fe06c26874b8c10cb77168f4748ee Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 31 Jul 2016 22:14:23 +0200 Subject: [PATCH 083/158] moved all getOpenFilename to use misc::getOpenFilename --- retroshare-gui/src/gui/GenCertDialog.cpp | 6 +++++- retroshare-gui/src/gui/PluginManagerWidget.cpp | 9 +++------ retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp | 6 +++++- retroshare-gui/src/gui/profile/ProfileManager.cpp | 7 ++++++- retroshare-gui/src/gui/settings/rsharesettings.h | 5 +++-- 5 files changed, 22 insertions(+), 11 deletions(-) diff --git a/retroshare-gui/src/gui/GenCertDialog.cpp b/retroshare-gui/src/gui/GenCertDialog.cpp index 3a6e4a349..555a35f7f 100644 --- a/retroshare-gui/src/gui/GenCertDialog.cpp +++ b/retroshare-gui/src/gui/GenCertDialog.cpp @@ -23,6 +23,8 @@ #include #include #include +#include "gui/settings/rsharesettings.h" +#include "util/misc.h" #include "GenCertDialog.h" #include #include @@ -416,7 +418,9 @@ void GenCertDialog::exportIdentity() void GenCertDialog::importIdentity() { - QString fname = QFileDialog::getOpenFileName(this,tr("Import profile"), "",tr("RetroShare profile files (*.asc);;All Files (*)")) ; + QString fname ; + if(!misc::getOpenFileName(this,RshareSettings::LASTDIR_CERT,tr("Import profile"), tr("RetroShare profile files (*.asc);;All files (*)"),fname)) + return ; if(fname.isNull()) return ; diff --git a/retroshare-gui/src/gui/PluginManagerWidget.cpp b/retroshare-gui/src/gui/PluginManagerWidget.cpp index eda4ec62c..4179dfd45 100644 --- a/retroshare-gui/src/gui/PluginManagerWidget.cpp +++ b/retroshare-gui/src/gui/PluginManagerWidget.cpp @@ -20,6 +20,7 @@ ****************************************************************/ #include "PluginManagerWidget.h" +#include "gui/settings/rsharesettings.h" #include #include @@ -160,14 +161,10 @@ PluginManagerWidget::registerNewPlugin(QString pluginName) void PluginManagerWidget::installPluginButtonClicked() { - QString fileName = QFileDialog::getOpenFileName(this, - tr("Open Plugin to install"), - "./", - tr("Plugins (*.so *.dll)")); + QString fileName = misc::getOpenFileName(this, RshareSettings::LASTDIR_PLUGIN, tr("Open Plugin to install"), "./", tr("Plugins (*.so *.dll)")); + if (!fileName.isNull()) - { emit installPluginRequested(fileName); - } } //============================================================================= diff --git a/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp b/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp index afbcb4422..cb49de349 100755 --- a/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp +++ b/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp @@ -31,6 +31,8 @@ #include #endif +#include "gui/settings/rsharesettings.h" +#include "util/misc.h" #include "ConnectFriendWizard.h" #include "ui_ConnectFriendWizard.h" #include "gui/common/PeerDefs.h" @@ -1040,7 +1042,9 @@ void ConnectFriendWizard::saveCert() void ConnectFriendWizard::loadFriendCert() { - QString fileName = QFileDialog::getOpenFileName(this, tr("Select Certificate"), "", tr("RetroShare Certificate (*.rsc );;All Files (*)")); + QString fileName ; + if(!misc::getOpenFileName(this, RshareSettings::LASTDIR_CERT, tr("Select Certificate"), tr("RetroShare Certificate (*.rsc );;All Files (*)"),fileName)) + return ; if (!fileName.isNull()) { ui->friendFileNameEdit->setText(fileName); diff --git a/retroshare-gui/src/gui/profile/ProfileManager.cpp b/retroshare-gui/src/gui/profile/ProfileManager.cpp index fb5e0f93d..e57602300 100644 --- a/retroshare-gui/src/gui/profile/ProfileManager.cpp +++ b/retroshare-gui/src/gui/profile/ProfileManager.cpp @@ -24,7 +24,9 @@ #include #include #include "ProfileManager.h" +#include "util/misc.h" #include "gui/GenCertDialog.h" +#include "gui/settings/rsharesettings.h" #include "gui/common/RSTreeWidgetItem.h" #include @@ -145,7 +147,10 @@ void ProfileManager::exportIdentity() void ProfileManager::importIdentity() { - QString fname = QFileDialog::getOpenFileName(this,tr("Import Identity"), "",tr("RetroShare Identity files (*.asc)")) ; + QString fname ; + + if(!misc::getOpenFileName(this,RshareSettings::LASTDIR_CERT,tr("Import Identity"), tr("RetroShare Identity files (*.asc)"),fname)) + return ; if(fname.isNull()) return ; diff --git a/retroshare-gui/src/gui/settings/rsharesettings.h b/retroshare-gui/src/gui/settings/rsharesettings.h index b6db98591..a7719c6d0 100644 --- a/retroshare-gui/src/gui/settings/rsharesettings.h +++ b/retroshare-gui/src/gui/settings/rsharesettings.h @@ -75,8 +75,9 @@ public: LASTDIR_IMAGES, LASTDIR_MESSAGES, LASTDIR_BLOGS, - LASTDIR_SOUNDS - }; + LASTDIR_SOUNDS, + LASTDIR_PLUGIN + }; enum enumToasterPosition { From b1288bcb7e6bd6e2df82f0c6071b6c649c7fc045 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 1 Aug 2016 14:43:17 +0200 Subject: [PATCH 084/158] added missing time stamp of msgServerUpdateMap when posting a new message --- libretroshare/src/gxs/rsgenexchange.cc | 3 ++ libretroshare/src/gxs/rsgenexchange.h | 8 +++++ libretroshare/src/gxs/rsgxsnetservice.cc | 40 ++++++++++++++++++------ libretroshare/src/gxs/rsgxsnetservice.h | 3 +- libretroshare/src/gxs/rsnxs.h | 9 ++++++ 5 files changed, 53 insertions(+), 10 deletions(-) diff --git a/libretroshare/src/gxs/rsgenexchange.cc b/libretroshare/src/gxs/rsgenexchange.cc index 198954297..ec1b4eff5 100644 --- a/libretroshare/src/gxs/rsgenexchange.cc +++ b/libretroshare/src/gxs/rsgenexchange.cc @@ -2019,6 +2019,9 @@ void RsGenExchange::publishMsgs() delete[] metaDataBuff; + if(mNetService != NULL) + mNetService->stampMsgServerUpdateTS(grpId) ; + // add to published to allow acknowledgement mMsgNotify.insert(std::make_pair(mit->first, std::make_pair(grpId, msgId))); mDataAccess->updatePublicRequestStatus(mit->first, RsTokenService::GXS_REQUEST_V2_STATUS_COMPLETE); diff --git a/libretroshare/src/gxs/rsgenexchange.h b/libretroshare/src/gxs/rsgenexchange.h index 6535ef510..2e15016e2 100644 --- a/libretroshare/src/gxs/rsgenexchange.h +++ b/libretroshare/src/gxs/rsgenexchange.h @@ -595,6 +595,14 @@ public: */ void setGroupReputationCutOff(uint32_t& token, const RsGxsGroupId& grpId, int CutOff); + /*! + * + * @param token value set to be redeemed with acknowledgement + * @param grpId group id of the group to update + * @param CutOff The cut off value to set + */ + void updateGroupLastMsgTimeStamp(uint32_t& token, const RsGxsGroupId& grpId); + /*! * @return storage time of messages in months */ diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index 6c20c408f..d36c7fc02 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -761,11 +761,11 @@ void RsGxsNetService::syncWithPeers() msg->updateTS = updateTS; if(encrypt_to_this_circle_id.isNull()) - msg->grpId = grpId; + msg->grpId = grpId; else { - msg->grpId = hashGrpId(grpId,mNetMgr->getOwnId()) ; - msg->flag |= RsNxsSyncMsgReqItem::FLAG_USE_HASHED_GROUP_ID ; + msg->grpId = hashGrpId(grpId,mNetMgr->getOwnId()) ; + msg->flag |= RsNxsSyncMsgReqItem::FLAG_USE_HASHED_GROUP_ID ; } #ifdef NXS_NET_DEBUG_7 @@ -2096,14 +2096,16 @@ void RsGxsNetService::updateServerSyncTS() else msui = mapIT->second; - if(grpMeta->mLastPost > msui->msgUpdateTS ) - { - change = true; - msui->msgUpdateTS = grpMeta->mLastPost; + // (cyril) I'm removing this, becuse mLastPost is *never* updated. So this code it not useful at all. + // + // if(grpMeta->mLastPost > msui->msgUpdateTS ) + // { + // change = true; + // msui->msgUpdateTS = grpMeta->mLastPost; #ifdef NXS_NET_DEBUG_0 - GXSNETDEBUG__G(grpId) << " updated msgUpdateTS to last post = " << time(NULL) - grpMeta->mLastPost << " secs ago for group "<< grpId << std::endl; + // GXSNETDEBUG__G(grpId) << " updated msgUpdateTS to last post = " << time(NULL) - grpMeta->mLastPost << " secs ago for group "<< grpId << std::endl; #endif - } + // } // This is needed for group metadata updates to actually propagate: only a new grpUpdateTS will trigger the exchange of groups mPublishTs which // will then be compared and pssibly trigger a MetaData transmission. mRecvTS is upated when creating, receiving for the first time, or receiving @@ -2123,6 +2125,7 @@ void RsGxsNetService::updateServerSyncTS() if(change) IndicateConfigChanged(); } + bool RsGxsNetService::locked_checkTransacTimedOut(NxsTransaction* tr) { return tr->mTimeOut < ((uint32_t) time(NULL)); @@ -4891,3 +4894,22 @@ bool RsGxsNetService::getGroupServerUpdateTS(const RsGxsGroupId& gid,time_t& gro return true ; } + +bool RsGxsNetService::stampMsgServerUpdateTS(const RsGxsGroupId& gid) +{ + RS_STACK_MUTEX(mNxsMutex) ; + + std::map::iterator it = mServerMsgUpdateMap.find(gid) ; + + if(mServerMsgUpdateMap.end() == it) + { + RsGxsServerMsgUpdateItem *item = new RsGxsServerMsgUpdateItem(mServType); + item->grpId = gid ; + item->msgUpdateTS = time(NULL) ; + } + else + it->second->msgUpdateTS = time(NULL) ; + + return true; +} + diff --git a/libretroshare/src/gxs/rsgxsnetservice.h b/libretroshare/src/gxs/rsgxsnetservice.h index 296e17937..7be962ea9 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.h +++ b/libretroshare/src/gxs/rsgxsnetservice.h @@ -155,7 +155,8 @@ public: virtual void rejectMessage(const RsGxsMessageId& msg_id) ; virtual bool getGroupServerUpdateTS(const RsGxsGroupId& gid,time_t& grp_server_update_TS,time_t& msg_server_update_TS) ; - + virtual bool stampMsgServerUpdateTS(const RsGxsGroupId& gid) ; + /* p3Config methods */ public: diff --git a/libretroshare/src/gxs/rsnxs.h b/libretroshare/src/gxs/rsnxs.h index 4a083a0f6..13eb6fedb 100644 --- a/libretroshare/src/gxs/rsnxs.h +++ b/libretroshare/src/gxs/rsnxs.h @@ -144,6 +144,15 @@ public: * \return false if the group is not found, true otherwise */ virtual bool getGroupServerUpdateTS(const RsGxsGroupId& gid,time_t& grp_server_update_TS,time_t& msg_server_update_TS) =0; + + /*! + * \brief stampMsgServerUpdateTS + * Updates the msgServerUpdateMap structure to time(NULL), so as to trigger sending msg lists to friends. + * This is needed when e.g. posting a new message to a group. + * \param gid the group to stamp in msgServerUpdateMap + * \return + */ + virtual bool stampMsgServerUpdateTS(const RsGxsGroupId& gid) =0; }; #endif // RSGNP_H From d6be4404d2cd9615f958d020ca6862b2dc014990 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 1 Aug 2016 15:38:51 +0200 Subject: [PATCH 085/158] re-enabled some code previously disabled in last commit --- libretroshare/src/gxs/rsgxsnetservice.cc | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index d36c7fc02..302871bc5 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -2096,16 +2096,14 @@ void RsGxsNetService::updateServerSyncTS() else msui = mapIT->second; - // (cyril) I'm removing this, becuse mLastPost is *never* updated. So this code it not useful at all. - // - // if(grpMeta->mLastPost > msui->msgUpdateTS ) - // { - // change = true; - // msui->msgUpdateTS = grpMeta->mLastPost; + if(grpMeta->mLastPost > msui->msgUpdateTS ) + { + change = true; + msui->msgUpdateTS = grpMeta->mLastPost; #ifdef NXS_NET_DEBUG_0 - // GXSNETDEBUG__G(grpId) << " updated msgUpdateTS to last post = " << time(NULL) - grpMeta->mLastPost << " secs ago for group "<< grpId << std::endl; + GXSNETDEBUG__G(grpId) << " updated msgUpdateTS to last post = " << time(NULL) - grpMeta->mLastPost << " secs ago for group "<< grpId << std::endl; #endif - // } + } // This is needed for group metadata updates to actually propagate: only a new grpUpdateTS will trigger the exchange of groups mPublishTs which // will then be compared and pssibly trigger a MetaData transmission. mRecvTS is upated when creating, receiving for the first time, or receiving From 3cd90ae11c27568659583e315eabd4161e478d16 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 1 Aug 2016 16:35:19 +0200 Subject: [PATCH 086/158] re-disabled the code to update the server TS to last post as it can severely perturbate the distribution of posts. Added a call to update msgServerUpdateMap when new messages received --- libretroshare/src/gxs/rsgxsnetservice.cc | 22 +++++++++++++++------- libretroshare/src/gxs/rsgxsnetservice.h | 7 +++++++ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index 302871bc5..61d1bcf38 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -2096,14 +2096,16 @@ void RsGxsNetService::updateServerSyncTS() else msui = mapIT->second; - if(grpMeta->mLastPost > msui->msgUpdateTS ) - { - change = true; - msui->msgUpdateTS = grpMeta->mLastPost; + // (cyril) I'm removing this, becuse mLastPost is *never* updated. So this code it not useful at all. + // + // if(grpMeta->mLastPost > msui->msgUpdateTS ) + // { + // change = true; + // msui->msgUpdateTS = grpMeta->mLastPost; #ifdef NXS_NET_DEBUG_0 - GXSNETDEBUG__G(grpId) << " updated msgUpdateTS to last post = " << time(NULL) - grpMeta->mLastPost << " secs ago for group "<< grpId << std::endl; + // GXSNETDEBUG__G(grpId) << " updated msgUpdateTS to last post = " << time(NULL) - grpMeta->mLastPost << " secs ago for group "<< grpId << std::endl; #endif - } + // } // This is needed for group metadata updates to actually propagate: only a new grpUpdateTS will trigger the exchange of groups mPublishTs which // will then be compared and pssibly trigger a MetaData transmission. mRecvTS is upated when creating, receiving for the first time, or receiving @@ -2596,6 +2598,8 @@ void RsGxsNetService::locked_processCompletedIncomingTrans(NxsTransaction* tr) // for the grp id locked_doMsgUpdateWork(tr->mTransaction, grpId); + // also update server sync TS, since we need to send the new message list to friends for comparison + locked_stampMsgServerUpdateTS(grpId); } } else if(tr->mFlag == NxsTransaction::FLAG_STATE_FAILED) @@ -4897,6 +4901,11 @@ bool RsGxsNetService::stampMsgServerUpdateTS(const RsGxsGroupId& gid) { RS_STACK_MUTEX(mNxsMutex) ; + locked_stampMsgServerUpdateTS(gid) ; +} + +bool RsGxsNetService::locked_stampMsgServerUpdateTS(const RsGxsGroupId& gid) +{ std::map::iterator it = mServerMsgUpdateMap.find(gid) ; if(mServerMsgUpdateMap.end() == it) @@ -4910,4 +4919,3 @@ bool RsGxsNetService::stampMsgServerUpdateTS(const RsGxsGroupId& gid) return true; } - diff --git a/libretroshare/src/gxs/rsgxsnetservice.h b/libretroshare/src/gxs/rsgxsnetservice.h index 7be962ea9..455b547d0 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.h +++ b/libretroshare/src/gxs/rsgxsnetservice.h @@ -229,6 +229,13 @@ private: */ void locked_completeTransaction(NxsTransaction* trans); + /*! + * \brief locked_stampMsgServerUpdateTS + * updates the server msg time stamp. This function is the locked method for the one above with similar name + * \param gid group id to stamp. + * \return + */ + bool locked_stampMsgServerUpdateTS(const RsGxsGroupId& gid); /*! * This retrieves a unique transaction id that * can be used in an outgoing transaction From 17003f136b0a4b1363d7b75d0dab27624df613f3 Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 2 Aug 2016 16:25:00 +0200 Subject: [PATCH 087/158] modified wrong comment in why mLastPost should not be used in rsgxsnetservice.cc, and added a call to clearing GrpMeta cache when new msg in that group are received --- libretroshare/src/gxs/rsdataservice.cc | 42 +++++++++++++----------- libretroshare/src/gxs/rsgxsnetservice.cc | 5 ++- 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/libretroshare/src/gxs/rsdataservice.cc b/libretroshare/src/gxs/rsdataservice.cc index d6038f7e7..b2bf71434 100644 --- a/libretroshare/src/gxs/rsdataservice.cc +++ b/libretroshare/src/gxs/rsdataservice.cc @@ -712,25 +712,25 @@ int RsDataService::storeMessage(std::map &msg) // start a transaction mDb->beginTransaction(); - for(; mit != msg.end(); ++mit){ - + for(; mit != msg.end(); ++mit) + { RsNxsMsg* msgPtr = mit->first; RsGxsMsgMetaData* msgMetaPtr = mit->second; #ifdef RS_DATA_SERVICE_DEBUG - std::cerr << "RsDataService::storeMessage() "; - std::cerr << " GroupId: " << msgMetaPtr->mGroupId.toStdString(); - std::cerr << " MessageId: " << msgMetaPtr->mMsgId.toStdString(); - std::cerr << std::endl; + std::cerr << "RsDataService::storeMessage() "; + std::cerr << " GroupId: " << msgMetaPtr->mGroupId.toStdString(); + std::cerr << " MessageId: " << msgMetaPtr->mMsgId.toStdString(); + std::cerr << std::endl; #endif // skip msg item if size if greater than if(!validSize(msgPtr)) - { - std::cerr << "RsDataService::storeMessage() ERROR invalid size"; - std::cerr << std::endl; - continue; - } + { + std::cerr << "RsDataService::storeMessage() ERROR invalid size"; + std::cerr << std::endl; + continue; + } ContentValue cv; @@ -773,14 +773,18 @@ int RsDataService::storeMessage(std::map &msg) cv.put(KEY_CHILD_TS, (int32_t)msgMetaPtr->mChildTs); if (!mDb->sqlInsert(MSG_TABLE_NAME, "", cv)) - { - std::cerr << "RsDataService::storeMessage() sqlInsert Failed"; - std::cerr << std::endl; - std::cerr << "\t For GroupId: " << msgMetaPtr->mGroupId.toStdString(); - std::cerr << std::endl; - std::cerr << "\t & MessageId: " << msgMetaPtr->mMsgId.toStdString(); - std::cerr << std::endl; - } + { + std::cerr << "RsDataService::storeMessage() sqlInsert Failed"; + std::cerr << std::endl; + std::cerr << "\t For GroupId: " << msgMetaPtr->mGroupId.toStdString(); + std::cerr << std::endl; + std::cerr << "\t & MessageId: " << msgMetaPtr->mMsgId.toStdString(); + std::cerr << std::endl; + } + + // This is needed so that mLastPost is correctly updated in the group meta when it is re-loaded. + + locked_clearGrpMetaCache(msgMetaPtr->mGroupId); } // finish transaction diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index 61d1bcf38..8a0b26e0d 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -2096,7 +2096,10 @@ void RsGxsNetService::updateServerSyncTS() else msui = mapIT->second; - // (cyril) I'm removing this, becuse mLastPost is *never* updated. So this code it not useful at all. + // (cyril) I'm removing this, because the msgUpdateTS is updated when new messages are received by calling locked_stampMsgServerUpdateTS(). + // mLastPost is actually updated somewhere when loading group meta data. It's not clear yet whether it is set to the latest publish time (wrong) + // or the latest receive time (right). The former would cause problems because it would need to compare times coming from different (potentially async-ed) + // machines. // // if(grpMeta->mLastPost > msui->msgUpdateTS ) // { From e4e29c5adc38d04008757cba9337d460c952027b Mon Sep 17 00:00:00 2001 From: Gio Date: Wed, 3 Aug 2016 00:50:49 +0200 Subject: [PATCH 088/158] quit ApiLocalConnectionHandler after replying API query --- libresapi/src/api/ApiServerLocal.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/libresapi/src/api/ApiServerLocal.cpp b/libresapi/src/api/ApiServerLocal.cpp index e1d5e2623..c130ca5e1 100644 --- a/libresapi/src/api/ApiServerLocal.cpp +++ b/libresapi/src/api/ApiServerLocal.cpp @@ -52,6 +52,7 @@ void ApiLocalConnectionHandler::handleRequest() std::string resultString = mApiServer->handleRequest(req); mLocalSocket->write(resultString.c_str(), resultString.length()); mLocalSocket->write("\n\0"); + quit(); } else { From 353308e2a50e86b9ceb8498d50faff445273768f Mon Sep 17 00:00:00 2001 From: Gio Date: Wed, 3 Aug 2016 14:35:45 +0200 Subject: [PATCH 089/158] ApiLocalConnectionHandler class quit() at the end outside if --- libresapi/src/api/ApiServerLocal.cpp | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/libresapi/src/api/ApiServerLocal.cpp b/libresapi/src/api/ApiServerLocal.cpp index c130ca5e1..b53a356cc 100644 --- a/libresapi/src/api/ApiServerLocal.cpp +++ b/libresapi/src/api/ApiServerLocal.cpp @@ -52,19 +52,12 @@ void ApiLocalConnectionHandler::handleRequest() std::string resultString = mApiServer->handleRequest(req); mLocalSocket->write(resultString.c_str(), resultString.length()); mLocalSocket->write("\n\0"); - quit(); - } - else - { - mLocalSocket->write("\"{\"data\":null,\"debug_msg\":\"ApiLocalConnectionHandler::handleRequest() Error: timeout waiting for path.\\n\",\"returncode\":\"fail\"}\"\n\0"); - quit(); } + else mLocalSocket->write("\"{\"data\":null,\"debug_msg\":\"ApiLocalConnectionHandler::handleRequest() Error: timeout waiting for path.\\n\",\"returncode\":\"fail\"}\"\n\0"); } - else - { - mLocalSocket->write("{\"data\":null,\"debug_msg\":\"ApiLocalConnectionHandler::handleRequest() Error: timeout waiting for JSON data.\\n\",\"returncode\":\"fail\"}\"\n\0"); - quit(); - } + else mLocalSocket->write("{\"data\":null,\"debug_msg\":\"ApiLocalConnectionHandler::handleRequest() Error: timeout waiting for JSON data.\\n\",\"returncode\":\"fail\"}\"\n\0"); + + quit(); } ApiLocalConnectionHandler::~ApiLocalConnectionHandler() From c4ef4d774331211ba0514c50ef4bff56d55ba0a1 Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 2 Aug 2016 23:57:11 +0200 Subject: [PATCH 090/158] saved owner node ID in GXS reputation item --- .../src/serialiser/rsgxsreputationitems.cc | 93 ++++++++++--------- .../src/serialiser/rsgxsreputationitems.h | 71 +++++++++----- libretroshare/src/services/p3gxsreputation.cc | 6 +- 3 files changed, 101 insertions(+), 69 deletions(-) diff --git a/libretroshare/src/serialiser/rsgxsreputationitems.cc b/libretroshare/src/serialiser/rsgxsreputationitems.cc index 064a52611..35c07959b 100644 --- a/libretroshare/src/serialiser/rsgxsreputationitems.cc +++ b/libretroshare/src/serialiser/rsgxsreputationitems.cc @@ -82,10 +82,10 @@ std::ostream& RsGxsReputationConfigItem::print(std::ostream &out, uint16_t inden { printRsItemBase(out, "RsReputationConfigItem", indent); - out << "mPeerId: " << mPeerId << std::endl; - out << "last update: " << time(NULL) - mLatestUpdate << " secs ago." << std::endl; - out << "last query : " << time(NULL) - mLastQuery << " secs ago." << std::endl; - + out << "mPeerId: " << mPeerId << std::endl; + out << "last update: " << time(NULL) - mLatestUpdate << " secs ago." << std::endl; + out << "last query : " << time(NULL) - mLastQuery << " secs ago." << std::endl; + printRsItemEnd(out, "RsReputationConfigItem", indent); return out; } @@ -94,14 +94,15 @@ std::ostream& RsGxsReputationSetItem::print(std::ostream &out, uint16_t indent) { printRsItemBase(out, "RsReputationSetItem", indent); - out << "GxsId: " << mGxsId << std::endl; - out << "mOwnOpinion: " << mOwnOpinion << std::endl; - out << "mOwnOpinionTS : " << time(NULL) - mOwnOpinionTS << " secs ago." << std::endl; + out << "GxsId: " << mGxsId << std::endl; + out << "Owner: " << mOwnerNodeId << std::endl; + out << "mOwnOpinion: " << mOwnOpinion << std::endl; + out << "mOwnOpinionTS : " << time(NULL) - mOwnOpinionTS << " secs ago." << std::endl; out << "Opinions from neighbors: " << std::endl; - + for(std::map::const_iterator it(mOpinions.begin());it!=mOpinions.end();++it) - out << " " << it->first << ": " << it->second << std::endl; - + out << " " << it->first << ": " << it->second << std::endl; + printRsItemEnd(out, "RsReputationSetItem", indent); return out; } @@ -109,12 +110,12 @@ std::ostream& RsGxsReputationUpdateItem::print(std::ostream &out, uint16_t inden { printRsItemBase(out, "RsReputationUpdateItem", indent); - out << "from: " << PeerId() << std::endl; - out << "last update: " << time(NULL) - mLatestUpdate << " secs ago." << std::endl; - + out << "from: " << PeerId() << std::endl; + out << "last update: " << time(NULL) - mLatestUpdate << " secs ago." << std::endl; + for(std::map::const_iterator it(mOpinions.begin());it!=mOpinions.end();++it) - out << " " << it->first << ": " << it->second << std::endl; - + out << " " << it->first << ": " << it->second << std::endl; + printRsItemEnd(out, "RsReputationUpdateItem", indent); return out; } @@ -122,8 +123,8 @@ std::ostream& RsGxsReputationRequestItem::print(std::ostream &out, uint16_t inde { printRsItemBase(out, "RsReputationRequestItem", indent); - out << "last update: " << time(NULL) - mLastUpdate << " secs ago." << std::endl; - + out << "last update: " << time(NULL) - mLastUpdate << " secs ago." << std::endl; + printRsItemEnd(out, "RsReputationRequestItem", indent); return out; } @@ -142,18 +143,19 @@ uint32_t RsGxsReputationConfigItem::serial_size() const uint32_t RsGxsReputationSetItem::serial_size() const { - uint32_t s = 8; /* header */ - - s += mGxsId.serial_size() ; + uint32_t s = 8; /* header */ + + s += mGxsId.serial_size() ; s += 4 ; // mOwnOpinion s += 4 ; // mOwnOpinionTS s += 4 ; // mIdentityFlags - + s += mOwnerNodeId.serial_size() ; + s += 4 ; // mOpinions.size() - + s += (4+RsPeerId::serial_size()) * mOpinions.size() ; - - return s ; + + return s ; } uint32_t RsGxsReputationUpdateItem::serial_size() const @@ -216,8 +218,10 @@ bool RsGxsReputationSetItem::serialise(void *data, uint32_t& pktsize) const ok &= setRawUInt32(data, tlvsize, &offset, mOwnOpinion); ok &= setRawUInt32(data, tlvsize, &offset, mOwnOpinionTS); ok &= setRawUInt32(data, tlvsize, &offset, mIdentityFlags) ; - ok &= setRawUInt32(data, tlvsize, &offset, mOpinions.size()); - + ok &= mOwnerNodeId.serialise(data,tlvsize,offset) ; + + ok &= setRawUInt32(data, tlvsize, &offset, mOpinions.size()); + for(std::map::const_iterator it(mOpinions.begin());it!=mOpinions.end();++it) { ok &= it->first.serialise(data,tlvsize,offset) ; @@ -315,30 +319,32 @@ RsGxsReputationSetItem *RsGxsReputationSerialiser::deserialiseReputationSetItem_ /* add mandatory parts first */ ok &= item->mGxsId.deserialise(data, tlvsize, offset) ; + + item->mOwnerNodeId.clear(); // clears up, for backward compat. + ok &= getRawUInt32(data, tlvsize, &offset, &item->mOwnOpinion); ok &= getRawUInt32(data, tlvsize, &offset, &item->mOwnOpinionTS); - - item->mIdentityFlags = REPUTATION_IDENTITY_FLAG_NEEDS_UPDATE; // special value that means please update me. - + ok &= getRawUInt32(data, tlvsize, &offset, &item->mIdentityFlags); + uint32_t S ; ok &= getRawUInt32(data, tlvsize, &offset, &S); - + for(uint32_t i = 0; ok && (i < S); ++i) { RsPeerId pid ; uint32_t op ; - - ok &= pid.deserialise(data, tlvsize, offset) ; - ok &= getRawUInt32(data, tlvsize, &offset, &op); - + + ok &= pid.deserialise(data, tlvsize, offset) ; + ok &= getRawUInt32(data, tlvsize, &offset, &op); + if(ok) - item->mOpinions[pid] = op ; + item->mOpinions[pid] = op ; } if (offset != rssize || !ok) { std::cerr << __PRETTY_FUNCTION__ << ": error while deserialising! Item will be dropped." << std::endl; - delete item; + delete item; return NULL ; } @@ -357,7 +363,8 @@ RsGxsReputationSetItem *RsGxsReputationSerialiser::deserialiseReputationSetItem( ok &= getRawUInt32(data, tlvsize, &offset, &item->mOwnOpinion); ok &= getRawUInt32(data, tlvsize, &offset, &item->mOwnOpinionTS); ok &= getRawUInt32(data, tlvsize, &offset, &item->mIdentityFlags); - + ok &= item->mOwnerNodeId.deserialise(data, tlvsize, offset) ; + uint32_t S ; ok &= getRawUInt32(data, tlvsize, &offset, &S); @@ -455,12 +462,12 @@ RsItem *RsGxsReputationSerialiser::deserialise(void *data, uint32_t *pktsize) switch(getRsItemSubType(rstype)) { - case RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM : return deserialiseReputationSetItem (data, *pktsize); - case RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM_deprecated: return deserialiseReputationSetItem_deprecated(data, *pktsize); - case RS_PKT_SUBTYPE_GXS_REPUTATION_UPDATE_ITEM : return deserialiseReputationUpdateItem (data, *pktsize); - case RS_PKT_SUBTYPE_GXS_REPUTATION_REQUEST_ITEM : return deserialiseReputationRequestItem (data, *pktsize); - case RS_PKT_SUBTYPE_GXS_REPUTATION_CONFIG_ITEM : return deserialiseReputationConfigItem (data, *pktsize); - + case RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM : return deserialiseReputationSetItem (data, *pktsize); + case RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM_deprecated: return deserialiseReputationSetItem_deprecated(data, *pktsize); + case RS_PKT_SUBTYPE_GXS_REPUTATION_UPDATE_ITEM : return deserialiseReputationUpdateItem (data, *pktsize); + case RS_PKT_SUBTYPE_GXS_REPUTATION_REQUEST_ITEM : return deserialiseReputationRequestItem (data, *pktsize); + case RS_PKT_SUBTYPE_GXS_REPUTATION_CONFIG_ITEM : return deserialiseReputationConfigItem (data, *pktsize); + default: std::cerr << "RsGxsReputationSerialiser::deserialise(): unknown item subtype " << std::hex<< rstype << std::dec << std::endl; return NULL; diff --git a/libretroshare/src/serialiser/rsgxsreputationitems.h b/libretroshare/src/serialiser/rsgxsreputationitems.h index 84dcecdc9..e5a062757 100644 --- a/libretroshare/src/serialiser/rsgxsreputationitems.h +++ b/libretroshare/src/serialiser/rsgxsreputationitems.h @@ -32,11 +32,12 @@ #include "serialiser/rsserial.h" #include "retroshare/rsgxsifacetypes.h" -#define RS_PKT_SUBTYPE_GXS_REPUTATION_CONFIG_ITEM 0x01 -#define RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM_deprecated 0x02 -#define RS_PKT_SUBTYPE_GXS_REPUTATION_UPDATE_ITEM 0x03 -#define RS_PKT_SUBTYPE_GXS_REPUTATION_REQUEST_ITEM 0x04 -#define RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM 0x05 +#define RS_PKT_SUBTYPE_GXS_REPUTATION_CONFIG_ITEM 0x01 +#define RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM_deprecated2 0x02 +#define RS_PKT_SUBTYPE_GXS_REPUTATION_UPDATE_ITEM 0x03 +#define RS_PKT_SUBTYPE_GXS_REPUTATION_REQUEST_ITEM 0x04 +#define RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM_deprecated 0x05 +#define RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM 0x06 /**************************************************************************/ class RsReputationItem: public RsItem @@ -68,33 +69,55 @@ public: virtual void clear() {} std::ostream &print(std::ostream &out, uint16_t indent = 0); - virtual bool serialise(void *data,uint32_t& size) const ; + virtual bool serialise(void *data,uint32_t& size) const ; virtual uint32_t serial_size() const ; RsPeerId mPeerId; uint32_t mLatestUpdate; // timestamp they returned. - uint32_t mLastQuery; // when we sent out. + uint32_t mLastQuery; // when we sent out. }; +// This class should disappear. Deprecated since Aug 1, 2016. The class definition is actually not needed, +// that is why it's commented out. Kept here in order to explains how the deserialisation works. +// +// class RsGxsReputationSetItem_deprecated: public RsReputationItem +// { +// public: +// RsGxsReputationSetItem_deprecated() :RsReputationItem(RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM_deprecated) {} +// +// virtual ~RsGxsReputationSetItem_deprecated() {} +// virtual void clear() {} +// std::ostream &print(std::ostream &out, uint16_t indent = 0) { return out;} +// +// virtual bool serialise(void *data,uint32_t& size) const { std::cerr << "(EE) serialise attempt for a deprecated reputation item. This should not happen" << std::endl; return false ; } +// virtual uint32_t serial_size() const ; +// +// RsGxsId mGxsId; +// uint32_t mOwnOpinion; +// uint32_t mOwnOpinionTS; +// uint32_t mIdentityFlags; +// std::map mOpinions; // RsPeerId -> Opinion. +// }; + class RsGxsReputationSetItem: public RsReputationItem { public: - RsGxsReputationSetItem() :RsReputationItem(RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM) {} + RsGxsReputationSetItem() :RsReputationItem(RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM) {} virtual ~RsGxsReputationSetItem() {} - virtual void clear(); - std::ostream &print(std::ostream &out, uint16_t indent = 0); + virtual void clear(); + std::ostream &print(std::ostream &out, uint16_t indent = 0); - virtual bool serialise(void *data,uint32_t& size) const ; - virtual uint32_t serial_size() const ; - - RsGxsId mGxsId; - uint32_t mOwnOpinion; - uint32_t mOwnOpinionTS; - uint32_t mIdentityFlags ; - std::map mOpinions; // RsPeerId -> Opinion. + virtual bool serialise(void *data,uint32_t& size) const ; + virtual uint32_t serial_size() const ; + + RsGxsId mGxsId; + uint32_t mOwnOpinion; + uint32_t mOwnOpinionTS; + uint32_t mIdentityFlags ; + RsPgpId mOwnerNodeId; + std::map mOpinions; // RsPeerId -> Opinion. }; - class RsGxsReputationUpdateItem: public RsReputationItem { public: @@ -145,11 +168,11 @@ public: virtual RsItem * deserialise(void *data, uint32_t *size); private: - static RsGxsReputationConfigItem *deserialiseReputationConfigItem (void *data, uint32_t size); - static RsGxsReputationSetItem *deserialiseReputationSetItem (void *data, uint32_t size); - static RsGxsReputationSetItem *deserialiseReputationSetItem_deprecated (void *data, uint32_t size); - static RsGxsReputationUpdateItem *deserialiseReputationUpdateItem (void *data, uint32_t size); - static RsGxsReputationRequestItem *deserialiseReputationRequestItem (void *data, uint32_t size); + static RsGxsReputationConfigItem *deserialiseReputationConfigItem (void *data, uint32_t size); + static RsGxsReputationSetItem *deserialiseReputationSetItem (void *data, uint32_t size); + static RsGxsReputationSetItem *deserialiseReputationSetItem_deprecated (void *data, uint32_t size); + static RsGxsReputationUpdateItem *deserialiseReputationUpdateItem (void *data, uint32_t size); + static RsGxsReputationRequestItem *deserialiseReputationRequestItem (void *data, uint32_t size); }; /**************************************************************************/ diff --git a/libretroshare/src/services/p3gxsreputation.cc b/libretroshare/src/services/p3gxsreputation.cc index 4b41e927c..88f2855b8 100644 --- a/libretroshare/src/services/p3gxsreputation.cc +++ b/libretroshare/src/services/p3gxsreputation.cc @@ -493,8 +493,8 @@ bool p3GxsReputation::processIncoming() switch(item->PacketSubType()) { default: - case RS_PKT_SUBTYPE_GXS_REPUTATION_CONFIG_ITEM: - case RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM: + case RS_PKT_SUBTYPE_GXS_REPUTATION_CONFIG_ITEM: + case RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM: std::cerr << "p3GxsReputation::processingIncoming() Unknown Item"; std::cerr << std::endl; itemOk = false; @@ -931,6 +931,7 @@ bool p3GxsReputation::saveList(bool& cleanup, std::list &savelist) item->mOwnOpinion = rit->second.mOwnOpinion; item->mOwnOpinionTS = rit->second.mOwnOpinionTs; item->mIdentityFlags = rit->second.mIdentityFlags; + item->mOwnerNodeId = rit->second.mOwnerNode; std::map::iterator oit; for(oit = rit->second.mOpinions.begin(); oit != rit->second.mOpinions.end(); ++oit) @@ -1069,6 +1070,7 @@ bool p3GxsReputation::loadReputationSet(RsGxsReputationSetItem *item, const std: reputation.mOwnOpinion = item->mOwnOpinion; reputation.mOwnOpinionTs = item->mOwnOpinionTS; + reputation.mOwnerNode = item->mOwnerNodeId; // if dropping entries has changed the score -> must update. From 70228ee40558e2cf21e839aae2f946371b764af9 Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 4 Aug 2016 11:02:12 +0200 Subject: [PATCH 091/158] fixed missign return, probably causing crashes --- libretroshare/src/gxs/rsgxsnetservice.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index 8a0b26e0d..3cdc5a5b7 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -4904,7 +4904,7 @@ bool RsGxsNetService::stampMsgServerUpdateTS(const RsGxsGroupId& gid) { RS_STACK_MUTEX(mNxsMutex) ; - locked_stampMsgServerUpdateTS(gid) ; + return locked_stampMsgServerUpdateTS(gid) ; } bool RsGxsNetService::locked_stampMsgServerUpdateTS(const RsGxsGroupId& gid) From 7545ad4d11acf7e9f29fe75c2582123e61c3bef3 Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 4 Aug 2016 11:43:35 +0200 Subject: [PATCH 092/158] simplied/improved reputation system. Now ids can be banned based on their owner node using a single checkbox in the Person tab, with immediate effect --- libretroshare/src/retroshare/rsreputations.h | 12 +- .../src/serialiser/rsgxsreputationitems.cc | 86 ++++- .../src/serialiser/rsgxsreputationitems.h | 21 ++ libretroshare/src/services/p3gxsreputation.cc | 349 ++++++++++++------ libretroshare/src/services/p3gxsreputation.h | 29 +- libretroshare/src/services/p3idservice.cc | 22 +- retroshare-gui/src/gui/Identity/IdDialog.cpp | 16 + retroshare-gui/src/gui/Identity/IdDialog.h | 1 + retroshare-gui/src/gui/Identity/IdDialog.ui | 15 +- .../src/gui/settings/PeoplePage.cpp | 8 - retroshare-gui/src/gui/settings/PeoplePage.ui | 44 --- 11 files changed, 407 insertions(+), 196 deletions(-) diff --git a/libretroshare/src/retroshare/rsreputations.h b/libretroshare/src/retroshare/rsreputations.h index fdb89b8b5..dac28ad38 100644 --- a/libretroshare/src/retroshare/rsreputations.h +++ b/libretroshare/src/retroshare/rsreputations.h @@ -50,12 +50,13 @@ public: }; virtual bool setOwnOpinion(const RsGxsId& key_id, const Opinion& op) =0; - virtual bool getReputationInfo(const RsGxsId& id,const RsPgpId& owner_id,ReputationInfo& info) =0 ; + virtual bool getReputationInfo(const RsGxsId& id, const RsPgpId &ownerNode, ReputationInfo& info) =0; // parameters - virtual void setNodeAutoBanThreshold(uint32_t n) =0; - virtual uint32_t nodeAutoBanThreshold() =0; + // virtual void setNodeAutoBanThreshold(uint32_t n) =0; + // virtual uint32_t nodeAutoBanThreshold() =0; + virtual void setNodeAutoPositiveOpinionForContacts(bool b) =0; virtual bool nodeAutoPositiveOpinionForContacts() =0; virtual float nodeAutoBanIdentitiesLimit() =0; @@ -64,7 +65,10 @@ public: // This one is a proxy designed to allow fast checking of a GXS id. // it basically returns true if assessment is not ASSESSMENT_OK - virtual bool isIdentityBanned(const RsGxsId& id,const RsPgpId& owner_node) =0; + virtual bool isIdentityBanned(const RsGxsId& id) =0; + + virtual bool isNodeBanned(const RsPgpId& id) =0; + virtual void banNode(const RsPgpId& id,bool b) =0; }; // To access reputations from anywhere diff --git a/libretroshare/src/serialiser/rsgxsreputationitems.cc b/libretroshare/src/serialiser/rsgxsreputationitems.cc index 35c07959b..7a7c9e7f8 100644 --- a/libretroshare/src/serialiser/rsgxsreputationitems.cc +++ b/libretroshare/src/serialiser/rsgxsreputationitems.cc @@ -74,6 +74,11 @@ void RsGxsReputationUpdateItem::clear() mOpinions.clear() ; } +void RsGxsReputationBannedNodeSetItem::clear() +{ + mKnownIdentities.TlvClear(); +} + /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ @@ -128,6 +133,17 @@ std::ostream& RsGxsReputationRequestItem::print(std::ostream &out, uint16_t inde printRsItemEnd(out, "RsReputationRequestItem", indent); return out; } +std::ostream& RsGxsReputationBannedNodeSetItem::print(std::ostream &out, uint16_t indent) +{ + printRsItemBase(out, "RsReputationBannedNodeSetItem", indent); + + out << "last update: " << time(NULL) - mLastActivityTS << " secs ago." << std::endl; + out << "PGP id: " << mPgpId << std::endl; + out << "Known ids: " << mKnownIdentities.ids.size() << std::endl; + + printRsItemEnd(out, "RsReputationRequestItem", indent); + return out; +} /*************************************************************************/ uint32_t RsGxsReputationConfigItem::serial_size() const @@ -135,8 +151,8 @@ uint32_t RsGxsReputationConfigItem::serial_size() const uint32_t s = 8; /* header */ s += mPeerId.serial_size() ; // PeerId - s += 4 ; // mLatestUpdate - s += 4 ; // mLastQuery + s += 4 ; // mLatestUpdate + s += 4 ; // mLastQuery return s ; } @@ -158,6 +174,17 @@ uint32_t RsGxsReputationSetItem::serial_size() const return s ; } +uint32_t RsGxsReputationBannedNodeSetItem::serial_size() const +{ + uint32_t s = 8; /* header */ + + s += RsPgpId::serial_size() ; // mPgpId + s += 4 ; // mLastActivityTS; + s += mKnownIdentities.TlvSize(); // mKnownIdentities + + return s ; +} + uint32_t RsGxsReputationUpdateItem::serial_size() const { uint32_t s = 8; /* header */ @@ -236,6 +263,29 @@ bool RsGxsReputationSetItem::serialise(void *data, uint32_t& pktsize) const return ok; } + +bool RsGxsReputationBannedNodeSetItem::serialise(void *data, uint32_t& pktsize) const +{ + uint32_t tlvsize ; + uint32_t offset=0; + + if(!serialise_header(data,pktsize,tlvsize,offset)) + return false ; + + bool ok = true; + + ok &= mPgpId.serialise(data, tlvsize, offset) ; + ok &= setRawUInt32(data, tlvsize, &offset, mLastActivityTS); + ok &= mKnownIdentities.SetTlv(data, tlvsize, &offset) ; + + if (offset != tlvsize) + { + ok = false; + std::cerr << "RsGxsReputationSetItem::serialisedata() size error! " << std::endl; + } + + return ok; +} bool RsGxsReputationUpdateItem::serialise(void *data, uint32_t& pktsize) const { uint32_t tlvsize ; @@ -308,7 +358,28 @@ RsGxsReputationConfigItem *RsGxsReputationSerialiser::deserialiseReputationConfi return item; } +RsGxsReputationBannedNodeSetItem *RsGxsReputationSerialiser::deserialiseReputationBannedNodeSetItem(void *data,uint32_t size) +{ + uint32_t offset = 8; // skip the header + uint32_t rssize = getRsItemSize(data); + bool ok = true ; + RsGxsReputationBannedNodeSetItem *item = new RsGxsReputationBannedNodeSetItem() ; + + /* add mandatory parts first */ + ok &= item->mPgpId.deserialise(data, size, offset) ; + ok &= getRawUInt32(data, size, &offset, &item->mLastActivityTS); + ok &= item->mKnownIdentities.GetTlv(data,size,&offset) ; + + if (offset != rssize || !ok) + { + std::cerr << __PRETTY_FUNCTION__ << ": error while deserialising! Item will be dropped." << std::endl; + delete item; + return NULL ; + } + + return item; +} RsGxsReputationSetItem *RsGxsReputationSerialiser::deserialiseReputationSetItem_deprecated(void *data,uint32_t tlvsize) { uint32_t offset = 8; // skip the header @@ -462,11 +533,12 @@ RsItem *RsGxsReputationSerialiser::deserialise(void *data, uint32_t *pktsize) switch(getRsItemSubType(rstype)) { - case RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM : return deserialiseReputationSetItem (data, *pktsize); - case RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM_deprecated: return deserialiseReputationSetItem_deprecated(data, *pktsize); - case RS_PKT_SUBTYPE_GXS_REPUTATION_UPDATE_ITEM : return deserialiseReputationUpdateItem (data, *pktsize); - case RS_PKT_SUBTYPE_GXS_REPUTATION_REQUEST_ITEM : return deserialiseReputationRequestItem (data, *pktsize); - case RS_PKT_SUBTYPE_GXS_REPUTATION_CONFIG_ITEM : return deserialiseReputationConfigItem (data, *pktsize); + case RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM : return deserialiseReputationSetItem (data, *pktsize); + case RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM_deprecated : return deserialiseReputationSetItem_deprecated(data, *pktsize); + case RS_PKT_SUBTYPE_GXS_REPUTATION_BANNED_NODE_SET_ITEM: return deserialiseReputationBannedNodeSetItem(data, *pktsize); + case RS_PKT_SUBTYPE_GXS_REPUTATION_UPDATE_ITEM : return deserialiseReputationUpdateItem (data, *pktsize); + case RS_PKT_SUBTYPE_GXS_REPUTATION_REQUEST_ITEM : return deserialiseReputationRequestItem (data, *pktsize); + case RS_PKT_SUBTYPE_GXS_REPUTATION_CONFIG_ITEM : return deserialiseReputationConfigItem (data, *pktsize); default: std::cerr << "RsGxsReputationSerialiser::deserialise(): unknown item subtype " << std::hex<< rstype << std::dec << std::endl; diff --git a/libretroshare/src/serialiser/rsgxsreputationitems.h b/libretroshare/src/serialiser/rsgxsreputationitems.h index e5a062757..4bf55e0d8 100644 --- a/libretroshare/src/serialiser/rsgxsreputationitems.h +++ b/libretroshare/src/serialiser/rsgxsreputationitems.h @@ -30,6 +30,7 @@ #include "serialiser/rsserviceids.h" #include "serialiser/rsserial.h" +#include "serialiser/rstlvidset.h" #include "retroshare/rsgxsifacetypes.h" #define RS_PKT_SUBTYPE_GXS_REPUTATION_CONFIG_ITEM 0x01 @@ -38,6 +39,7 @@ #define RS_PKT_SUBTYPE_GXS_REPUTATION_REQUEST_ITEM 0x04 #define RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM_deprecated 0x05 #define RS_PKT_SUBTYPE_GXS_REPUTATION_SET_ITEM 0x06 +#define RS_PKT_SUBTYPE_GXS_REPUTATION_BANNED_NODE_SET_ITEM 0x07 /**************************************************************************/ class RsReputationItem: public RsItem @@ -118,6 +120,24 @@ public: RsPgpId mOwnerNodeId; std::map mOpinions; // RsPeerId -> Opinion. }; + +class RsGxsReputationBannedNodeSetItem: public RsReputationItem +{ +public: + RsGxsReputationBannedNodeSetItem() :RsReputationItem(RS_PKT_SUBTYPE_GXS_REPUTATION_BANNED_NODE_SET_ITEM) {} + + virtual ~RsGxsReputationBannedNodeSetItem() {} + virtual void clear(); + std::ostream &print(std::ostream &out, uint16_t indent = 0); + + virtual bool serialise(void *data,uint32_t& size) const ; + virtual uint32_t serial_size() const ; + + RsPgpId mPgpId ; + uint32_t mLastActivityTS ; + RsTlvGxsIdSet mKnownIdentities ; +}; + class RsGxsReputationUpdateItem: public RsReputationItem { public: @@ -173,6 +193,7 @@ private: static RsGxsReputationSetItem *deserialiseReputationSetItem_deprecated (void *data, uint32_t size); static RsGxsReputationUpdateItem *deserialiseReputationUpdateItem (void *data, uint32_t size); static RsGxsReputationRequestItem *deserialiseReputationRequestItem (void *data, uint32_t size); + static RsGxsReputationBannedNodeSetItem *deserialiseReputationBannedNodeSetItem (void *data, uint32_t size); }; /**************************************************************************/ diff --git a/libretroshare/src/services/p3gxsreputation.cc b/libretroshare/src/services/p3gxsreputation.cc index 88f2855b8..68933e4a8 100644 --- a/libretroshare/src/services/p3gxsreputation.cc +++ b/libretroshare/src/services/p3gxsreputation.cc @@ -139,6 +139,7 @@ static const uint32_t PGP_AUTO_BAN_THRESHOLD_DEFAULT = 2 ; // above t static const uint32_t IDENTITY_FLAGS_UPDATE_DELAY = 100 ; // static const uint32_t BANNED_NODES_UPDATE_DELAY = 313 ; // update approx every 5 mins. Chosen to not be a multiple of IDENTITY_FLAGS_UPDATE_DELAY static const uint32_t REPUTATION_INFO_KEEP_DELAY = 86400*35; // remove old reputation info 5 days after last usage limit, in case the ID would come back.. +static const uint32_t BANNED_NODES_INACTIVITY_KEEP = 86400*60; // remove all info about banned nodes after 2 months of inactivity p3GxsReputation::p3GxsReputation(p3LinkMgr *lm) :p3Service(), p3Config(), @@ -146,7 +147,7 @@ p3GxsReputation::p3GxsReputation(p3LinkMgr *lm) { addSerialType(new RsGxsReputationSerialiser()); - mPgpAutoBanThreshold = PGP_AUTO_BAN_THRESHOLD_DEFAULT ; + //mPgpAutoBanThreshold = PGP_AUTO_BAN_THRESHOLD_DEFAULT ; mRequestTime = 0; mStoreTime = 0; mReputationsUpdated = false; @@ -154,6 +155,7 @@ p3GxsReputation::p3GxsReputation(p3LinkMgr *lm) mLastIdentityFlagsUpdate = time(NULL) - 3; mAverageActiveFriends = 0 ; mLastBannedNodesUpdate = 0 ; + mBannedNodesProxyNeedsUpdate = false; mAutoBanIdentitiesLimit = REPUTATION_ASSESSMENT_THRESHOLD_X1; mAutoSetPositiveOptionToContacts = true; // default @@ -200,9 +202,15 @@ int p3GxsReputation::tick() if(now > BANNED_NODES_UPDATE_DELAY+mLastBannedNodesUpdate) // 613 is not a multiple of 100, to avoid piling up work { updateIdentityFlags() ; // needed before updateBannedNodesList! - updateBannedNodesList(); + updateBannedNodesProxy(); mLastBannedNodesUpdate = now ; } + + if(mBannedNodesProxyNeedsUpdate) + { + updateBannedNodesProxy(); + mBannedNodesProxyNeedsUpdate = false ; + } #ifdef DEBUG_REPUTATION static time_t last_debug_print = time(NULL) ; @@ -216,21 +224,21 @@ int p3GxsReputation::tick() return 0; } -void p3GxsReputation::setNodeAutoBanThreshold(uint32_t n) -{ - RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ - - if(n != mPgpAutoBanThreshold) - { - mLastBannedNodesUpdate = 0 ; - mPgpAutoBanThreshold = n ; - IndicateConfigChanged() ; - } -} -uint32_t p3GxsReputation::nodeAutoBanThreshold() -{ - return mPgpAutoBanThreshold ; -} +// void p3GxsReputation::setNodeAutoBanThreshold(uint32_t n) +// { +// RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ +// +// if(n != mPgpAutoBanThreshold) +// { +// mLastBannedNodesUpdate = 0 ; +// mPgpAutoBanThreshold = n ; +// IndicateConfigChanged() ; +// } +// } +// uint32_t p3GxsReputation::nodeAutoBanThreshold() +// { +// return mPgpAutoBanThreshold ; +// } void p3GxsReputation::setNodeAutoPositiveOpinionForContacts(bool b) { @@ -284,33 +292,21 @@ class ZeroInitCnt operator uint32_t() const { return cnt ; } }; -void p3GxsReputation::updateBannedNodesList() +void p3GxsReputation::updateBannedNodesProxy() { -#ifdef DEBUG_REPUTATION - std::cerr << "Updating PGP ban list based on signed GxsIds to ban" << std::endl; -#endif - std::map tmpreps ; +//#ifdef DEBUG_REPUTATION +// std::cerr << "Updating PGP ban list based on signed GxsIds to ban. Ban threshold = " << mPgpAutoBanThreshold << std::endl; +//#endif + // This function keeps the Banned GXS id proxy up to date. + // - RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ - tmpreps = mReputations ; + RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ - std::map pgp_ids_to_ban ; + mPerNodeBannedIdsProxy.clear(); - for( std::map::iterator rit = tmpreps.begin();rit!=tmpreps.end();++rit) - if((rit->second.mIdentityFlags & REPUTATION_IDENTITY_FLAG_PGP_LINKED) && !rit->second.mOwnerNode.isNull() && rit->second.mOwnOpinion == p3GxsReputation::OPINION_NEGATIVE) - ++pgp_ids_to_ban[rit->second.mOwnerNode] ; - - mBannedPgpIds.clear() ; - - if(mPgpAutoBanThreshold > 0) - for(std::map::const_iterator it(pgp_ids_to_ban.begin());it!=pgp_ids_to_ban.end();++it) - { -#ifdef DEBUG_REPUTATION - std::cerr << "PGP Id: " << it->first << ". Ban count=" << it->second << " - " << (( it->second >= mPgpAutoBanThreshold)?"Banned!":"OK" ) << std::endl; -#endif - if(it->second >= mPgpAutoBanThreshold) - mBannedPgpIds.insert(it->first) ; - } + for( std::map::iterator rit = mBannedPgpIds.begin();rit!=mBannedPgpIds.end();++rit) + for(std::set::const_iterator it(rit->second.known_identities.begin());it!=rit->second.known_identities.end();++it) + mPerNodeBannedIdsProxy.insert(*it) ; } void p3GxsReputation::updateIdentityFlags() @@ -326,7 +322,7 @@ void p3GxsReputation::updateIdentityFlags() #endif for( std::map::iterator rit = mReputations.begin();rit!=mReputations.end();++rit) - if(rit->second.mIdentityFlags & REPUTATION_IDENTITY_FLAG_NEEDS_UPDATE) + if( (rit->second.mIdentityFlags & REPUTATION_IDENTITY_FLAG_NEEDS_UPDATE) && (mPerNodeBannedIdsProxy.find(rit->first) == mPerNodeBannedIdsProxy.end())) to_update.push_back(rit->first) ; } @@ -387,9 +383,9 @@ void p3GxsReputation::cleanup() #endif std::cerr << "p3GxsReputation::cleanup() " << std::endl; - // remove optionions about identities that do not exist anymore. That will in particular avoid asking p3idservice about deleted - // identities, which would cause an excess of hits to the database. - // We do it in two steps to avoid a deadlock when calling rsIdentity from here. + // Remove opinions about identities that do not exist anymore. That will in particular avoid asking p3idservice about deleted + // identities, which would cause an excess of hits to the database. We do it in two steps to avoid a deadlock when calling rsIdentity from here. + // Also, neutral opinions for banned PGP linked nodes are kept, so as to be able to not request them again. bool updated = false ; time_t now = time(NULL) ; @@ -400,15 +396,15 @@ void p3GxsReputation::cleanup() RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ for(std::map::iterator it(mReputations.begin());it!=mReputations.end();) - if(it->second.mOpinions.empty() && it->second.mOwnOpinion == RsReputations::OPINION_NEUTRAL) + if(it->second.mOpinions.empty() && it->second.mOwnOpinion == RsReputations::OPINION_NEUTRAL && (it->second.mOwnerNode.isNull())) { - std::map::iterator tmp(it) ; +#ifdef DEBUG_REPUTATION + std::cerr << " ID " << it->first << ": own is neutral and no opinions from friends => remove entry" << std::endl; +#endif + std::map::iterator tmp(it) ; ++tmp ; mReputations.erase(it) ; it = tmp ; -#ifdef DEBUG_REPUTATION - std::cerr << " ID " << it->first << ": own is neutral and no opinions from friends => remove entry" << std::endl; -#endif updated = true ; } else @@ -424,12 +420,31 @@ void p3GxsReputation::cleanup() #ifdef DEBUG_REPUTATION std::cerr << " Identity " << *it << " has a last usage TS of " << now - rsIdentity->getLastUsageTS(*it) << " secs ago: deleting it." << std::endl; #endif - RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ mReputations.erase(*it) ; updated = true ; } + { + RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ + + for(std::map::iterator it(mBannedPgpIds.begin());it!=mBannedPgpIds.end();) + if(it->second.last_activity_TS + BANNED_NODES_INACTIVITY_KEEP < now) + { +#ifdef DEBUG_REPUTATION + std::cerr << " Removing all info about banned node " << it->first << " by lack of activity." << std::endl; +#endif + std::map::iterator tmp(it ) ; + ++tmp ; + mBannedPgpIds.erase(it) ; + it = tmp ; + + updated = true ; + } + else + ++it ; + } + if(updated) IndicateConfigChanged() ; } @@ -762,37 +777,63 @@ bool p3GxsReputation::updateLatestUpdate(RsPeerId peerid,time_t latest_update) * Opinion ****/ -bool p3GxsReputation::getReputationInfo(const RsGxsId& gxsid, const RsPgpId& owner_id, RsReputations::ReputationInfo& info) +bool p3GxsReputation::getReputationInfo(const RsGxsId& gxsid, const RsPgpId& ownerNode, RsReputations::ReputationInfo& info) { if(gxsid.isNull()) return false ; + time_t now = time(NULL) ; + RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ -#ifdef DEBUG_REPUTATION +#ifdef DEBUG_REPUTATION2 std::cerr << "getReputationInfo() for " << gxsid << std::endl; #endif - std::map::const_iterator it = mReputations.find(gxsid) ; + std::map::iterator it = mReputations.find(gxsid) ; + RsPgpId owner_id ; if(it == mReputations.end()) { info.mOwnOpinion = RsReputations::OPINION_NEUTRAL ; info.mOverallReputationScore = RsReputations::REPUTATION_THRESHOLD_DEFAULT ; - info.mFriendAverage = REPUTATION_THRESHOLD_DEFAULT ; + info.mFriendAverage = REPUTATION_THRESHOLD_DEFAULT ; + + owner_id = ownerNode ; } else { - const Reputation& rep(it->second) ; + Reputation& rep(it->second) ; info.mOwnOpinion = RsReputations::Opinion(rep.mOwnOpinion) ; info.mOverallReputationScore = rep.mReputation ; info.mFriendAverage = rep.mFriendAverage ; + + if(rep.mOwnerNode.isNull()) + rep.mOwnerNode = ownerNode ; + + owner_id = rep.mOwnerNode ; } - if(!owner_id.isNull() && (mBannedPgpIds.find(owner_id) != mBannedPgpIds.end())) + std::map::iterator it2 ; + + if(!owner_id.isNull() && (it2 = mBannedPgpIds.find(owner_id))!=mBannedPgpIds.end()) { -#ifdef DEBUG_REPUTATION - std::cerr << "p3GxsReputations: identity " << gxsid << " is banned because owner node ID " << owner_id << " is banned." << std::endl; + if(it2->second.known_identities.find(gxsid) == it2->second.known_identities.end()) + { + it2->second.known_identities.insert(gxsid) ; + it2->second.last_activity_TS = now ; + mBannedNodesProxyNeedsUpdate = true ; + } + + info.mAssessment = RsReputations::ASSESSMENT_BAD ; +#ifdef DEBUG_REPUTATION2 + std::cerr << "p3GxsReputations: identity " << gxsid << " is banned because owner node ID " << owner_id << " is banned (found in banned nodes list)." << std::endl; +#endif + } + else if(mPerNodeBannedIdsProxy.find(gxsid) != mPerNodeBannedIdsProxy.end()) + { +#ifdef DEBUG_REPUTATION2 + std::cerr << "p3GxsReputations: identity " << gxsid << " is banned because owner node ID " << owner_id << " is banned (found in proxy)." << std::endl; #endif info.mAssessment = RsReputations::ASSESSMENT_BAD ; } @@ -801,18 +842,46 @@ bool p3GxsReputation::getReputationInfo(const RsGxsId& gxsid, const RsPgpId& own else info.mAssessment = RsReputations::ASSESSMENT_OK ; -#ifdef DEBUG_REPUTATION - std::cerr << " information present. OwnOp = " << info.mOwnOpinion << ", overall score=" << info.mAssessment << std::endl; +#ifdef DEBUG_REPUTATION2 + std::cerr << " information present. OwnOp = " << info.mOwnOpinion << ", owner node=" << owner_id << ", overall score=" << info.mAssessment << std::endl; #endif return true ; } -bool p3GxsReputation::isIdentityBanned(const RsGxsId &id,const RsPgpId& owner_node) +void p3GxsReputation::banNode(const RsPgpId& id,bool b) +{ + RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ + + if(b) + { + if(mBannedPgpIds.find(id) == mBannedPgpIds.end()) + { + mBannedPgpIds[id] = BannedNodeInfo() ; + IndicateConfigChanged(); + } + } + else + { + if(mBannedPgpIds.find(id) != mBannedPgpIds.end()) + { + mBannedPgpIds.erase(id) ; + IndicateConfigChanged(); + } + } +} +bool p3GxsReputation::isNodeBanned(const RsPgpId& id) +{ + RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ + + return mBannedPgpIds.find(id) != mBannedPgpIds.end(); +} + +bool p3GxsReputation::isIdentityBanned(const RsGxsId &id) { RsReputations::ReputationInfo info ; - if(!getReputationInfo(id,owner_node,info)) + if(!getReputationInfo(id,RsPgpId(),info)) return false ; #ifdef DEBUG_REPUTATION @@ -943,12 +1012,23 @@ bool p3GxsReputation::saveList(bool& cleanup, std::list &savelist) savelist.push_back(item); count++; } + + for(std::map::const_iterator it(mBannedPgpIds.begin());it!=mBannedPgpIds.end();++it) + { + RsGxsReputationBannedNodeSetItem *item = new RsGxsReputationBannedNodeSetItem(); + + item->mPgpId = it->first ; + item->mLastActivityTS = it->second.last_activity_TS; + item->mKnownIdentities.ids = it->second.known_identities; + + savelist.push_back(item) ; + } RsConfigKeyValueSet *vitem = new RsConfigKeyValueSet ; RsTlvKeyValue kv; - kv.key = "AUTO_BAN_NODES_THRESHOLD" ; - rs_sprintf(kv.value, "%d", mPgpAutoBanThreshold); - vitem->tlvkvs.pairs.push_back(kv) ; +// kv.key = "AUTO_BAN_NODES_THRESHOLD" ; +// rs_sprintf(kv.value, "%d", mPgpAutoBanThreshold); +// vitem->tlvkvs.pairs.push_back(kv) ; kv.key = "AUTO_BAN_IDENTITIES_THRESHOLD" ; rs_sprintf(kv.value, "%f", mAutoBanIdentitiesLimit); @@ -971,7 +1051,7 @@ void p3GxsReputation::saveDone() bool p3GxsReputation::loadList(std::list& loadList) { #ifdef DEBUG_REPUTATION - std::cerr << "p3GxsReputation::saveList()" << std::endl; + std::cerr << "p3GxsReputation::loadList()" << std::endl; #endif std::list::iterator it; std::set peerSet; @@ -990,28 +1070,39 @@ bool p3GxsReputation::loadList(std::list& loadList) config.mLatestUpdate = item->mLatestUpdate; config.mLastQuery = 0; - peerSet.insert(peerId); + peerSet.insert(peerId); } RsGxsReputationSetItem *set = dynamic_cast(*it); + if (set) loadReputationSet(set, peerSet); + + RsGxsReputationBannedNodeSetItem *itm2 = dynamic_cast(*it) ; + + if(itm2 != NULL) + { + BannedNodeInfo& info(mBannedPgpIds[itm2->mPgpId]) ; + info.last_activity_TS = itm2->mLastActivityTS ; + info.known_identities = itm2->mKnownIdentities.ids ; + } + RsConfigKeyValueSet *vitem = dynamic_cast(*it); if(vitem) for(std::list::const_iterator kit = vitem->tlvkvs.pairs.begin(); kit != vitem->tlvkvs.pairs.end(); ++kit) { - if(kit->key == "AUTO_BAN_NODES_THRESHOLD") - { - int val ; - if (sscanf(kit->value.c_str(), "%d", &val) == 1) - { - mPgpAutoBanThreshold = val ; - std::cerr << "Setting AutoBanNode threshold to " << val << std::endl ; - mLastBannedNodesUpdate = 0 ; // force update - } - }; +// if(kit->key == "AUTO_BAN_NODES_THRESHOLD") +// { +// int val ; +// if (sscanf(kit->value.c_str(), "%d", &val) == 1) +// { +// mPgpAutoBanThreshold = val ; +// std::cerr << "Setting AutoBanNode threshold to " << val << std::endl ; +// mLastBannedNodesUpdate = 0 ; // force update +// } +// }; if(kit->key == "AUTO_BAN_IDENTITIES_THRESHOLD") { float val ; @@ -1034,53 +1125,62 @@ bool p3GxsReputation::loadList(std::list& loadList) delete (*it); } + updateBannedNodesProxy(); loadList.clear() ; return true; } bool p3GxsReputation::loadReputationSet(RsGxsReputationSetItem *item, const std::set &peerSet) { - RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ + { + RsStackMutex stack(mReputationMtx); /****** LOCKED MUTEX *******/ - std::map::iterator rit; + std::map::iterator rit; - if(item->mGxsId.isNull()) // just a protection against potential errors having put 00000 into ids. + if(item->mGxsId.isNull()) // just a protection against potential errors having put 00000 into ids. return false ; - - /* find matching Reputation */ - RsGxsId gxsId(item->mGxsId); - rit = mReputations.find(gxsId); - if (rit != mReputations.end()) - { - std::cerr << "ERROR"; - std::cerr << std::endl; - } - Reputation &reputation = mReputations[gxsId]; + /* find matching Reputation */ + RsGxsId gxsId(item->mGxsId); + rit = mReputations.find(gxsId); + if (rit != mReputations.end()) + { + std::cerr << "ERROR"; + std::cerr << std::endl; + } - // install opinions. - std::map::const_iterator oit; - for(oit = item->mOpinions.begin(); oit != item->mOpinions.end(); ++oit) - { - // expensive ... but necessary. - RsPeerId peerId(oit->first); - if (peerSet.end() != peerSet.find(peerId)) - reputation.mOpinions[peerId] = safe_convert_uint32t_to_opinion(oit->second); - } + Reputation &reputation = mReputations[gxsId]; - reputation.mOwnOpinion = item->mOwnOpinion; - reputation.mOwnOpinionTs = item->mOwnOpinionTS; - reputation.mOwnerNode = item->mOwnerNodeId; + // install opinions. + std::map::const_iterator oit; + for(oit = item->mOpinions.begin(); oit != item->mOpinions.end(); ++oit) + { + // expensive ... but necessary. + RsPeerId peerId(oit->first); + if (peerSet.end() != peerSet.find(peerId)) + reputation.mOpinions[peerId] = safe_convert_uint32t_to_opinion(oit->second); + } - // if dropping entries has changed the score -> must update. - - //float old_reputation = reputation.mReputation ; - //mUpdatedReputations.insert(gxsId) ; - - reputation.updateReputation() ; + reputation.mOwnOpinion = item->mOwnOpinion; + reputation.mOwnOpinionTs = item->mOwnOpinionTS; + reputation.mOwnerNode = item->mOwnerNodeId; + reputation.mIdentityFlags = item->mIdentityFlags | REPUTATION_IDENTITY_FLAG_NEEDS_UPDATE; - mUpdated.insert(std::make_pair(reputation.mOwnOpinionTs, gxsId)); - return true; + // if dropping entries has changed the score -> must update. + + //float old_reputation = reputation.mReputation ; + //mUpdatedReputations.insert(gxsId) ; + + reputation.updateReputation() ; + + mUpdated.insert(std::make_pair(reputation.mOwnOpinionTs, gxsId)); + } +#ifdef DEBUG_REPUTATION + RsReputations::ReputationInfo info ; + getReputationInfo(item->mGxsId,item->mOwnerNodeId,info) ; + std::cerr << item->mGxsId << " : own: " << info.mOwnOpinion << ", owner node: " << item->mOwnerNodeId << ", assessment: " << ((info.mAssessment==ASSESSMENT_BAD)?"BAD":"OK") << std::endl; +#endif + return true; } @@ -1260,16 +1360,33 @@ void p3GxsReputation::debug_print() { std::cerr << "Reputations database: " << std::endl; std::cerr << " Average number of peers: " << mAverageActiveFriends << std::endl; - + std::cerr << " GXS ID data: " << std::endl; + time_t now = time(NULL) ; - + for(std::map::const_iterator it(mReputations.begin());it!=mReputations.end();++it) { - std::cerr << " ID=" << it->first << ", own: " << it->second.mOwnOpinion << ", Friend average: " << it->second.mFriendAverage << ", global_score: " << it->second.mReputation - << ", last own update: " << now - it->second.mOwnOpinionTs << " secs ago." << std::endl; - - for(std::map::const_iterator it2(it->second.mOpinions.begin());it2!=it->second.mOpinions.end();++it2) + std::cerr << " " << it->first << ": own: " << it->second.mOwnOpinion << ", Friend average: " << it->second.mFriendAverage << ", global_score: " << it->second.mReputation + << ", last own update: " << now - it->second.mOwnOpinionTs << " secs ago." << std::endl; +#ifdef DEBUG_REPUTATION2 + for(std::map::const_iterator it2(it->second.mOpinions.begin());it2!=it->second.mOpinions.end();++it2) std::cerr << " " << it2->first << ": " << it2->second << std::endl; +#endif } + + std::cerr << " Banned RS nodes by ID: " << std::endl; + + for(std::map::const_iterator it(mBannedPgpIds.begin());it!=mBannedPgpIds.end();++it) + { + std::cerr << " Node " << it->first << ", last activity: " << now - it->second.last_activity_TS << " secs ago." << std::endl; + + for(std::set::const_iterator it2(it->second.known_identities.begin());it2!=it->second.known_identities.end();++it2) + std::cerr << " " << *it2 << std::endl; + } + + std::cerr << " Per node Banned GXSIds proxy: " << std::endl; + + for(std::set::const_iterator it(mPerNodeBannedIdsProxy.begin());it!=mPerNodeBannedIdsProxy.end();++it) + std::cerr << " " << *it << std::endl; } diff --git a/libretroshare/src/services/p3gxsreputation.h b/libretroshare/src/services/p3gxsreputation.h index 7bed661b2..94fb356e1 100644 --- a/libretroshare/src/services/p3gxsreputation.h +++ b/libretroshare/src/services/p3gxsreputation.h @@ -59,6 +59,12 @@ public: time_t mLastQuery; }; +struct BannedNodeInfo +{ + time_t last_activity_TS ; // updated everytime a node or one of its former identities is required + std::set known_identities ; // list of known identities from this node. This is kept for a while, and useful in order to avoid re-asking these keys. +}; + class Reputation { public: @@ -77,7 +83,7 @@ public: float mFriendAverage ; float mReputation; - RsPgpId mOwnerNode; + RsPgpId mOwnerNode; uint32_t mIdentityFlags; }; @@ -97,11 +103,15 @@ public: /***** Interface for RsReputations *****/ virtual bool setOwnOpinion(const RsGxsId& key_id, const Opinion& op) ; - virtual bool getReputationInfo(const RsGxsId& id, const RsPgpId &owner_id, ReputationInfo& info) ; - virtual bool isIdentityBanned(const RsGxsId& id, const RsPgpId &owner_node) ; + virtual bool getReputationInfo(const RsGxsId& id, const RsPgpId &ownerNode, ReputationInfo& info) ; + virtual bool isIdentityBanned(const RsGxsId& id) ; + + virtual bool isNodeBanned(const RsPgpId& id); + virtual void banNode(const RsPgpId& id,bool b) ; + + //virtual void setNodeAutoBanThreshold(uint32_t n) ; + //virtual uint32_t nodeAutoBanThreshold() ; - virtual void setNodeAutoBanThreshold(uint32_t n) ; - virtual uint32_t nodeAutoBanThreshold() ; virtual void setNodeAutoPositiveOpinionForContacts(bool b) ; virtual bool nodeAutoPositiveOpinionForContacts() ; virtual float nodeAutoBanIdentitiesLimit() ; @@ -129,7 +139,8 @@ private: bool RecvReputations(RsGxsReputationUpdateItem *item); bool updateLatestUpdate(RsPeerId peerid, time_t latest_update); void updateActiveFriends() ; - void updateBannedNodesList(); + + void updateBannedNodesProxy(); // internal update of data. Takes care of cleaning empty boxes. void locked_updateOpinion(const RsPeerId &from, const RsGxsId &about, RsReputations::Opinion op); @@ -167,8 +178,10 @@ private: std::set mUpdatedReputations; // PGP Ids auto-banned. This is updated regularly. - std::set mBannedPgpIds ; - uint32_t mPgpAutoBanThreshold ; + std::map mBannedPgpIds ; + std::set mPerNodeBannedIdsProxy ; + //uint32_t mPgpAutoBanThreshold ; + bool mBannedNodesProxyNeedsUpdate ; }; #endif //SERVICE_RSGXSREPUTATION_HEADER diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index 0e4062520..a20efbaf6 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -51,16 +51,16 @@ * #define GXSID_GEN_DUMMY_DATA 1 ****/ -#define ID_REQUEST_LIST 0x0001 -#define ID_REQUEST_IDENTITY 0x0002 +#define ID_REQUEST_LIST 0x0001 +#define ID_REQUEST_IDENTITY 0x0002 #define ID_REQUEST_REPUTATION 0x0003 -#define ID_REQUEST_OPINION 0x0004 +#define ID_REQUEST_OPINION 0x0004 #define GXSID_MAX_CACHE_SIZE 5000 // unused keys are deleted according to some heuristic that should favor known keys, signed keys etc. -static const time_t MAX_KEEP_KEYS_BANNED = 2 * 86400 ; // get rid of banned ids after 2 days. That gives a chance to un-ban someone before he gets kicked out +static const time_t MAX_KEEP_KEYS_BANNED = 1 * 86400 ; // get rid of banned ids after 1 days. That gives a chance to un-ban someone before he gets definitely kicked out static const time_t MAX_KEEP_KEYS_DEFAULT = 5 * 86400 ; // default for unsigned identities: 5 days static const time_t MAX_KEEP_KEYS_SIGNED = 8 * 86400 ; // signed identities by unknown key static const time_t MAX_KEEP_KEYS_SIGNED_KNOWN = 30 * 86400 ; // signed identities by known node keys @@ -324,7 +324,7 @@ public: time_t now = time(NULL); const RsGxsId& gxs_id = entry.details.mId ; - bool is_id_banned = rsReputations->isIdentityBanned(gxs_id,entry.details.mPgpId) ; + bool is_id_banned = rsReputations->isIdentityBanned(gxs_id) ; bool is_own_id = (bool)(entry.details.mFlags & RS_IDENTITY_FLAGS_IS_OWN_ID) ; bool is_known_id = (bool)(entry.details.mFlags & RS_IDENTITY_FLAGS_PGP_KNOWN) ; bool is_signed_id = (bool)(entry.details.mFlags & RS_IDENTITY_FLAGS_PGP_LINKED) ; @@ -739,6 +739,18 @@ bool p3IdService::requestKey(const RsGxsId &id, const std::list& peers return true; else { + // Normally we should call getIdDetails(), but since the key is not known, we need to digg a possibly old information + // from the reputation system, which keeps its own list of banned keys. Of course, the owner ID is not known at this point. + + RsReputations::ReputationInfo info ; + rsReputations->getReputationInfo(id,RsPgpId(),info) ; + + if(info.mAssessment == RsReputations::ASSESSMENT_BAD) + { + std::cerr << "(II) not requesting Key " << id << " because it has been banned." << std::endl; + return true; + } + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ std::map >::iterator rit = mIdsNotPresent.find(id) ; diff --git a/retroshare-gui/src/gui/Identity/IdDialog.cpp b/retroshare-gui/src/gui/Identity/IdDialog.cpp index 24b4e33c4..bfcb3a54a 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDialog.cpp @@ -333,6 +333,7 @@ IdDialog::IdDialog(QWidget *parent) : //connect(ui->treeWidget_membership, SIGNAL(itemSelectionChanged()), this, SLOT(circle_selected())); connect(ui->treeWidget_membership, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(CircleListCustomPopupMenu(QPoint))); + connect(ui->autoBanIdentities_CB, SIGNAL(toggled(bool)), this, SLOT(toggleAutoBanIdentities(bool))); /* Setup TokenQueue */ @@ -349,6 +350,17 @@ IdDialog::IdDialog(QWidget *parent) : tmer->start(10000) ; // update every 10 secs. } +void IdDialog::toggleAutoBanIdentities(bool b) +{ + RsPgpId id(ui->lineEdit_GpgId->text().left(16).toStdString()); + + if(!id.isNull()) + { + rsReputations->banNode(id,b) ; + requestIdList(); + } +} + void IdDialog::updateCirclesDisplay() { if(RsAutoUpdatePage::eventsLocked()) @@ -1676,6 +1688,8 @@ void IdDialog::insertIdDetails(uint32_t token) else ui->lineEdit_GpgId->setText(QString::fromStdString(data.mPgpId.toStdString()) + tr(" [unverified]")); + ui->autoBanIdentities_CB->setVisible(!data.mPgpId.isNull()) ; + time_t now = time(NULL) ; ui->lineEdit_LastUsed->setText(getHumanReadableDuration(now - data.mLastUsageTS)) ; ui->headerTextLabel_Person->setText(QString::fromUtf8(data.mMeta.mGroupName.c_str()).left(RSID_MAXIMUM_NICKNAME_SIZE)); @@ -1769,6 +1783,8 @@ void IdDialog::insertIdDetails(uint32_t token) ui->inviteButton->setEnabled(true); } + ui->autoBanIdentities_CB->setChecked(rsReputations->isNodeBanned(data.mPgpId)); + /* now fill in the reputation information */ #ifdef SUSPENDED diff --git a/retroshare-gui/src/gui/Identity/IdDialog.h b/retroshare-gui/src/gui/Identity/IdDialog.h index 4253ddb9c..2c4a2d9ea 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.h +++ b/retroshare-gui/src/gui/Identity/IdDialog.h @@ -77,6 +77,7 @@ private slots: void createExternalCircle(); void showEditExistingCircle(); void updateCirclesDisplay(); + void toggleAutoBanIdentities(bool b); void acceptCircleSubscription() ; void cancelCircleSubscription() ; diff --git a/retroshare-gui/src/gui/Identity/IdDialog.ui b/retroshare-gui/src/gui/Identity/IdDialog.ui index 42347f116..234d88a35 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.ui +++ b/retroshare-gui/src/gui/Identity/IdDialog.ui @@ -7,7 +7,7 @@ 0 0 800 - 600 + 872 @@ -117,7 +117,7 @@ Qt::NoFocus - + :/icons/help_64.png:/icons/help_64.png @@ -278,7 +278,7 @@ Reputation - AlignLeading|AlignVCenter + AlignLeft|AlignVCenter @@ -534,6 +534,13 @@ Reputation + + + + Auto-Ban all identities from this node + + + @@ -806,8 +813,8 @@ p, li { white-space: pre-wrap; } idTreeWidget - + diff --git a/retroshare-gui/src/gui/settings/PeoplePage.cpp b/retroshare-gui/src/gui/settings/PeoplePage.cpp index 79959c398..6ce71233f 100644 --- a/retroshare-gui/src/gui/settings/PeoplePage.cpp +++ b/retroshare-gui/src/gui/settings/PeoplePage.cpp @@ -37,11 +37,6 @@ PeoplePage::~PeoplePage() /** Saves the changes on this page */ bool PeoplePage::save(QString &/*errmsg*/) { - if(!ui.identityBan_CB->isChecked()) - rsReputations->setNodeAutoBanThreshold(0) ; - else - rsReputations->setNodeAutoBanThreshold(ui.identityBanThreshold_SB->value()) ; - if(ui.autoPositiveOpinion_CB->isChecked()) rsReputations->setNodeAutoPositiveOpinionForContacts(true) ; else @@ -55,12 +50,9 @@ bool PeoplePage::save(QString &/*errmsg*/) /** Loads the settings for this page */ void PeoplePage::load() { - uint32_t ban_limit = rsReputations->nodeAutoBanThreshold() ; bool auto_positive_contacts = rsReputations->nodeAutoPositiveOpinionForContacts() ; float node_auto_ban_identities_limit = rsReputations->nodeAutoBanIdentitiesLimit(); - ui.identityBan_CB->setChecked(ban_limit > 0) ; - ui.identityBanThreshold_SB->setValue(ban_limit) ; ui.autoPositiveOpinion_CB->setChecked(auto_positive_contacts); ui.autoBanIdentitiesLimit_SB->setValue(node_auto_ban_identities_limit); } diff --git a/retroshare-gui/src/gui/settings/PeoplePage.ui b/retroshare-gui/src/gui/settings/PeoplePage.ui index 31d05588f..08a5c4967 100644 --- a/retroshare-gui/src/gui/settings/PeoplePage.ui +++ b/retroshare-gui/src/gui/settings/PeoplePage.ui @@ -17,50 +17,6 @@ Identities handling - - - - - - ban all identities of a node when more than - - - true - - - - - - - 10 - - - 2 - - - - - - - of them have a negative opinion - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - From c7576309a759c8f720ae09813a500a52b0ed80bb Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 4 Aug 2016 13:12:55 +0200 Subject: [PATCH 093/158] added callback in RsGenExchange subclasses to autorise new groups, to be used by p3GxsIdentity --- libretroshare/src/gxs/rsgenexchange.cc | 15 +++++--- libretroshare/src/gxs/rsgenexchange.h | 10 ++++++ libretroshare/src/services/p3idservice.cc | 43 ++++++++++++++++++----- libretroshare/src/services/p3idservice.h | 5 ++- 4 files changed, 59 insertions(+), 14 deletions(-) diff --git a/libretroshare/src/gxs/rsgenexchange.cc b/libretroshare/src/gxs/rsgenexchange.cc index ec1b4eff5..d2ebedd85 100644 --- a/libretroshare/src/gxs/rsgenexchange.cc +++ b/libretroshare/src/gxs/rsgenexchange.cc @@ -2822,6 +2822,11 @@ void RsGenExchange::processRecvdMessages() mNetService->rejectMessage(*it) ; } +bool RsGenExchange::acceptNewGroup(const RsGxsGrpMetaData *grpMeta) +{ + return true; +} + void RsGenExchange::processRecvdGroups() { RS_STACK_MUTEX(mGenMtx) ; @@ -2847,12 +2852,12 @@ void RsGenExchange::processRecvdGroups() RsGxsGrpMetaData* meta = new RsGxsGrpMetaData(); bool deserialOk = false; - if(grp->meta.bin_len != 0) + if(grp->meta.bin_len != 0) deserialOk = meta->deserialise(grp->meta.bin_data, grp->meta.bin_len); bool erase = true; - if(deserialOk) + if(deserialOk && acceptNewGroup(meta)) { #ifdef GEN_EXCH_DEBUG std::cerr << " processing validation for group " << meta->mGroupId << ", attempts number " << gpsi.mAttempts << std::endl; @@ -2932,8 +2937,10 @@ void RsGenExchange::processRecvdGroups() } else { - std::cerr << "(EE) deserialise error in group meta data" << std::endl; - delete grp; + if(!deserialOk) + std::cerr << "(EE) deserialise error in group meta data" << std::endl; + + delete grp; delete meta; erase = true; } diff --git a/libretroshare/src/gxs/rsgenexchange.h b/libretroshare/src/gxs/rsgenexchange.h index 2e15016e2..688e4bded 100644 --- a/libretroshare/src/gxs/rsgenexchange.h +++ b/libretroshare/src/gxs/rsgenexchange.h @@ -259,6 +259,16 @@ public: */ virtual void receiveChanges(std::vector& changes); + /*! + * \brief acceptNewGroup + * Early checks if the group can be accepted. This is mainly used to check wether the group is banned for some reasons. + * Returns true unless derived in GXS services. + * + * \param grpMeta Group metadata to check + * \return + */ + virtual bool acceptNewGroup(const RsGxsGrpMetaData *grpMeta) ; + bool subscribeToGroup(uint32_t& token, const RsGxsGroupId& grpId, bool subscribe); /*! diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index a20efbaf6..1c5204223 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -60,7 +60,7 @@ // unused keys are deleted according to some heuristic that should favor known keys, signed keys etc. -static const time_t MAX_KEEP_KEYS_BANNED = 1 * 86400 ; // get rid of banned ids after 1 days. That gives a chance to un-ban someone before he gets definitely kicked out +static const time_t MAX_KEEP_KEYS_BANNED = 2 * 86400 ; // get rid of banned ids after 1 days. That gives a chance to un-ban someone before he gets definitely kicked out static const time_t MAX_KEEP_KEYS_DEFAULT = 5 * 86400 ; // default for unsigned identities: 5 days static const time_t MAX_KEEP_KEYS_SIGNED = 8 * 86400 ; // signed identities by unknown key static const time_t MAX_KEEP_KEYS_SIGNED_KNOWN = 30 * 86400 ; // signed identities by known node keys @@ -264,10 +264,10 @@ time_t p3IdService::locked_getLastUsageTS(const RsGxsId& gxs_id) } void p3IdService::timeStampKey(const RsGxsId& gxs_id) { - if(isBanned(gxs_id)) + if(rsReputations->isIdentityBanned(gxs_id) ) { std::cerr << "(II) p3IdService:timeStampKey(): refusing to time stamp key " << gxs_id << " because it is banned." << std::endl; - return; + return ; } RS_STACK_MUTEX(mIdMtx) ; @@ -430,6 +430,15 @@ void p3IdService::service_tick() return; } +bool p3IdService::acceptNewGroup(const RsGxsGrpMetaData *grpMeta) +{ + bool res = !rsReputations->isIdentityBanned(RsGxsId(grpMeta->mGroupId)) ; + + std::cerr << "p3IdService::acceptNewGroup: ID=" << grpMeta->mGroupId << ": " << (res?"ACCEPTED":"DENIED") << std::endl; + + return res ; +} + void p3IdService::notifyChanges(std::vector &changes) { #ifdef DEBUG_IDS @@ -479,14 +488,23 @@ void p3IdService::notifyChanges(std::vector &changes) std::cerr << "p3IdService::notifyChanges() Auto Subscribe to Incoming Groups: " << *git; std::cerr << std::endl; #endif + if(!rsReputations->isIdentityBanned(RsGxsId(*git))) + { + uint32_t token; + RsGenExchange::subscribeToGroup(token, *git, true); - uint32_t token; - RsGenExchange::subscribeToGroup(token, *git, true); + // also time_stamp the key that this group represents - // also time_stamp the key that this group represents - - std::cerr << "(II) time-stamping new received GXS ID " << *git << std::endl; - timeStampKey(RsGxsId(*git)) ; + timeStampKey(RsGxsId(*git)) ; + } + else + { + std::cerr << "(EE) Received banned identity " << *git << ": this should not happen. Deleting it!" << std::endl; + uint32_t token ; + RsGxsIdGroup group; + group.mMeta.mGroupId=RsGxsGroupId(*git); + deleteIdentity(token, group); + } } } } @@ -742,12 +760,19 @@ bool p3IdService::requestKey(const RsGxsId &id, const std::list& peers // Normally we should call getIdDetails(), but since the key is not known, we need to digg a possibly old information // from the reputation system, which keeps its own list of banned keys. Of course, the owner ID is not known at this point. + std::cerr << "p3IdService::requesting key " << id <getReputationInfo(id,RsPgpId(),info) ; if(info.mAssessment == RsReputations::ASSESSMENT_BAD) { std::cerr << "(II) not requesting Key " << id << " because it has been banned." << std::endl; + + { + RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ + mIdsNotPresent.erase(id) ; + } return true; } diff --git a/libretroshare/src/services/p3idservice.h b/libretroshare/src/services/p3idservice.h index 160b61cb1..f31bbaf50 100644 --- a/libretroshare/src/services/p3idservice.h +++ b/libretroshare/src/services/p3idservice.h @@ -317,7 +317,10 @@ protected: /** Overloaded to add PgpIdHash to Group Definition **/ virtual ServiceCreate_Return service_CreateGroup(RsGxsGrpItem* grpItem, RsTlvSecurityKeySet& keySet); - // Overloaded from GxsTokenQueue for Request callbacks. + // Overloads RsGxsGenExchange + virtual bool acceptNewGroup(const RsGxsGrpMetaData *grpMeta) ; + + // Overloaded from GxsTokenQueue for Request callbacks. virtual void handleResponse(uint32_t token, uint32_t req_type); // Overloaded from RsTickEvent. From 3993fbf5ccf021865b2c9f4b2b619c86b2bbc283 Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 4 Aug 2016 16:10:00 +0200 Subject: [PATCH 094/158] fixed auto-positive opinions for contacts --- libretroshare/src/gxs/rsgxsnetservice.cc | 2 +- libretroshare/src/services/p3idservice.cc | 34 ++++++++++++++--------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index 8a0b26e0d..0c387afa2 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -266,7 +266,7 @@ static const uint32_t RS_NXS_ITEM_ENCRYPTION_STATUS_GXS_KEY_MISSING = 0x05 ; || defined(NXS_NET_DEBUG_4) || defined(NXS_NET_DEBUG_5) || defined(NXS_NET_DEBUG_6) || defined(NXS_NET_DEBUG_7) static const RsPeerId peer_to_print = RsPeerId(std::string("")) ; -static const RsGxsGroupId group_id_to_print = RsGxsGroupId(std::string("30501fac090b65f5b9def169598b53ed" )) ; // use this to allow to this group id only, or "" for all IDs +static const RsGxsGroupId group_id_to_print = RsGxsGroupId(std::string("")) ; // use this to allow to this group id only, or "" for all IDs static const uint32_t service_to_print = 0x211 ; // use this to allow to this service id only, or 0 for all services // warning. Numbers should be SERVICE IDS (see serialiser/rsserviceids.h. E.g. 0x0215 for forums) diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index 1c5204223..450e410f5 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -449,11 +449,11 @@ void p3IdService::notifyChanges(std::vector &changes) /* iterate through and grab any new messages */ std::list unprocessedGroups; - std::vector::iterator it; - for(it = changes.begin(); it != changes.end(); ++it) + for(uint32_t i = 0;i(*it); - RsGxsMsgChange *msgChange = dynamic_cast(*it); + RsGxsGroupChange *groupChange = dynamic_cast(changes[i]); + RsGxsMsgChange *msgChange = dynamic_cast(changes[i]); + if (msgChange && !msgChange->metaChange()) { #ifdef DEBUG_IDS @@ -479,10 +479,10 @@ void p3IdService::notifyChanges(std::vector &changes) std::cerr << "p3IdService::notifyChanges() Found Group Change Notification"; std::cerr << std::endl; #endif - std::list &groupList = groupChange->mGrpIdList; std::list::iterator git; - for(git = groupList.begin(); git != groupList.end(); ++git) + + for(git = groupList.begin(); git != groupList.end();) { #ifdef DEBUG_IDS std::cerr << "p3IdService::notifyChanges() Auto Subscribe to Incoming Groups: " << *git; @@ -496,15 +496,17 @@ void p3IdService::notifyChanges(std::vector &changes) // also time_stamp the key that this group represents timeStampKey(RsGxsId(*git)) ; + + ++git; } else - { - std::cerr << "(EE) Received banned identity " << *git << ": this should not happen. Deleting it!" << std::endl; - uint32_t token ; - RsGxsIdGroup group; - group.mMeta.mGroupId=RsGxsGroupId(*git); - deleteIdentity(token, group); - } + git = groupList.erase(git) ; + } + + if(groupList.empty()) + { + delete changes[i] ; + changes[i] = NULL ; } } } @@ -543,6 +545,12 @@ bool p3IdService::getIdDetails(const RsGxsId &id, RsIdentityDetails &details) if (mKeyCache.fetch(id, data)) { + // This step is needed, because p3GxsReputation does not know all identities, and might not have any data for + // the ones in the contact list. So we change them on demand. + + if((details.mFlags & RS_IDENTITY_FLAGS_IS_A_CONTACT) && rsReputations->nodeAutoPositiveOpinionForContacts()) + rsReputations->setOwnOpinion(id,RsReputations::OPINION_POSITIVE) ; + details = data.details; details.mLastUsageTS = locked_getLastUsageTS(id) ; From e2d29f6905bce79f56729e24d4c1326996fc1d5f Mon Sep 17 00:00:00 2001 From: defnax Date: Thu, 4 Aug 2016 19:46:20 +0200 Subject: [PATCH 095/158] update icons --- plugins/VOIP/gui/images/chat-bubble.png | Bin 5405 -> 5269 bytes plugins/VOIP/gui/images/filmcam.png | Bin 4639 -> 4561 bytes plugins/VOIP/gui/images/fullscreen_arrows.png | Bin 5508 -> 5456 bytes plugins/VOIP/gui/images/microphone.png | Bin 5015 -> 4856 bytes plugins/VOIP/gui/images/microphone_mute.png | Bin 5580 -> 5495 bytes plugins/VOIP/gui/images/phone.png | Bin 5064 -> 4975 bytes plugins/VOIP/gui/images/phone_hangup.png | Bin 4412 -> 4376 bytes plugins/VOIP/gui/images/speaker.png | Bin 6923 -> 6583 bytes plugins/VOIP/gui/images/speaker_mute.png | Bin 7520 -> 7174 bytes 9 files changed, 0 insertions(+), 0 deletions(-) diff --git a/plugins/VOIP/gui/images/chat-bubble.png b/plugins/VOIP/gui/images/chat-bubble.png index 9b69b986380e96bdb57220ff632c248f890d7cda..3874f77e61fe25da354676e59385ff9faa496238 100644 GIT binary patch delta 5206 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 Q#{d8T07*qoM6N<$f>+%$g#Z8m delta 5343 zcmV<56d>!BDV-{iZhx9dL_t(|ob8=?d{yO{$G^|HH#hsudK0#UBoGm>YHh_)tX4tA zy3bS{_aY!OZO4xt$96t#X9n%q(W$omSpCe$vb8R);8t6;xS@4NHW8vC*?d`@847%kw@*7;UIZ_J7J<`F1ckLp+i%N}dY2 zI0O(ffD9lG@BxXPrJ8^?parN!sYR#~*sVgjs+M{z?`M_sbITCX$b2y~NTeMYE*Zby zJ<$rb&jx0roDQ4>BpWh!0FkYzvmWF<74LgB3v%}uvgHaRP5^l;%i@}BzKQ6?DD!|5 zBJ9$3RR1b!t$*>i1m7yYy|6XH{)EKH5WwmpU*`U}3$f%Hfhz!iq+RNV29y_6bajng z|0;{W-X3X(1|q5j5Lj7Kh|L0!?*Q46_9sLt5mtF@`?vdUD=dn%GyM^j0thTGIUD3h zD3=hWK8DD93isD6$bT`~I+4+HaaAR2#m*~Lo&N+*jeoQ|Mo`^kVck=?Fz?UNB7~?A zKwx?K#i;%a^lOp!#U(a~BR{RWE&r8BI}%X=WG*kACdz}rC6V+aQmFE}N1Pv2E}Xh8 zQa(gP023bFlMwW@{7m6?z#9o4qKI}ye--EVEvdLB=aAdRT^B(1ijujGBaZ?FZrhG> ziXC+p*MBaWy4Fpjt_h%H0>@bbau;B^Wp{+3A}sX=<9@Jb@q}hK47wtKtfi$VJ0gD& zbfz2jMm)+^kJ{I{F@IqEmzcS< z8^-}6JXp0m|A#CQ$4LDqDrI$%FVGPGIKnkX>VH4pP<=kpYh7PHKffj1Rfk;wfk%px zh>d?1xG>yxAK&PkcARr%-HnBf;jA^R0?1lgnyu)|h@2MAddKKOHd^iWw<`a6YE{^3 z3|B?tR+i=2w!Q{T4Og9G^vMp7M=snqKfgR2m4!tB<5uhl*pBBNU|Klp8)G1(1P^Cd z&wtO~H{64_zKiG-Y<(qlWm)QQYZ{&aRu}m^EuLq_p7{~shFWE~V-a}ff2ft77S{+|s z0owsvm8N!wea$wdjqPlxYGrN3A->q(h7%R>JN=@T%2kz%@?QwGV8{Z`C-na6 zg;V~0uxAfi0G*LMuZB`4-1scvmVfEVeE;NB#wQH9<7F znUUp9A5Ix(5MXQh)EGcrR6TWsYQo9cOFYeOW4kpRp3ajOjw3bJ_3x1o6doAp zq+{LzI(Fkfhq9E@PGIP*%YQm|Lr~$${O3b`L#;6?{{~@u!YX8TsY;8{y*;z zRRQO2BVP5xxfA1g^@<6juJNIxFZ0r66F7IGyTevTtb302dA|b4TCwxW&WszbaQ>ut zp12?zf0$ioMxhU7gNmSLd0!vH3(cj1YUhU3Zx~?#1Qhz+ZpPNmrCo1-; z8pUS`%jaY<&rJ~sKkfgcKIokEdCi$q!t0G~&Ad~TL&a|L4Y<35k~KG2btMYi|# zSvX0Iv3Tjy@ytl~nSV4B^%T{$ap{YDX=*pJ@8d{RY`d^(abd}k2amb~sLeuLnD4*m zjP&Ea@d0M0`&cq7-3?Qsmgm;q2YU+O(G4+z+-%yDb0)-d<1|yL{6-!(pP0<~lUx`c z3b*p;h8|<=9s z@Z*pxSzXlK`RW!xlg&3VoPqPM)6$6dj@|tGBhDlI;M8I7^%#iM?1ORVbp3Pq5g>Z8 zNvm1$9ysp0w3qUa{fE%VIE z&KwtK)Q07?&w{Q;fTd@dG&VOUvZ31}k-0gBR}0me4S!t%Fud+RXHwK{B8qzE7@iqa zbQXZc61BkGPM=9hUQQT=5k96lG0kUsPT(X|#R^O+DFBR(&rZo4*7o(|nv*k)E|#T? zUtX4LDb{q8R;H(o{rZQ>^fa@pr9rV~SfY||(#SN!Ut%;f&G4gB96Qe|qLWSTS;#XG z@v?h=Gky5x<3nj~>k>oIkdEfcm z<{lTni~8m^?s|T6)Rzwhzt8XvXwiVBNQOxp;eQrD*KM~iUj2OFw0V&(9}0fs+sP!u z64aG|G&hi8-Z3Lx-gQ(nEDY!RInZi{wZ8LD=s#lZ!V||wefdymYz>CBzM~LHuuzPS z(+-6BOZ@!uQ%FlV+U1PISblNkz^@yOboo$dY%weVh_w*20%&Xr?{3&>S;=hr(LBC= zYJU#?xETC#F>yH*P^EdbZwg*a;XyvF#O<614isLZxh9yD3~ zsAfyGaRD@0K%Geo70nJ`)QpKBR6eUZz<=JR@D8E-pw`JOajfI#M0A3$&6jvKHF&cTJxCV_e8yG4|ttHAXqgG<#d4Fd;yY`QD1_#T|`a`VS zRS$**prYlL3gt$Pc)Zx27@pi*VbaW~;_*$pu{|-U$80=+rIcH0Ynf3i0KP=zHeSIVA7 zcXH#6Bq|yX@yPq-9Z@BTX~yk|unxMnhs%4W4XWiq6VqsH4RXg{wngk^3ekuHcfI^6 z2it-;@qSd?NSAB92b}^?@fsHZfF`Ab2=A2D^7zJ(UT!t2`Q3(Hyj4=u@qg=2G8&@U zjavEvbPAwmLGB*l3-d-jXhKH{l)GQwPEq9n(9Owy(Xj@ANvC+Qq=Y0 z=_Bqn`d8zY0Vg>F_4sIRx4H4DjqE$n>W0~uv#v zW4R&##6nX#wj%61(8{7`KYyk*c>GNewFVt-efs0>4zZ?Yfh*5`@StnD{_eKuZwbBy zG`Qh_#wOr&jtVwZ?B_dAZ$7R>&}KW__Uy-O{Bl14nwW~ZF!R^R{z`w#J6->D3!wP+ z!d8@!-#t52)E@v}$7IJ_B{kf#dJ`?d(LYJlW;-l==3`#n(YZqE^?%_cXS(QtJjXRN zyQ9E*+;dcPwR?V8IH?m*t0NxuZ>6=|vTC#WSojFi*c#-fr#A6gXXC5o!A_s(+N~cz zL{}a8e-Fzw6}w&m`rrE$X4KAsmW!8vz>ZNENLp6c%w;Rr@pf5l#{rR! z@9uFmf5N`1VBMQX9)IX5y(Q-bK_7F|BlX4Oq~~;tptP=;OMmy_sEQ(by||irD?aEE z8t0@FYu*%d?{Q!9KS$29}k*1o|!WKJ{{@?SBwbzXx#+cLpb?#q-Nc zPvWe}BWn-qyXAG<`Qo;okx-U}lRn9fmA=0COZCEnqmqI5{mvk@A2jdJ(WoyTCo>m4 zA{cUK{UQG0@%3E$msBsB(&sCHkD1aSYkyhkI)zzgyc#5SJ62=$QFntb zW@aaI*^F^qHa(kybk{pp0NlIw3m$&IXK1DR5^++q+#co~jj+D@*8DRN>9b>hYyteX z>>{-e&l^V)X>CRttB_#-TN$TkB{OGgCbM$VIDJwosqyA7{;%IH;r_RZyZ={D4C>EB z%;Gtaqrs0tLRQj78;)tO}S!LRWB^~$77u^2musN6|5q~Y$AzJ zk(PrV;E_9rV}X^D8`PToO+DM4YUGj&<}9_R($KH}oKA1@3u$d#}dNinhi_MVAcJ z_%H|o0L1xyOMv2m&Wi-<@uEo?*nzwbF{F$`o_;0hDF60i5&!pL zd4KmYCpjbXz5HG%QdASH|IJ{|9rVL0V`=gEmRPTcQYO-fV?%o@w6}EpZMTCHgkU?X zuls69L&)ZKn?=uj+_7u76HQ8Yc`0{LI4Iw&UR3bTz^4xK4gk>6lhlWX?w9+h)yc$;KN<@T(tZHwj6Q3lahtH6ulcFA67ecOF}6Sk^qWtFKqQV_6-G4Tc*xn&+mEhiekV1y+E@2p?j4AbLs9nKR#+rr-Gs|a#(&|a z^nlZE^iiAb@UJg!mAQq_XI=SBGCP|8LN z>h-a$kA6T|T{D;eZXJL8`0xlyJzngLoJg$U4-&brW-qSM(`kAeJxM11)J)ZaKi+@8iCmYY!F?95)>WaLd4z={qqY;;gQ*GDXgz(Cc z>xdv46UU}6I|R_!66Cwjf5N}Ku$88^!@(#{yuTxWBSOo#10f=7Q<|OcutbI&Q$Or6 zedhAdlSO0S1pV4@>vEfk&AYkxf@%DC&1X~|JYt8E2#!DcX7_rrf!0IkReyhP=CGn< z!ZN8d;nD4x?Vgx-fob8W&n>LF3Z%7XGDh|Ka8k!ZOfK9iJTed15svy?!`riwop?V^W^R->K0CbVoNzQggh>DZ`{w7D`(k`&0w0E}PSbRS zWvk`s2-8j-=jtYnA+W(}cYn^_yRcwqxGD_$ynf)3q9o$tpFz1O+;xW=acrca5>3gD z+KyfqBC<9Z8@#IS#=@}Xb278Av%1I^XpH+k$T5Qv#uzN}T%v~?%ID{YJ-3dT``tA& z+o~%HZcy}p8R0XA5k^7&r@A8VY7>nQE-dY4uPB-8IPwILZQ9l-qkjg~Tl$OU4HvGg z?WZr@G07vIKLTgFVQ-`(@R8+_Yxm91FE?$=l`e1HqQZ*mik;_)>fONclL;bp6yc#N zyY6f^8XqDM-IKYZ>|7ik5p<^8wxb$lEAYKgf;qy0>x15!Tl4=`Q&D~@$Q{5~nlNY< z)w`=x4t?G2#)k;U_kU$B-!%aZ-Y0NVB>jjO!i&M6ey@J}4f$9OS=% zZ$#P`m-x_8=O@S7vEvp|A%HFd%Sz8d`0+@XMH~tOAF1lyriXT+5LE)`B5Qf+DUNcd z!1Wk>tEo$RI{+)FOhbpH&H2oF49*N=Xe~?^@4s^A%8d0{)EV0(8t7fmR2n; zEE)Lp$Pm>6=w`{A-oT{1x!_z2awQOzVYxs(B7YK_RaJY+-{?rX72S*s0UXKdB41WR z{J9A8K<6nkBa-eYQe=s)5z#f3NiA<5nS^m9F!BV@i@?gVapE|$QERrMvw)KTQ?XnP zz*a%lqt3e^?^uN^Fe6focmedqxRqsjwj^ge1TOLjr~v3XQM_#!pr zX3)ziP#ZI31ESw{mQ+1iXpP9idAO=#)@->#MZYd^YJa}X@dJg|1-|Jlt^8%7I6^@< zfVnz;DZ(AVNAqnx2a$L~y$FC~^%ZqAnh z`Eh_%o60P+^bS?N09bjkp>Rlw>VMhIBdhuHN7{l`9=HQotLrXQ(N(~SLF+DX-Vs<~ zFRNM~q<_-j9ANFvnB}xptLlw_5t!cMLV+5`ZTk`{&S(unVIU3=t*M=FV>~KQ6@St5z7MR6N6n-B5V+D8`5!)h=2&G{bASDecCQ6{?*RA3hnW%i38EK!F8jlb z@|;r^y@G$7)##;IZylhfc7lQN8-de3l^fExeUyb|c01Khu5x@o!p2b|=Y z%#dD)u-#4?7qfECE>GlnA%usvkF%V_3ktJ6kry%$I~atR29b62AxdOt$GmJVLm_IuifS?2~7Kxh8%!%Kv7oG{kch z_*-XL)h{wln6U#yYij2^7%u~5nWhc#m461ubWh{+^Y&ztD6=YH?ar8u@d#n&7a|p= zYy5~+n&5N`Lys*u1?m2dWUzE1}*YqnfLD&j^+QKO%*YU1bgb+%6jP|>gZ zV^B!YsLE}9olENg*6O+ohw2jT4}T@17e`iaPFtF%bpRFpioX_x1dWT_lJ0o#uYd>Y zW|^jLOM5P)m{G@dXR%`5j_wD0l>nCEE+x$Tp@>+9@%df{d;GU*Q^Yh%cLNiHvMMA{ z{^Gc8)4Gol^a##inz6-belx$s6iyfxVPcuZm=g1YpV1{IWtKtA?7wgtU4L?HdR$Y| z#dZ}1j&wKxBwVG{PKD=bNxCFlr77vMyE)13<|GGNlQ;zsy=URXGX8G*2n48p?GTMg zPnHHww9L{AYJ&iCIw;)#5PtLWwc$DZ}t zoiQ`ndeF}xjAfR=<n_)BDVPfan12o{SM)-1X}lG&pMZ1Y6a$w^l)y1ncv2e^OR6jf$|yzE z6Zu32xSi9-##r;o$;=-U^Icb#%tci!rq-Q^l3Asc1w*U}Kx#c^Z(^o!(}J;l?bNZ} zy}AC>&m(zo%YQV>MCXKqf0-j`p4r*sOZon}Q;5~Uq5|Z-fYPh1D#=XZmQ@z zJ~dTo$j1NNDP|JVm=F!v2i*(_XGJnp{)K;n?8Pb*gF;j|aSi3ta zQeg;;2|}3+(K^5=;`g-2QoCq}WJuSGU&I9fbdJ#l;s8bd zp!#GmV*&+CaD%i)u@{zoP|R%rNOjRCf>2cC4$F9Fm)9UXx=fH_1xz;*+00RL2U z7(k0};(xnQL|x<=kqE#6e5A!tI2?qgA)5arUB&geA?TNMRT>OI>V1;mgJN$i^+#ie zH|qm}Mud6;G$02ELQ8(w)9CM>&ps9~4TcE2eG}h}p<4n7FYJCl-$rDGsO~acmt8?9 z8?q&U2)C@?%43`N`=-LL&p=m zW5X#&+LNsOO)Zx`x{;knT0If(lQSLV`nh`zL==(D{^&TyP@N9|z_3wZ^xU}XcYm&D z{(l31;I5Z;;N)0_`%(o6wTP$zAfm7OprR+mJ!;lJkrEg?1!6s?Rp(j;arKLyjoI}G6W614Vb*N^0mwgjrKtyp4?v=KH>n}QX%k2Av8kgubMh$8oIHwI zW6JW@b=+>dymPpPciwN|?S>XM?mNPUJ%_13zSPRb0lKi0&{&`Ld7M%)jDPzso6ET; z99ysR{n`U8-RRMPlk$+WylP3;zdapbP2J_FKIx67<2Z5<+6UJ&7PAayjTy%5igHe_ zC}-lZ7*j{Ym{4BAl;JVPmq&ZOB?F<_$+6UL<%EbY?Xl;V#!++rRY#Ryi={b}5*woRCEU|cGYdybj_NJ5+!@a~_GVhu0 zx{gu(oMlcKzZ;n3iMH;j3vJEN(g;rOVOK}TB9ui;N-TqzX%LH;L=2(CGHFiOBpjF4 zq(i&y(w1~+O4#1b-?Jhxydu@e%N5swro*Xc(-$RWss4rB=@l%xSARKct*N_HRd4n} zTc32arf#^SwYWM6qA@5N0kQ0YJ@reX9gfzge>q}hsZORG5%>>#SyhkiV|oRuv(Yss z+=QRwHzj4MAJx>2C)!fKI~$1wgK4E&?$Oeey{3=BE~Bwj2U5C5qIj}=Lv7P}==g(a zGuf<({~EZ=3#}QU3V(K@^Cy{l8|)-Fwm&6>VWu+GG{LYs|F%*^ycx;gVg|>CrUpoK zq^gKvqf-M;x$!G!S=C=3e=w~}3*4jmZ~&3iz)B=dgGV*>FkBlPC)IH3iq)r`ji|21 zl+pRdbiFx-nUZaootbU+>aQ;-Ov{rZzdHhV_i;QuMos)Rfq&CIwIU=x2pgTHRUb=t zs?W+rpx+%QLyCxgb`R};@8FvFM&K;Z4GIa8SDmGmXCvt&PWRiq6b*L|Ep`OH+E?bo z01jX;pZhd~yN4GsPuR<<*7tY8fFGES@UH~4f;hxenjG62a0l3ddl;5hy(6ms?TJYt zfuTw@D`)Q;=zqFFburn^BddXTay2R>7!=~Jwta6f*AA|a@yj1+6Ij8AU~cCSz%^iH z_W_^&7<4DIy{u}z2=``hS4a>D+-WbXdSS5FXEe%Sw?=PP<;~2^3JHim+HPBQCJ8bg z?TD_9S2@B)z=tu>kQ}IYuuo&zg1wm}%6ObHvAimd%73+l?SVo>O&{VBqL17AD{mY4!t`W6)udWn$8Eb7 zcsgqtA-S^NX)XC2)spp!o7|_oJh*kZ={nB=AI(`-NCwCzC!yzaLsdVsNe3at6I)ho z8*3T%i+>8UJ&_kO5IY>)g)EzQFjqm|1dCoVyWX~q#UgC?L|#arh_KxexxkCe2QT+? zTsdc#9Wg!*{LwR+A;%$`?4-SjrIqh`CDGe(@z>31a1vZZ*f8{i^-gKz0#+_K9nuy@u;&cpih!pMMP_uB=Kpd#kPy)w>9L40Az6`IfV9 z&S(6{duT%1ZS^84*=2TOx$50jpqObUQ#j%a6 zSUG2x--?3SGicd@z0Tf4=L_5p44pVJ-lGEdI&RydATl5F5Wv$~z2#h2-1`Kog4SKg zD1X!%a6=}OIlLgSUBkMtm(TgVyYJAcs`5pkDQNu#NUOl@?nurEI`bjlA$%X)I@xrb zI}xtUs~vemo^)KjffZGO?Aegkf_y3NjOQHew*Z&q+ZLaA1>|tI-fEV%)3I(1;^j>G_++XF} znByr(2l#-8YCmGwa!C0uGX908ZE8Hy{MW_{5UR7~kbYO#56EpHf@jE~| z?%y)qG~GFh%rHc!D@;QfuObzKRsdzB0%Uas^=|@fpjD9uQEkA`gQBv>MRppZJ8fi( fmlH7xh5rZh3VcKAD;c~10000BcCLYZhxFfL_t(|ob8=^bX;|vz(3#Lokt#Rk~WzpEp5r9jR;lBLs4lJ zSP+YNT-;S$@qwi+JubT}%8GkjcQ=6R;v%eeSC6HygUj;hDlc6utb!=rQYd75*4LVg@rgo5K4hkAP)!ug~vHXv0>A3SiDiN}@!%TV48yaSl&k-Ba~_MpzIAlp>}+uK$xJm`@wU&uNKsNB+! z*K2b*qSv6T0Ds<=W|RJa>Q6<@wxa&{FZSJ9J&}cNA7`a~HPl2Lz zn=}rcC{L;A);9adbF6(=EZqi8L`FM6WJ_H&Hmg8B50t0do+N2Tc+9fx2M*s{U7K!W z#v>ygAhM}$ImlN~t|dclOp@&i-)vhI{Yj=ZA~Wa5RezN^oA+O*>ii>cLAuTH1l3;~ z%w5f^E1%93N5}{Vh-_-S2GzSkFHW~DKCw$2`C7}((Pz_bNLn4BY*YO?qTB~un@&5@ zg(^R@#Q9?L>cy|8%Z9W#z`XSb3*uJ)-3qq?fpplALBtgOx4fcIP1E%Yj`^+JcLyln zTz8e@$bWjE%5U8n&OS$-we4#bKkuhf-yC3Q0LQ5T`7&Vq(wk+d2paEQu|YWj30P@C6;Zd`;-d*m#h3F5Z-Bv^=f2e!;Rjn z@`|l$MLO%hg~)B5={N%r;l7pw(L1OS#}oNp2!Ca3Z79;2|DOogdm{f#L-mQmfVrV@ zWwhUI(XKl{JAj0CP6fmn-@VA{V(SH^(sY znu*yTZvMjJ7S|-YC8%OcL#1u&{{oBMl9?kRdo4?@KD;v8=!P&?9H3(J-iYm3zXHy2 zLw{b5iI6%hmbb2q9!^zK%H6=(5A7|oZL^JB<@<;(!q#U?wltKaDk(Jw*jgL1`mG=4 z?)hoq{GjbTzIff#G08)XPtSvW;~&2=ZT3Rezepb=0VQta(lJsbmW#?ErH&)Ss`y4xk{} zvN=4Z-8RmJ9XBmLkW8VZZUL2B8uAn#B3JpDNU3qmf3tp9FquM0IY6(i_aeMAIlFTB zg}{3v)~vgeEHgQdujF|ynKC)jf~t`#+HQ)zIGK|t6#?e0KUm;6=KJI-KN}F^IDg-p z?5$u@4iLBc?*?6znq4{kLXq?41ZGca9ma%Lbm@l1bB#E=futH2InqvF0M0wKx@!OF zPMRACKz*$9L)Gm<|YE8}Flp4p6?i?kcA1 z7VR^Wt4klKOBl@)I)LNI?cUmx!*9g!)r7}SJusA(MgEZJvm9BCifvc7tgWsad2mbw zP@C1{Dt|g6YOI^a931uE`dz_@HTzAV!Y`|G_{!l{yJO+V>}8{pGn84gSAUS^$`4t> zf*AqI^DRokhFRg^S3`cl5VlSqoJztcgIZ6_A?|jrJ5FFy3XFRsKKr6;B| z^~7oFiPPK{$IgK4J?|;c<0H{R1o-A_N9c~ZvNf;;Hk`niJ^B zi`~Fb%5|XHT`i+=+l$jpL11dpZ2pV@kAA3v?_D0DY?4kCa5<@{BIlK@Z=4Iq9l#96 zm%FMV0U?tCeJdA9)}ICV+}mgJ%Rf7dKbfCD;rSy8dXQDt1b^&HVYm@!^in*opD-?m zu{0yjb9^Y}0s8L~|AIhd#{g2{fRfQ9ulz|AGZBXX;qaBC|6xnAYFc|VQfdTEeOhZWs-9X9i&=xj`KMs)PKhzjbM1brb;0pUTLO;!>0#1AgMawr0Mm6cDDKIVd`6?*-DU<1(Cd}-kz{+Q9FLfj)op-Y19bSIX}UE6hlx3g z<8edKL+R}XX!B0~Nv3NA0O%gb&gE_jZ3gkl0sK&sCYrijf12AUyb3U)v>Q?0^hW$> zrfVY*gqPoRZQGWwsA!{6q0tXz)Akl1!ksVd<9~;>DL=nyT)b)n7^TsutqmT@AH{TS z1OoI9I;?&2bw0gyH;1|hT$isNxqymkFjgS&J5Qva!nBP50M^iYfNgtQS@ysV9{kN) zJ`4|~j&1B()4XzF1K{f8NE0!g>t6yVr&Bun<9z9v-}CW@f6e}*$J|lijW>06tX$M& z5PwlbUiU=B2&VBJ0GTlh%;;4?zi8;-()By|&W=Xx6r1rLMUy><=uq!Womailab_UF zFjm=oBs_X;V1L}CxNjrvnnvN=8lO5 zdz!oX;Fedo>-l{Q*vU^Gc=Owt?Qq-yRDS~AJAl^;G6V@13`K+d(aBcgj`E!yjas8+yUBFEj$SP(MyHBgV{M;Iwg#SDUJ+918ejyp+C0u@{u3B#vR+< zple`qiKpDYcoeA}e(>~&5nBDJ%X&uf;{Kyk3V)eO=Oij`C>kt43TKTv?x?cqwSOkw z`~4j}{<~(cOgs%I>-vNPh+{l;fOR{YxZpot;#)5@(AMY65(H1^?2q$}7wh=gqraV8 z0TIm1*_hJ#5E%WO=jNUP);zI?k3aGo8jg(LWpsPC(L%?jiCesGZ@9C-Y6gm3)pi`a z{Vj+MO`3!QhAX0_taw`)E2<+z3V$ZSrU!?oij!N5hdm_I32J>#a_99)CDWdtYqy ziBoZaVd62IuGWOVM|Ei-_g(XLmYsd_w(;=mE!?)#t#v!Hxpj4P)rtQ`epI%x?pi^9 z;*zFOI7ben1C#p_;ecWB>;e{-7P4q|0TnYs%qz+xQW#?1%sk2pgJZ6eiBO=ecaYZJ zL7IC8Xzd-OrFW2n-2)u#>VM}@_W(^@{WNzEOs>(DiUSPW)Ypa6-2ta$0TbY(=a%#C zvx+Io3$XQ#BkbsLXZwZ-A8J`u_1s8ZC#iWM5Sf4Wo4{OGw2ed^^jJ4eZztHXiO-*a zlDr`KK||Owgad}WpheIKVaw1Hvx(UbeSkfc zzZ+NwkKuH-CcHRYbbxcEl5*5)yK6P+2^*ziA~A9h1)QmCTwL5L5c z@z~I-9RoY=L8K5c7FYpf_|*yw4cr8Rh!srV43-_o>1sn`1K`-mj9Hi&vnDQgdVbux zy6U5+9!%)cj@tJbG5$M%2oelKFg(^XRl%`QI}VOL^nN&3-+ypFdH8>0069^CVk{6d zbbPqNO$Mi~wE}L1{F5m6COSN>i$^xpy@tp|?pl!}9VqNijE>C-to3pWgr@|%fo0P*hgjZW{ioOR)oC@yr%}YmePY=y<9LM>)@hTrCaDbMZ zqtAlmo*tgPJb%`{X7Tf*~e(9Q51n*p$OB zRJ5l3#szOpbl#+fnDUB3HNd`9jmqH&&YhG4G+n>on4`{GGHRSQ$2d5m z`h}4bKBr^SgUmyX30*gJyK?w~a!>1;s$Wg^^rU7Pihui@uK>G~HY$f-yxi(^)Fe|N z>Di8o2lg(pjkOcV&J4-Zmo{7N3p>_SHziXj>3PP(H&@q+n9q`H4`dRm!m4B|AEubN zqh(d)6C&I{m9ja!K<;TxR4>r)6&d zz0!@!2N%=#9bOr23Pbw4r)q>zYNLF3Iy{>&xs7 zdw=I!Vm$&Z_d{Q{Bk+o`xf#qL<{ zN998r5_pzvZnzAG?+UuaZ`~P&nZ+D#;CmYXwwt0awly_g0CF3US=kfQL!YSL z*;;(;U4BZ%{7+n7_yNCy~Z_U3&HEXTS*(7#kzm~MNLwuDUn=}qb5P4E;9&0(+_;YHmm|Qa8G?E<- zFp{mcp*fxTmm#bGU7^T%=`=@?S|hqmM7K51=>O$#2F`3D`yAjDB3l|N#Br9PW|^Xw z0Pnz~bhkh!ut$(rQRgL)?QSj1NK_YD?*NIY*wRpGJ94h59d%SHMOX+r2c#6$QbYdw5)Rna4lxIcJj0B$>1%ZPQEA8(nD93luCU zP$-20%d=2?wymJ3KrdTeK}0~2WrI8_DpX{jF7!rMVHK*N0t&5AbfMBa)^yU=Qqm^9 z*z`iu+>>+8Z~vG{ntL)c=bTCCe4Zyy=62rSd*=O~-~7(|yMGCvG?Wt76pz(SDNtx* zHH|S!kq-<}kS&l6qyZ^FdgQ2Dpb2PDa8lqTP$5FOZF4|0`N-1D-P|#`6cLq}6LSYi zv;%ST%-)f@ZeAwBWePq8Oad}pDye zw6&I1x1PlpHz(Sm-ss-~c(!DMVQ`mH>dU~eM7t9u#{^!|6f2q*6^0V+On3B40T|0e zmn%&k1a%|*)W;~sAZxFUjEd9f8S~uvK5R>q{P#LSQ|>wt9Txm=ZgKakAL4-M&LH?7~9~qVdn*~ER>=9#$T+SVZ|A^O6{I`KG z?0*YtR@0lw;Csq=&6IVl`Cw4IhT;>z+E9vK-}LL`Z@%{kYKq>R@(NGyOO3})>;foK znqI{Vz_sx>kR%R-nR;5&i>y_8tR`X>fH5-kBrrGD0!Ud|JjFtLAAbl$du$R{Ice$kh1@y0Jeq@|6Tq6%G|jBr zA}~3siG3J;1sHl&-22`T7ndYL2f9}hN`&I)i z-xg4!p2dO8;k2BzxQ-WKM8IG~z~IuM{&w%xnl|&^I>fp|HF1^E9rsK+haXNK*5y?k zFDaTZX>ckV;unB`{ogF#c0pf$3i@;#Xz2dOfbsEq22k73@V9Hcj~=I z%0I4k%$A^vSXI*NZ*8vv(9xCxK1aL)%4*!1FWF?--1_nkJ~-%JkbbdaKllG}w=1@r zESsb8SO0AZ=t@1&+lP7-fPcOsbOUg`V=e(@wa!#?ZE3P>KKJqtUfov#=`KzjPS4^e zn?G_z1cy#HU~7&~k@#0*RcKaEALw2HN(sWFPJ2{iYkb_`TrJQp_=9u7NO8<|C(_a( zE5{WPlvUM(7W-X9cPJ&_?dkn)1)#6oJ%{j$8_uE|;gfZMPQg!!?|%-XPxv!k5kXnC zTkA@w&loF1S9JGow*pY29&yDV5e_;efYYTqRXcMl_}TMw`Q8oFybXSYl=L7k&cBqxAE7nxD|YW zirPl%mHQK>72L`4ZS9hJ?Ml`4wCjOfw;egwsAw=2;2-lxR(Ryf?PxQw@VDQ zmz@$%=JF}sp!~FZi(!0YayARkcdmi9^wM0{f)7x3x&g$Sr5Y5>Z~Od=0M?YIp}5Ht zFEpL<(~i$`Y=6fi(}p-=C)aQAZw1bYsVfei_Hc1g#T?d#TGOSi0x+z)tGrx+^I#7G zXtHd6w)0S2_HzRUX?pxu)u;?#TrJ{8%jUTcdLE|dY7U??gN#a<(emU>4G>;?*E7ny zNd~o~ckg;_Cl9<8d#ZKkvC}kI@wcq^oUEm~DYjd*Mt{p@?yt79==Xo?F>UO24xkgF zT08j82td3Qz`-sA(7snMi=~@Bib({Gmd(Gvu?tlE0;p+h=H7KBG5Ij}SKIl+{^Py& zA|7-*2hfo=7kgL$&+Hwk6cfDkVQ*D?0W?`Q^M2i?V<+<*$jV{qrjPjMANwAFCd+32 zuXnJi!hfNLm65{#6d&fk_0jq8xtDi@gMUusT!P^aq;J2yr`=~wTTxo$tpJoz!19ve z5D|cGSeJY10kHLW1IO#aB4{wf!GHb34jns@PM4=Pm-a~nEh2h-{|OlEP%oUEgWvXCG=snFKg{OCl~mL<^2ne5PNgr?v)jNH1nsc>+Ol;9 zfPZqM-@iAE6yEs&=dynPan|oY4*m>C^M2VxC2Bf=PLa~I;PIaj-b2S*{F&jaE0_bmUW#v1 z6NHY}FlAVftTZ3nj#P2$D?50ntkS*Uw|}7Ntu?`}ifSfDeApiGVZ*^wJqN$-xup8T z|1$=Ae)UJlQm-!ip|C1+uCCaZ2oGYSz6Po~jQrJf$QkKXIu*=jIME?b(OWIn53xkX z7&>ZVq8AO13V#OZ22`H{%Y>9v$Qt7AmERG=2SfAW<6~hTe5v7X5)-VUfs(tl74 z(NuUV)g)&jN+eqoI49ALBuNZ{%GOA(^>a28&`3lEFiC$QH7S6zo7CjyO=me8;NF@o zN%}jDNdcVQG-`lz3)3VSXw+&7PJboZizJCbDNbsFoJh1INfLtyCp1t=0i3;@)I=yt zv=>PdgD7=CvuzF}+L0uQ!4~a+CfKEkb|gt+&_tDLmZ74b_tXzKCspUu!vYNTJHEJL zpBaBhiJsG6D`5|k2sWl5!%GlS#h{wdiMT{M(bU9c29@wXHF$A7j8yxK+} z)2FfgiV@5k7yimlHd-us?+-mAczUPzG=Wt!M)XMp89t3? zE+5Xj|1yRt=OktxfhaaZWOAs2jfrq#>7}_$%Sof?q9MF6b5xIO@%I$`7Tgp;x}ovf zb@^QezlFYtAn4Orcf)8FoPOcu2m;qUqPrVN<>jT_%{t@;>9YYk}vy;mQnQ?7<-y;ug*u(QB z$DCO&z?Z@UZ-4FK+3g48x77{#8Q!%4M7LjR`@Ee1tV74v0Y_bT0vP3z03O<~habKF zQFzS&C(v|MFo&l3O@vQa{^Acdhc6b;%@L;h=}0sH$$xXYtQTdMoV76^>)DP+&Sf= zjxTm8JAo(N^d#TG#K(Q>OZe&51Dyw;g{HLm6Ygw5u{!gsrRtJ@zQfgX39jEDRT zXL0~jhXr|l?xh%M-Dla{A{fl#_h0x7L(-i&7gy84J?tLZtpKcrg}(!~xZ#hJNuass z4sPu`@QT*ler|?iHhasA#=%x=!NhLcbUijbMSr=oduU$J+3LD&2a?S`7UKf z1-^wyw|8|t3cy@6X&vwfCmjm&>Sn+=GKNi1Xd6>iGP*S$uO!bYlmi;n^!jxDtGTk(sGZk7TO0OrzHwV0+I#EGYa? zlz)245to2bes>cd*No_X$X2|}a?!R=6LKBQ1t>)kOU^so+voZe4YMYz2>38wrvR|s z*)&oC+mBZ9pYQE=#Xi8jZ|`N_Dfed6E6bU^6cvPQRsUao`D~vn9b;waY6Wjab4*tZ zvg;}R@>DWYqF4Lzx+co2>M1*2Pgzwx2Y)NiJT9%Q<5Yb!1cDHBY3aighrnzmHzSp? zg97Ad`NytyZHhJrJZRHn6~0@bpz#9^&F@Q2emvB-14e=N-OKB@2P)ZHy|zD-GBA> zn;W6F5}F#o?*3{Wl;$HZ7!k!FKY2kv`B`b?2g3pxo|)F}i!ZILR4uJ(vj|h8_N)b^;KU))HN}O)vrsC$b?TAo2CSY&-snc>KdsGU zuQy##c6h0H%LK~;tGUf{v&WyhRDWF~FU!w}%rqKIiw}-g(X9I*dt|&`ZL;k886A84 zdLrs?EoDWh&=NKSvA2kn4X2JmbL8eiBoatpB(Qq;zY%%OtBoL>M5(X{EHfewtGz(1 zHZe*`3y)vW<7xz+urM!V;nb*h+>Gh6(N~n*f~c2cJ-!tcsYbor?4dtlTYq8k$AA6` z#T;u<;j7Ue7*omCqJrNDERE&Zc8GTN1|PyTn*--BipOIKKEx;h0P}Fc1HenYelUr< zh)rPJdf=Ckr#Lu*o`9 z_<2$4N4Px6VAz%aMV`h;-;0<-8|7;(wxIiiSI#BI(`TdYO zfk*8uF7`V3kboMX9jo_@&@Jn6gxeG9N5YWTEn9t+#f1smvmvnph+wP=%~Fd01g=Q5 zFCMW;;5)rd+VFyYA%GT)RV6c&QV#*wCE6F4*aGsX+qZVn(0{K4(1LIEuBo;q_aWQ{ z48Q?_?NGqmh(yEj`U zPWrb1S}1zQFh&i%M!|d(bAbN3F#pHEZ$+t>%p=F&rf8;_Xoq@ZU#@0B2?dFCM}I*`gEvv~ra4IcU)x0(2Lc0603BHq%GI0IWrB8@5;Yx|1Z4GgSd3I5 z6pJlem00gtu+gc38Hr-x3!p2W**!+r?THE*tBD$;ARon0C6Xd2}81b;mzt4Y79&{>aRIYA)d}CjxTvB?FjFQvQ7+*u$txfZJpnwnEnpB~?{TV1S4_1^HVxyOz1J1L zpDGhlBY@>iSynrDsqim=l@c4K4t*l>Q`@i?QCYS>=*$BbfVHggVs+(V;1faTJ++a| zqViR{x_@|8pt%N?(_`BrRwS}W(eD68VEG@(ykyf3`77KiyKa|#at|K zd=U8^>ZtIZ8% z{}#B^^R$m-lvf=$ynyQq+q_KHTLCQIS!9Uwyuc}*rkkc8VZGC9T+WTfySz)%E0#1@ znDD=#pY$xvGzTHD$wn@vs-(`N^gN)Zd4^@{>na@MNqT7}VvA#1=TJFwN3sbe-wb@R zC4bj&bY{C^XW74Nlae5J)fKSkB7hIlTDPXLc?ix`>V zwW6FD*L9<0dP#AZ(+Wd$*vj@Uhx#suhAxNZ{l0X0PYFzc(oB=`s7XcCq$FYxGK80Q z^sxS8PiBz6>9m!c8_#s~xCCG>X?_6opW?S`c!rOik49kYRA{j11;vo6H_?aLm~=!heZ3s(M|e;<;Vy>Q1@@R8hImt}gk*WKN#ke7xmN zS=zxvc+hirN8>xKSev^3M?j1k{;+Dhe`y}a1$&+4qN9~0%C`MIM$#mSOk2q)x) zSk;}h?E?Bs9@hDjc@<1bvQ|5H0Y@im89--GuNTRTO4JgroE7mc{mSx8Uw@n*qpQ#M zBpnsz8F@PmSW(Nn^+}J9j7iO(>$q+8W?$0obzGXe z9WRs2G7avX=%jH4(7$4b%YQsG3HWHg_m#9>$L0DJwXE3kF-~@Y=jq3Aatisy`UYP_ z(Ad#~YkKya#rT4?Wcx+qoiMflR0Y-Vdu>s>n(XWL=3NKFoo^Q&g<2V&r9Bcil8uvJ z?28EM+j>yL`!zC(@q_WcA5#G4(&h!gsh%5TTGY3BGqr7`^WCujoqv-~G~X8yG<5h@ zIX=r;(sb@vUydmN74G!K95MK)-J53G^IKa2b$*PP2p)Q;kq`EGQ>m@*@UB!GiNft; zeK)EAtYwWC`?*AWdxtlHGZxI9!J+h1Jt*5qh=s+ zGK#I7=3yN}!%F}OW-XtZA+~$e6da9j9UJ8F}pCzXD2ra{C^{;4`D%S@_9+~c_X_j}{tOM}0C0K-x8EzLhK z_UC~Tpg;C*V2pLsvF_ckuKbYi{vq+M)^~Sx(CxwOpnnZ}yJ_!Dtl8S*xKus&K3{w3 z!*RQfKk~R)JRvHB1AIg40D%f%w3{BkTz^=A6^3VIxf}A4-D+sc{6Yd zO8EI(4S(Dk$Dm8E~ zVtoU*zqV!Axwflp^=Xd8Sg0_MCw7;>fB;O#I44jGfVC}s?AhO6`RTU%o&WsS;R8EP zRvu142@kBFoCsnf`u()av`hSK=i6ADx-*4NCJ#E&3dx_@Z`EBZ>^lp<1TepF^WOuf2Wfx;Yd3yGYp>0>R&8QUW80{s zdK!v=6=L1iM%sEEE~%I{YI?(*Uo-~{5C5r#ft!`b`b~ATPGG}m&L6y&j0l(^-rU;A z+JELYcJJ@w`+wX+RFvlIzb+YmR zcwl}1qL+Iv7#@SdSLesEwuceHcEidt50 zZ}-jlgBa#uNl?3|lM`lSlNYvldq+DruBc`8_O@}IKX@-05i}A-Ga@)S(*u9{2guXk z+RLrW|*EdQN91hM-F?c6frpb_}Qlw@&SDlF4Bj(?jP zLE|Tfo0W@gT9|En!0CgG2z>=5ffl1`h3G5!BvwmPzYSIxJAbCH^AY{PG-aNpB6AKQ z{{!HLvv6mWr_=^DEc#MxL$WAT7=|+8;(;`WCx+|JF$OkOOmhUH!fXR&W~vQIlOj}R z7%C*bRy)lhjfxZ+0;6|pr8(>ow13bb9qZ>vCd(iNJ%DMZ4B@l@j%<<$YLn)$zySP< z*^*|e(~}m!kxh>Q;$P67G*g{UL(z{@ZAF^YpwMCn>`ApDX;OnAdkoS7ID&Co3{mP+ zZAO~ZAY#-RE?SprL(-%M7wQZ#%x$SQBu#2CT-|0kj(m`6LlR+HhQXQBGk=&FNnK}V zMbzZ9!VpnE0|@(wEm|w6in+9T9|5imPL}T+m(8LRvk4o5qj2ws9o+G5J3(zDkYfoC zpO!~udHq-g?L=<>G)z(awyH3jCM(lZlC4y{A_|H@Gc>Ur+ zPRjQ@KJcUv;Y}D=9IA$_Nre&jpOVWd(?TpdF^4D5EEqQy|9H-i;eV$HqL#3H4Clv~ zj0kc=!iyIc@|B~rICFXicb+i*J^6(yYhXYCj`jsEfH?yjC&jp?Ji?=AjPAV2I6sCT zB8WNvym6c#V>}V$hJ+U`DCG3Q15f>Dic&Kj!!fNtK`cH%Re6)Z#vl#&ME1eUxT5 zg&>WX9UeU>!Zqa)o){3p-Scy~`Pjr_@!mQwn;Z|CXJ<^$;EK}tx92qk9yz^V1YV=`(iKVe7o={G=IapZdo@g7dyY$HxbOv2}S^- zJTh`O(Sy8ToA$5qIbu|q4_)R%o$p7O7AKnTn+T?7hRE`NAVY06A02t{;K#7CY%}6- zlhEsC&n>Gr`|A7{F%f+8l}-H5``*4O%d&i~2#Ty=VbRu+heyp-T;o1JZ7KIq0Jp5( z%!6+?27kJ3Twh)hH@&pMQxVMexi3Iee=^$fQ3YUE7q3!y+b?5gd!+VvcXja4J54Fs zHm)zPh}%|gVRx4|q26cvJCgjST~+$}XkU!!2@xH4$H`oHj8R2Pp~ryEyx;`+0DsMno9LkE!jW}<ER2+$@aofPGuTdFS0QSPt z7ZINK(xBXskRSH`X0Iua@W|=;7(R-?FXw|_ok6n9t}b3R-We0VcpSs|Iv%bdF88t9 zbAMq)CO04J-wd0FPR;Yh`2eNa8Q#uhQraEUo^S`)iEAE}Wt&ChXPy`Zl*K=^9v2rE z`!~bpq9Xr{4;eyn#Jh(>4Hi*ZHerv|q^h2_VJ`ylWUq8_{n;Q%fwyK?&$D6%_6l&epk_RSp?xYJHYk%>MUB$8*hS6xtnZuKWZ!8S$%q&;C9d z+PeFH+I#pY_PMQ_ZLQtx?e4?Po`#+0PwdOk&aH^uOHnj~IeD3s<%TKCiBOgsp?u({ zEH_MUM*MZ0+C81je_=NoO1hMB1uht?-9M7JoM|m?`k4w}Pt2}M-Ov7Ub{kbQgl6Vq=lU0aUwXT-I$EG-|F|Vt zUf3EgikvWI1Ha32BNS(chyCO0TD!UCnRj`|EJm&5>KFn)w5v+L7svT=@cgE*(HebI z;N-Y1i=j$r=T@=}m-$6Gs4Des-G4N9^x}*;^F~lJ1Xieji&eA#w_2fo$D3C0yKbn9 z*nNo8hdB1&XB->cKE$>eYfLR{8XT1qrZhWDx8w58&UX6DFugM?k~QiLr>*q7kt2TN z5%;5#vAFqoNAyh~@dwLVSf#oInB!vKATiJX%a+NIeA@|bNSq!L{mt1Y;n~5>tvk|UI+l7x^#~% za+$y(v;W|siohnv+4v3Q|~{FtD(B|p4Sfgd>=O0MBcb9@Ow=KCxdKQqk>7b8X6(V0FFFfL zJe`s^l3?c2KDqrU(|t7=(0nr>I*4*Yuc9Qvrh z19n@<&G8KBCPUycPOZhw=ewf+A#i-qc~50jc+XI7n(Ry-uSiXh+gH^xb~fK6E_We# z7tZU@q)X7B*yg?;4vpLq6se7JyrjO=#JU@}A*FVt3|--va(@$*r77F9VM>I#ww7$a zNHP8mI5*X{1cSaIYJP8`MH@jdB?J(|TGn))I{fQl+>5vtSHACe(=HySlmKFcmTo`U zRpZ-0H4t0`C4W$qS3rN^RL@$TYGXz+B?U0ZlEyLvss;HPP@ZaY;-p!S$89lw#dSqn zQfdvqMteaAn)nbEFx^|F!t0KZ9$W62K)&eJx; z!37hagH28#4IvN5uToCaB%F{YO;b@$6G}qT(nE+P8#k@f216bYl906El3)k0=?Tay z+ZZB&-^Rk0ACe{Q?5}@}Wy#j8q+QKRct7XpXm@7r?|x_RZ-4Il-Vxqzs0!;FrkH7| zR*Wfz!DLk?0;3cv1uB7JAO@7233UqS1Wqfo2($o)Mc9+c&@6`h$u`nEST?f>5e?_Y z{6WGNFk~LwHO@5Cb48e|@E%|WQ07x?CqNoRbgRNeC zLnzk+ixe&kQ-6-YF3?}2JefWn|6e{owIfVDxiUN)U}Gv~9?M({#?8PIgz~T@WuX=H zF~rzt+ikyP^_;G-1r0>B9pDFzQ!R_-s`^=AOxSXAN}~Gj8FD`U}Gv~w(=jq&A!;b@c5Z+C4X;W*_6{>8}{A-9!Qm%Me-9wul3ya zg^aSvPR5pU>(t|3n)TKJ>Kn!w7{3yDx2JXsbn~K}PJe{kW*_#-pmz@N;Eu_rmHBVr zou1h&&<7EAr@M@6xovv0C-%HB!b7`9S$5~|6{dM&&o8>V;CL$>Kkj_)Ix}2fROI}X zSARfxx$`;Nyk=X>V_D6?p&A;x18mq`ZnSr9igdQ0?t(*y;OJ4%fd=6OD$3#Fi=ikM zh`fAI=CCH#1z^ZFph;V!EssiTZ3IA-L@X@wMsOp_o z-HxjVd;Q=XV9mCqivEDGCy@?@4u2n4W_1pWRbK*`?+>;p7?cB8X5wz(9Yc~86zQ~o zwxeAKIExC^hLIf9JdA-IpuSURdZs9y&#>r&SPi#(H5AZR{jtxa9i-v!wnKvfX#@?27ZKv9){=zs5gRtGTa zcPz!(aihSnMn7oPr{-rno7DkS^c(&NDiAcP^7U-zTphrwYh3ttU7~$KB6@96-FDa9 z+|>b8^bUU&6$qLP@-?^PeI4KjjZ=Z^{1#LoV1y;CY3S3L*T(@YBeR0x(B)eoSHv=m z&z*npTnAXQtw=>a9hjs7fq$a#x%0;e&T#;PYn14zLEE*N?}?2ZFGxNDp$Q$rI}AW&4OW=-S8aK-^l%YU91uA~A%V@l?O zaK-@y{b0Cq3IvT{%!M-!poMY&3l0^1FMvU<8bp1uM*%;WfvOmcZ@d&J4O>ltz^P!} zj){heP7hm2fp9Q0T5YJxl(2;q2nQ9JY#G8NKh{zXm6##iHD@%pzOw=aHtaq|?Tc^H znTep-UJNJQ20Fz$^M6vs$WeRcD84+a^6d9JXIBC6wXKm}r$4N8D@-zg(P0a5<5N>d z^f~tF%laOR8pBGrGRjcrRjQHW;$+_!iHuD||K%dXNw*dhvqMn_~FAd{tg(tn8Xnx$;ovfWDr=rDj& zVXJVXt;=>jp0oxiwfuAt>EC!s7Hy}p+)D&FWhlHAwhA{+bh`g&6|n&v!1S?NWA^U= zBVz8GcAx0*ap$rjph}A&NF?_|fAf_4o_y~pAE41<_~-xw*v_Wy@To|avWRfR0F9&r z>}qi@nW{&``+pA@_p#eG*1zrQk?z`dwVd=rjTf{SBD@i{3O9CU`O)T&9iZbfZuwUa zDDK|@=8sLd9^ds=B&%77YO|5a&>Xf9H~z4%)%Ey-OG>c%YYJE~i2JauVIt<(&K9j9 zEV!h^_1u=dKI~rZ0U0rx4I$GMwh%X--PcN|-FIis(SHexh2z|RXaGzLO5)z;0wRzs z0xP>?T{pgzDwiCh)6THvKr}a*Hbk2Y+tS9cg}BkC2ETjVy@9e~+Q{qyi<3@+ye#3J z6O0GP#VJEETS^ zi4?aWIe$QfaWIs|dn%U2?ha5rGS1?OWv=HoH0U9nih&oHdM7M^mrw_3>r@Cw&eDQVH(|?O6ma%lQ`%_2R$ev!im<1P=I?gay zii_Z)WKXkC#IfnZ$EK8X-FWw96%TA}c6u~p9^^zGBg*s8vovgTxN=+&17ZpO<@rBl z?G|1${}LvYxMZ(}2_wez`Yukzu(HI-(qk4_hLbZ0&gYl~WoNGGF7vw?G1~R%pHy1J z_kZVI?5gc#XPWz8Xo6V6xtEBcDx2Yq1K46l&jA1uB^*B0$-P@%b3I)dH+f{?cuI?0 ze&Bcl%FmnbXc$hGUXg&2B~Vr7{EaMejuprH_V$%mx>o*5iwquFIDw1e?#05lo_&=g zZJm&a=AtXRNdExc`vWY0*M5OlLRI8OaeoPj@a-+Hu{%p=%A8RNHeNHHVz++!WI2o+ zGvFYOD)%Drsg*>aNaJ>TTm$Wn0(6NOawi>G_<5c2EL6lFsU zNS4!KXIS?5OLS#fTygFAQht5?B=^CXcoIfUa81apBubqyE>Hf*xXF`?CS~o5=zp{` zEPL!Frw=1p9?9(A(4MsJQJ2x^IRHRO1&Hw6-lP28rkz!ySBF^V{vgewLQLbhF6;;JNw`2-)`{|DU>Qg(}y8oDCx1=JkTlO7; zC%ZrP!lsGa$iFW-}>X5w5Pq9h>^4m zzIu5Tcg(6J)=xL|`akYr)e|o}Z!0bx38j%-5OU0}U<^0cbi#QpWV3$z4(Z*gV@ZIPB#8;o%*)#92?4szF{czCEv`=L9 zoU<=L>~p8q+QxfS^((>Z%7NB5p}l9Wzzvs;VciY08Ce``fBW%{G=Hmq`7)0*9_Trk zD0M235k=r1(<^Jvd3{Wu{4I^H#c}RvQeJgV^X&0g4sk`@@A&D?gMmqSbjJZ^t$F6$ z#E&N(ZP7*3rv1?Q2VL_zvp)4p;3K|E$`@5=Jq)MY&N;mB(kg1Nx{UXa?`ODp2>fC1 zQEH!gg{PX%n?+Y#;(t8(QLOa!@C$ooO`pxcT@_pPsShhW<-evOa^fwgUT_{Co>IkM zTseuwQ%4gY;w<3~JHsz`ALhYr&1`CJ>3cy*g;VZF9D%FSD{Fr5a@-xGKJ}u&yZx2r z0Ud2ly};$Yz9Wl^STb!aAD&Xlg2`1}TspX#`Ti59+0@*^(|^rJczo9(j-GaTX|#y* z)EDR-8?$(ldfD{CGDUhqwmmvj&RjvU)>`};^+C!6=^)ozdl-vF*zN2G}-oTqg3M5w58%IRF5Si?M1v#)Y& zj2JU46CZduy|U)%{w^4B8I3LcwW%y*IBq0in9f|j?teLgnsKcxo@LYoXF^B>hj8=Y zgq^kqd;{#jce{;?q8bFF0h&?cM%upCS$;Dy$5{yW6=3sdS%ViBHW+9t^z?IaF1J$ zUp8_o@PE>6v9GA|Qtq+}1jKXcOnYrE0dgL_h}ETPY~gtza($q^cj|WAvUMozZ%apd z=WpPMP5KH}&fc3#puC2!%(})K5&cQN;r-&9?-_k|cW%G9_oX9I-1%EkmfEXo9?vyk zUTq$GRrSvVzMD^2KXKcs+iRk@^S3DXnRkpoZLZSl`iD|x%+(97_3JIl&=562o{u8I!(6Eo%Z3pR0`ZMDwH)NaLsSCKhW=K0w zd4E%hTeGXmGSbf~O!LHEz8rqTnH%6IhUp9th0AL;nYpZ-d1$DHyy^H}J?%(3Z7dRD zw=GxD+M zm7%jdkSaA}JPKUrx$S{ab=DEKpY*;cFn>%Z@k>XBHT(BzI}y8)Tc>)upOZg#vN07i zkLwRn`Ey_FUvS7zZ7cCfmQ6YBwPk+>zi+PTwD;D0QdIAyFoHM~RFrSo`=;OIN8&>O zUAb0W<3bhP0E`*%;sU)n0`i$`vw6KDn8K|7rSYa%|AjIykobl_FW710mA*?;ed zf|>uca`s+(@8JakcL7oBOpOvMaKD{tpBF^pLkOdJR^5)PGm?2gpeE?Jql`j>0k`Ke znZpYLp8=U(HT{{)zQdQR$`^oW?xGwlZ31^?Dwq>=;zQWu`RjIGV%qjS2%id7M`*|s zc1CY!bxmmRY>32!4r^`d8dd%tn13I(mVkIp;BN<7v=Ic6aDZ;CwT)M)>emRP7cm%K z0J+QWrd=*X$^p75TDN_6#+Ew}ZUKhPD$Fb>@D!r=+bd@LB5X0|6G;a+%R>zljI`V$ zB7X^lJ_eg32SnuG)3#mD>Y47F9Y=s@J3u$Jn=EVm=!FU&M_CF)Z(^RqQGej)qWW-p z|C>)yyC9k`4D7}5aDd)yOvS8Lxf;<$WLTs^b(nG#QU*MU%9H64`n&EOIEM?v&jHS7 zeQK=PrE>*iu8O`Fn1O%W-L@h$NJh4**w5Oq*{g{eVKMw2z>NoYOg7ETbVa5ZqLURS zqKsCNNd3+t!b;rNw&gi|T&Dv~h!8SH)Y==NXNm>j6 z7s}=~m^LxCAZwEkpN7&l9~#n7nwZc6B_VB-HZ3GAO#+gwkc0%vmITuf60_w)N(?re zjb%%+EpM_cYnhqTKO}k6yeGY<*@WNsFYC?BxxeRo-rVinbAN@m8>&Lf_IZ}23)FMx z8Dy>sbATBNbpmxj21o(rBTwxI27!KsodP?7?V_}M=q3^Krt6tkXr8$d5sl@0g@nW{ zVA8a;A7?rCA`xAr$XTeq6QMGcvXp%YFNyM;8hP5)p{H3frz4cIB4X+}z&#r?b~=4N z!ll3^3a7*=M}L$J7#_jpQKx4AlU#Q4K%9E=WokG;+q#tH)m?;o%Ye&)X>m)+!d{dg zA=2jdG(65VG8DI<@kq7<+}D1xZR|f)^kYDM+;Z|{o4{(La`#|!8j{-e91>7k@`B9rr#achZ)=f&eD=c=a1;uaFG1GH^D)pF%dU`ebx;zIeUWz1&=mpA-2 zE(!5Cz=IuS_C9V=;V%F?77fW^NJRe0G0sYs%{~xy;gLIly?X0~>d9Te2~n4wY~*!O zxyEU3cz+_&QX?zro{bqhlUb?gX8{vgxl;=TzUfx*8UCoLFNy*qae!1y`@0;mS_BqG zQQlNXg_mqkRzxv>5c)6CYT3HN73-J9%AYu*oaTx?XSH;GH1x7Uv)rbZ?R9=dmA?wD zjAH;1?sV2S-oQ%nLa`r)QQFp}EVuf*Aj?9re}C-pL$`mRnUBxw5880>4$!u}!g8JO z0~ZBu`&dR<<9g|(TwT`_q}gB{pk-UV5%*z%_XKLU$S}eS?x4Ahk2Gu#&SX%ucFwin zC!i+1>gM+YT6KwAS9d8j%pl&)G ze*&a4QK%~jMgGt0?>~=^&)YK@JCk#Owsk4Xt$7IegGt#5lil6$+In!^{GPKcIC(zQ z)PuCQOeAC?7YycbfbVC)5tB6@|p{J0+cn0jx~s%c7i?pRS16)jffsUIC~M+fFv`v!`|4lFtJZb^v?z)(b(e&0kZ* z?AaBb?cKY>vmFqM-e9+Mo;T6^Cx7Mu4|bHPC;vg*L8KF*Kg2+qfk=XMCX0Z6W1>yL zgdD)$$1T8#ladt`Lm}?Q8XOGIc7Uj`z*KcjC=O$M2UyiHUxn)?ttu*l?EOb+J77e0 zCHHk4Ki+-gI)J5o709b+StJpZS%$BScT-LW7~ZkNC4osQ5;Y&RTen=0>wkvq4xlQi z-W<53B9Wq)FXg(P)d8$kolAkU0#{TdYRJI>8^F{=Zp@P%;n6p0#zo3dT=bpU(y z)(hXRTeOc+E-G2o>H9YKbpZ9``f&9Wi5d^R(eLxI4sc)l$-u>73n~&Z%H^!uHfAz! zj04z~{Yj?6ly8xI5nJ6)9Dn`ckq&T|mZ<7SB9l}kQWQRM^cukt4q#PwTmm#is;Wqo zG}x7$M@$SI`38{UUcR?GDthJNe;;yydp2f(4@51fNW_RNrET58;KqXvV5igPliUoP zMS?=9wzc~GqkkTH0}SWhEpjZNa&Up~@IFA%0ge^CLv=mu0B!BZDSwE7gD|d$UK8 zFnA}bVpy={1fU{rHANz)ik8kf#&XR3xRn%%2g{NLMn&euEu=_1D9klR8F%wQ9HfkJ z+v%0GUtZ7V%V%=y>3@}^O!C7Nrjl;sdGqX%LlqOp%F`N&g5V?blAD%blqscKWrk59k!i3ROUH&QHe`~2%)nIAts-?s zpf+wHMdCrwIzy7vy%Y(XGQ;pG+C`2{(nSY2wn-(+>sJ1KW{%D?R1K_?73lSW~u5lCeE%N>3GEz^mWxhp~J@QxxD zJ9pV9R`_4v-hUTj>bglFNVg%O4)E$O|D=oyrsb|+DGl$q7s=$dy`aipTej~KKi*Cw z%I3Ib__1NP|3TX4&d5D&VahV0ZEiQ^r8%!>)As6~$PWdd5F%!i@z70i3-M!ZXRq() zi|bR^xhgo7#+2o*s6wzR%W|F zo@Zt(E^Ns0Dz;Ks)fFHCz6Ok7rj>z}z1)i%(@gi7R~vLa)^;UwpoQ^tqj6n%Ic_0- z>=&D-w)h{2^~n>nuU~nk<%nglr&kBo6xelDh-KlGmS?>uo2LJ5-@|^w>zGakM|7Q` zdFDnS(0}7dgFx*xt6tvbd+qXB85U;gaCw#%AnF{Noh@G}0v(+jF> zmNfYvG1u~P7iuSRxn(cQo3l2YL3QBm-4`CJLvHlLkn>0>Ha&})w1!*tAOEl z+n!NfSaVHEUwv*fuVLb6*wx3^UT6nn;eVAT zZ`Yl|y3vED&0(KD5}TrIh`}qXX2A9M)T6I3e^LJl|h_P0H}-`L$W+A_iTLPd)MqgRX~HUX#ezzd;{4^zTuU=m3CQSqox# zreiNFfAMD4`_7$_;)RQ+^WM6#zkf-{2yoXW^SOFq_FR?&o^t2<{oJ;$mjiAvff!|$@cD%mT>p;poZGy<{eRm|KKJd_kFV#EH?tq+oHoLZ z3o3Yd$qfGdlyXYP3n0lsnI&9zN;xktnZf55ROGDuhu`Stx}R)70ku=O6$#yLq4I;# z%7>#GMXR-Q3Ft%7s~R6Ocz*zU$7VoDTZV64I-fr|b^Kjzdxw^U0BRAB3S9bI=5i{Q*R{*je86_`$!AxVlDd ztE+P}&=|F_iD32a!rD80F0c{dw)0Npx-%z!Ub3UGp~qoEk3(0#M}O}~*ja^bXvi4e zG0oK?e{hxj&}0;{}2D zgez_Hb@|TT0iJB%!;^3A;=wn%+0*Y6 z)@>}D>IS^h$$!TjM8Grdil*Q7yO7lZtW{etN9BR=GzEva4))${W157csVgnv)Y>wB zy4>HdFIe?!UftEl&I7r_xV5wrr>Z_{d_dyxWQluKFl9l3FJ9kMgo7vkkf_5;|pqdG}k>z z!b_Lq%_zqV^kMDajU4D@@&g({ODk~8Yw*%jFPDa>`I~H&592t1b5+x0)~b$&6FnmE z!AqA7SC;2u_4i`>_ru@;#GTj<9koi(R4JM%$IVm}ww#;@WVO@W@I5m%a1v@vBA0OUM%m}u&bTMQj{i-U&3;`({y7j) zaU&*Y$4xE!?NRxF8dkDwwtqn7VNB@TI>uQE^7^Dz6^R6eb>7~_uTSLOiMji-*#|`B z8WKE3T;w30fj>KZ!6z3Je&0FG4Nr*jwZe53iGKot+x=$zvXNJV=Tz_ioWgJNmsKPh zbgk3VxH6w7@?O12wRA3YMV|o@Hye^N!p)~uaP{0W-;}MBq2qwdy_*iO@}*t|vjnHc zOtWc`!S7SlsbSZxSp#c@B*_rZdG zCV%dVrXPy%)k2;P6TeK|L6gMH-vYN6Qu$Dz0{}Sd8*czvUFh>+pb-pG+@z&^Q(5I~ zXuN6s8~rJ~pAbZ^M7IqtZGs zvr%==?VW{E6P|KJAZ@6kLqPgBbgGL?%GgfMD z>UKmf5qK>SdquJ$@S5v!K@gP>K{)`xipEXOp!a*AYXh^HCt4c*R_rLs$ief@kbgOc ztD4>l%3$#0__pm8mgC%yaB<+a$3qpnryDuY6L?dgRtZ`<4QJZ)n4*963D?bB!PRwv z=5q??o3yP1uiYthdK?QDe zH#B}IjLL@yrgH7oTQ5{k?gbLPZGR?#bmPfKvqkd;MKq1sy<28kmT3jfiKM)#&$BLa zB`X>?g2%Z|0@*26P*L`A&o`G2jOn=I_x zfe**3BR2FQ*OF^l))d>B4T%Wouv@oWpqMWL=fW=rT z%Z;(jB1Xfrcye>tL%V!Plmm=XvTDoeo|@}{W?-uB%Nj*deg^tAxB0jS;}&x?iFAO2 zv~HbkpjnVl19Re*lP8^me1FFg^G%l5zY({XY$V$OMp>h_-Pw7eie8DxQk3erC1qhZ zDi4V2YNx63XDpUv9vFBSQ^Nrcr)^!zcB;<FP22Vc%W)Qoutk2y8F4Z79ZFke09 z8N9hFW)7+|RisYPI-m^2J~#=b>_c#XK1Ftl>Q0btg4gaDv(b3E(NSIrG7uvv{6A7y V{3n%dcbxzL002ovPDHLkV1m7L=Cl9+ diff --git a/plugins/VOIP/gui/images/microphone_mute.png b/plugins/VOIP/gui/images/microphone_mute.png index 965d6998e25aa23d4e979c12efe26adf538d153b..d77aa30379caf2291581e19aa775af16897d6580 100644 GIT binary patch delta 5435 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 delta 5521 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≶Uc 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

DR*=$atxTyE1Yqk*Eq;_`|)>=WXAvrK~f`4UJ zddd`Lj*sbnGG`Wc76p8Iz4|jsx(!B15-IYsWu)K9-32kPkeTBC;(fHuP(ylS5;%X&o0pLwKjKrk|^ul*S`wm{9lzb03>URBcNQ1!7Lb+V*cH@KB z@qP2Q4$&>^*9hPAREKBC>sCnJ&kVn3XEww|fTuAxFhwbT3S8#37MEBf@PFg(cI>!C zTsS~0#@vd_l~NA@Q@z&W5Fdd2%;{G12;mfksYZI6y}h1$;)GT!E-*gqWs;A}{4A2xzbb zB}>dc>fMe>7!!fSbAVHsAIR66)kHy?s6<@~j0K!JmZJ`#Ttc!=iM7&#Rj~@p@QTED zfX;Zba-^<@3KdeIi5jV3IEsNvq`#p00~vq;w5I7e3Yb8HLTW{+S|~JiK$PqWAyt~F hDif)UWgtep@c-WL=vUv$H_QM4002ovPDHLkV1j_{xxfGb delta 5001 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 AJOBUy delta 4342 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 diff --git a/plugins/VOIP/gui/images/speaker.png b/plugins/VOIP/gui/images/speaker.png index f3fae8a696a92f13bbb753ce99d9675a89588d5b..a1dda4399a56833afa15aae0c010da299b1e2efd 100644 GIT binary patch delta 6531 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 delta 6874 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

bETVwRybj{Zfj%0QZi< zp1BwjaIaa$1^Ff)3NQl1V8fmU)iAz|;7GYW;7uK;#)f_hd3;>emFK_r-dBtE(yo#hYzG4|O9+IfSrTxE zrU}U;kRb+}bax2z`7kqlx>=G=(j=i-`jbvNVUh`iX~?AMB*fcH(oI;*YBK=`FlMtc zc#{`wNjA2u&9aty@16PMNw!M$N~%)5s*()9zob|1-FvEj=YQRM?z!ijt2o{uqFDO= zTw`Q`xXxUSnj?zYK)pb%f?6O7gn_c*r}}^)U_hWlK?m@@685;rE~WGi$JOt$q+usY zNm0I6o}h{?K+agXXNIw@3zU)z1a%G~r=h6GOJ71Sij7KmRkT{`NMbFEXSe00uL5EE zDZoQJqgEtxF@K8B0GA1zR7`P{um#O39Gnj2K2*aA(2sjUFN*)!kL*7bsX1!yd`I9X!9f)!fSgF{Q= zn~E(=I!s9gu$H!6C`!Hw>a$Ey8MDM%M1J5bZhma48Gn&e=f@RMW_kM+qPSfNXBJzW zd_drJrQ|N>>gL~16-Ag53SgGEe+J}kgtLn+OM$RnxqQdIw)v@I3sPJKSlN2AanwD) zXNxLFu^>Eaw7zBNnx?mlB|>o&;L)~HtCzb)@wb3g6d9%t5=yBb+uFW^MYH+~-Fd+k zz*^CIiGR520bpLC`<~iR+m)yr>?KXB3)*YJdU|MQ)QU#$5ajOwU9f(q7XX}GJpJ#{LG<*(;X$R znx*Z3o%g=-*78a*mfQX#5pK>~A0GfH#Xa`s_HbEooF^2V z6==I3!h_;9XGmYpUp2iST$4dzS^FFV&w!j5SeqXr1q!y=s7qNK-xW}M0bpf&y=BV_ zqJKC!koG>rL}+o0bs>uy_T}18?h5d5N2NA{Yo_I}KQI9A?SSqs5Eo+AFnbsQcVOTmuAAGHOFOwKz{*Ww<5WKe{CQ686ayUxpk)gz)qXodpvqX9!nV?!NC$_VGz6fLYeIWZHT7`ukzy8*r#& z;(P5WAIq5p5&1i_y!8u{c{XbW2ru1p2JrLAbXGKUcEHBhp}!y-Y#Ae>6(?6%gnx41 zkx_{H1Z}^`gs19qEo*$#@swOslww~^* znt1R}swlH^vdL==>i_V7gtB=kD+Mso=ns`}dUkRZ362e0-}aVy<4*Wl;>cmxvmIJ@ zL0@;)ZP!LL&;3~qi)NP`ee=Uw@qg8Mr7S(aI#=n=wJP`Boy`LotK4uT&(qmFQ#ADV z!VeJ_Gl z5+O8qKBle#RaOQ%{m)lj8sUjsui%VXbrUxY+`6WPUu@i$YGdSvtADIzdp|wi4e66I zL=?;0?+j9!z#u@|o?)MTVN&dr>!6$jL`yKy63nn1(%*;M+k@NFjU z6zwVC&v#0zNHomBEw4o)WuT7ze6gs-<5!)@$1^ebM7Z^#$A7u^i9f=@HrTciVvV3D zy{kJBE)6YjKgaI_UmHMN^|gFSk~NAj-;W0gMX;;thyM}uP(QWO&*PWR;o}YE6F)D) zEe}1$eNVjPT`(a?Bw*vqaOQ>M8kV`hMQ#JG9D6-=Jp0X_`9_;9zMmBug_`gE;O7bk zw1Rn2haLysAAd4bhc!=KT$9l{-^x`NppKBUhMqf-B0W4$v z7ZE8w`9b*e1IGMPoBL1hVP4chfQ?6@oIdje=2T=tK78$wSGaHWo8E=7$rdIyC8yn@Bo69O#bMOPCpMCv)XPM zO!BAb{yo5~s53e8fm@&1#QlHV;#~+u2%YkAbVV%v1MjT&ww;4VlU324NTduEYXD=gX3j>Hmia$uCp;y{!_Oc}t{(mW zu_@r8olz5w>?epKj6;L4vjw^j`A6PP2lyC)Kc0V>8&02@5%~ZQuiwm9{&2wiXLy|- z>e`PQ>;pht2YbghWN660fdyy7jDR;`6ZLnsZklyOwx)BlqSDqDO zmc%|a^6#-Jz^lERJ9f5svGvCh>LZ%fe^$ep4QYn#G1$6wBYXGm0N~;V&Hd+<5i-M0 z9)G1sR5u?}f@le*A&uE(55dlNbCy2^qKW0Fh7vS zkE3Bf8}bEseba^%@{RF+;?LC%a@z@`EPs2YNYum;0AIxbuO7H@XgDddmfx_CdA)QmFtw85^O2}+})QFK+B zrD6MSZ#oDN#w5;%VFggA^8;;tnxnovk{$WOPM+Q&m)kcC@h&wf4SxeN9S5RXSkjcN9AYe_q<;ckk;Wn0eJIeVVSzbX3lk;}9IwcRd?A(mS+izgjA3D8 zn7>~zY8F+RMC}a3ggG?m^5}d12I1#wQ{B8yc{M6hf-*kgVUF$D0s%q0?p!^5sNx3> z*^+yS-NJouwDH|F+gNv?KZSgNkcK-?OAZKiBc-@yF}C+OZ0q)4 z5qzRDHQ!K5D$^@KkZxg7^;#5Z)*Z(uCPV(u-fRQcVbHeun{}N$wadST(53MRGfI*b z!>OzT6ff@gPb~ddd4KB0nG-EXg~I+q9qFA=?o1&{)oKMbfwefrF=_GvtSBnhNCL%w zeQGlYj-<}(M!{dsP2MgRZQ+(yvf+^b4(Ys-)aw$CqM~U=fB<~~3aQmhmvS#TA}jJ` z4Edo5G|WWGJTKkB{sa$gZ1;Wk;)c{W*D0@IN3Z`BFf;6bU4Kgb^9xk4djh2z?-cFh z8d;P7@akmpYnwqE64gye#3SanTm0)aFQ`gQwUAJReMA09A2G{+Stn_#l}fO?t&!ti z0VYNMGsB_VqsRw_mv_xbw4807{^9C1VgF5_KI2blX`1w038jfV%7X$Nw+NK{5h#Tn zi-XSYv^zJPW`Cwl7xKU%*wnGX<5B@~CcmO~!bHt4o>cF9{hfpUQ$tgUe|w#SX>5RWY3RW#fC@O^ zthfk-e7}sH(S1ZT*PrC?uYX~Wzo%|qnLp8c`_lOK(|?7E2de;mT9D%=in9>phcx`+ z+!*yf=944BZ{G1=9ek|Z-+0@VW_g%yy|2Q-+3W%xTEW4&uG#)>dVO~NeP^g2N<3IrlK|a90{b`KPq#-}y3U{vE z30CUoCx4aNoLK7rrmsJgMge-#l&nt|EHWv$9a;&&MjI9wg(AN(s=0Dj`cp){|I#kr z+~12ENxkQ*asS=Gt=$f-gMQ0BfiC}=2)b>vjX+mLwa8bs?9}*ZD^Ut=cn)_-*?1c7K86vz*i#(gll50xs;*N}FkNK1wnQ zNj|{tK8II3Qs?nUwjJO<|N91PSCB{Dc_k8{htO8C$zn;vPL{X#5JYBh0Z=URmE*AYKnH)Z z;vnTA!;mWsImZk*x2y&kWuaGE!uLON*mv3x;Mdy*AQVN+7!P6R0qFBz0qBZKY`+m> za_Huo=DixF1b92BR`ZEskq>|pMjZEt6Ms$;`4TBRRyhnW;Pb&#x|tpIxBQp44A9c+ z;FS0nbbGe@cONZ5MWRS>l|(n9lz6FO!mB~GnlBWUe7wL8@!8OkNEwOR8AnsPEG7KU z`8}Ld;lC%)e#GIPjYj~5TQ(*OsQ<86D9Q)AdU%8hsDhYMyaFSsVOp&Xq}4njTYvIz z`gO46kHD^JKAQM}(zxX{B!-ha0ct`nzg*ChoB%oox4+g$pDjp91u}L=v1OBg*ta&A z%4*zbX7vd&fe341xJ;ZQiM3{&y3xhNWXQk&+2F|sFK$0kH*1(AmGm~ARblhf`Q5}L z>Erf)wXOeXY@l5+CKR)`D{TU(iGNjt(YVpzd;pHIUV@SO0E=h0DcBlF%K;WSoJ!;; zLFuF4vnlNIkMnw2acbwd#*}SD`p5*T!`;g4>__sTWh0e7xMgPgEwjqHcgI>IaGH@ymI=xIe+S)_)zw70;G% zD#n~4uzRa_)Qk^IO&ux}#wpJ%b14&OWYvhOj#Yr0a&6pHmm`Bih&%Zdrm0H4rG)F7 z2e_u8Kdps77SFT}@vT=6V-M?y6Kh09=M?lDg6$i9pH;@7>l(aD?2Lsg!o8dNd0=z@ z(ShA9tHB+;^h*rEhL^lDFh0-?O(k@)h7X@aBtY zGksK9IVM&MD4g;DQ#VBYZlp#aj4c+e)Jl+?6hOiysDbR07wXEwth(-8POY1GsZ(h3 z0V<4(QR9zhgO2d4Z38^Gxu3)Kv3osVLHwA3?7FbwkI?166R)(viq8ZEZh3W}?q8*3 z#pwT&6u@a}ddlo;Z+{2klkLE+Y9KT;kp5^DAJmnESheWmQ`c*DHh!rN$Fvlx|n8Ca?9mt2_4B^*@*f|`+CBSP3ZGZmZ^*%oNSSR0H*PBAV zTUImdB^;J7F$k|cpPqcc)HI+gJTuIxtWR|oT92gVIg}Pzjgdlm)l+1H=~duPJ?|+_q@eb`-0E?AZ_X5zR9TYdLK?kPj%l z%^+8VmR=_f`3koz=AA1vLcX}Lb2F@4JpuU@STkpPubnp7)svou(|iH-7}qwYlp6E> z^_8pd5#?SUtOUo9E%~=T@(K^U*5Vma+A28t;JwvY5r44#RssqsslcwROAZL>KI9!Z zJwa6uU0#7TbIwsC(Wz=o2`tGKO5}&W*V78MtnD=gX9X$+&=A!;eQ|c=|I168z5kVk zlL#Sppr>p4!>3%lvWEzDv>sD}P!y-60=KLxd9Lp3g`MvV`}W6QIp|pRu*L6D;g;86 zR|Q_P<9`)rar2-0eUO#~rQ|L|{YQ{eG(^2O|5Tq0+OZJerq$bc@b&jREw#evSOXe` z-O-KPA8;A<3?NpRp~kr=I{{iHlP-8wy!LK~1MN(B+Jgd9*NCZWJo*|+v>dzAKjSDT zxazKP#7GabtnC$sD@x{y?8$H8{^1mDJ=Bk7%zv@07y+lZ52q_H$EtWpb81+!psp9a zd!W_Z$Iq~Qi!uh&JR4nc%qw^-t|0KK?N#TR__@P@KPecO4drsXXr3JJo=lJn`Gg|4 zO>?n_`ms9O!F9a1r?LzcvT!=Oku2TKIia@`_U(o4gPvudWxBR1E618K3pL8QBat!^ zHGj={v1^p*Z>1w2GFa-F8H>e!o9B|~fn`#=|x2>6f+zY(By zhiBAHLf@3JFip)V6~QH1o;UJAt#B5{uNm)-343+4a}$%yAg&2(p3Q>%8=u{tmV6j? zGS#1Ov=S$Hn@^#}8gxmpr*5afabW9P*?*I-HKw)!YyQb8D{cnYSm2{rn=XoFod!`mFn&ncmZ<_;Fk@((Z^g^c`+wzlsuj(_z< zkP|Z%Kr8tCjEO^-1^CQ|y}Ad3O8Cafv9#@FtVH~)XVl^yvbaHHkklrYL^ zqDvxJO|_^{z%hJQ;&tG6?=(zFm1L*!*S9yvzX58+xHnbR`xjIUNApWQq_+#|W0=aaaaCVM(~~Mz z2&XKDQ(848$Vb$2drSN~lYKn5iSYpmnTqyDQT#>Pdt3(&cfnAN^7j98WJa*S}^%04_WP09l4y#=TCZTGUMfxH}8n|Xp=Rgax!7f!T=T{&fsQCe>&^o3m8 zygR4{gSW(1zF%%^`~Qw>7)}u=JAu`600xhs@Cr8Bl@0m!)lU+#+Hs;+^5xo|AY09k zDZX-3*w{6{M1RS+!3ZBBWBkq;7`&G2=H{MvKL+_(h%Y*I$l2O-ty1crnNP8kd7wyc3;wr!}tYv#YE$Dv${5Ro`JIKpQ z%(v|&O@FJ4Eyb47m*SOOFx znlhgdgy%qh>MWV@Xt9MEiz%r9N3pDRmWCw?_1}Tn#TF+^v@6uFY^8tBHH|IB7A760 zwgQY`jaXKD`z4~}YLvPHA<*JE0iqL8|Di-y*niFO=UAu$&R7i|(?bD9W96o>WydZ8 zbs2D(C>9h`9Dz+*@gz!~v{lz1im{Z-1=CLf#$x6BO~$q_P>Ku0D`s&TIhMN}2i?F% z1+R+YMaMO3g9^+j7N)-f_+eT59HaQCxXjhKb42Och%|^&wF;>PN)fE1PAH)lg$*1L yR4s=R=>WA~;qGy@-l<*LX$$WL8Hh1e@c#j)9buG%0N>yM0000 Date: Thu, 4 Aug 2016 22:01:11 +0200 Subject: [PATCH 096/158] added missing DontUseNativeDialog flag in misc.cpp --- retroshare-gui/src/util/misc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/util/misc.cpp b/retroshare-gui/src/util/misc.cpp index 91cd83b2f..4623f30a3 100644 --- a/retroshare-gui/src/util/misc.cpp +++ b/retroshare-gui/src/util/misc.cpp @@ -326,7 +326,7 @@ bool misc::getOpenFileNames(QWidget *parent, RshareSettings::enumLastDir type { QString lastDir = Settings->getLastDir(type); - files = QFileDialog::getOpenFileNames(parent, caption, lastDir, filter, NULL, QFileDialog::DontResolveSymlinks | options); + files = QFileDialog::getOpenFileNames(parent, caption, lastDir, filter, NULL, QFileDialog::DontResolveSymlinks | QFileDialog::DontUseNativeDialog | options); if (files.isEmpty()) return false; From cd433e82fd7763d7eb76c9f03305a5d06b01a8d4 Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 4 Aug 2016 22:33:45 +0200 Subject: [PATCH 097/158] fixed bug causing uninitialised memory read in reputation changing --- libretroshare/src/services/p3idservice.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index 450e410f5..be8f8ba54 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -548,7 +548,7 @@ bool p3IdService::getIdDetails(const RsGxsId &id, RsIdentityDetails &details) // This step is needed, because p3GxsReputation does not know all identities, and might not have any data for // the ones in the contact list. So we change them on demand. - if((details.mFlags & RS_IDENTITY_FLAGS_IS_A_CONTACT) && rsReputations->nodeAutoPositiveOpinionForContacts()) + if(mContacts.find(id) != mContacts.end() && rsReputations->nodeAutoPositiveOpinionForContacts()) rsReputations->setOwnOpinion(id,RsReputations::OPINION_POSITIVE) ; details = data.details; From e2bb4778995b5a145edec8714d45f70328fd9dd3 Mon Sep 17 00:00:00 2001 From: defnax Date: Fri, 5 Aug 2016 01:00:53 +0200 Subject: [PATCH 098/158] Added new blue icon set for Chat Widget (icons by Beluga) svg ad png Format --- .../src/gui/chat/ChatLobbyDialog.cpp | 16 +- retroshare-gui/src/gui/chat/ChatWidget.cpp | 5 +- retroshare-gui/src/gui/chat/ChatWidget.ui | 259 +++++++----------- retroshare-gui/src/gui/icons.qrc | 10 + .../src/gui/icons/png/attach-image.png | Bin 0 -> 4240 bytes retroshare-gui/src/gui/icons/png/attach.png | Bin 0 -> 6579 bytes .../src/gui/icons/png/chat-bubble.png | Bin 0 -> 5269 bytes .../src/gui/icons/png/empty-circle.png | Bin 0 -> 2955 bytes retroshare-gui/src/gui/icons/png/font.png | Bin 0 -> 5524 bytes .../src/gui/icons/png/fullscreen_arrows.png | Bin 0 -> 5456 bytes .../src/gui/icons/png/highlight.png | Bin 0 -> 5699 bytes retroshare-gui/src/gui/icons/png/invite.png | Bin 0 -> 5218 bytes retroshare-gui/src/gui/icons/png/leave.png | Bin 0 -> 3736 bytes .../src/gui/icons/png/microphone.png | Bin 0 -> 4856 bytes .../src/gui/icons/png/microphone_mute.png | Bin 0 -> 5495 bytes retroshare-gui/src/gui/icons/png/phone.png | Bin 0 -> 4975 bytes .../src/gui/icons/png/phone_hangup.png | Bin 0 -> 4376 bytes retroshare-gui/src/gui/icons/png/search.png | Bin 0 -> 5990 bytes .../src/gui/icons/png/send-message.png | Bin 0 -> 5407 bytes retroshare-gui/src/gui/icons/png/settings.png | Bin 0 -> 5189 bytes retroshare-gui/src/gui/icons/png/smiley.png | Bin 0 -> 6769 bytes retroshare-gui/src/gui/icons/png/speaker.png | Bin 0 -> 6583 bytes .../src/gui/icons/png/speaker_mute.png | Bin 0 -> 7174 bytes retroshare-gui/src/gui/icons/png/video.png | Bin 0 -> 4561 bytes .../src/gui/icons/svg/attach-image.svg | 78 ++++++ retroshare-gui/src/gui/icons/svg/attach.svg | 61 +++++ .../src/gui/icons/svg/chat-bubble.svg | 108 ++++++++ .../src/gui/icons/svg/empty-circle.svg | 50 ++++ retroshare-gui/src/gui/icons/svg/font.svg | 70 +++++ .../src/gui/icons/svg/fullscreen_arrows.svg | 177 ++++++++++++ .../src/gui/icons/svg/highlight.svg | 81 ++++++ retroshare-gui/src/gui/icons/svg/invite.svg | 74 +++++ retroshare-gui/src/gui/icons/svg/leave.svg | 59 ++++ .../src/gui/icons/svg/microphone.svg | 148 ++++++++++ .../src/gui/icons/svg/microphone_mute.svg | 164 +++++++++++ retroshare-gui/src/gui/icons/svg/phone.svg | 82 ++++++ .../src/gui/icons/svg/phone_hangup.svg | 83 ++++++ retroshare-gui/src/gui/icons/svg/search.svg | 78 ++++++ .../src/gui/icons/svg/send-message.svg | 67 +++++ retroshare-gui/src/gui/icons/svg/settings.svg | 80 ++++++ retroshare-gui/src/gui/icons/svg/smiley.svg | 102 +++++++ retroshare-gui/src/gui/icons/svg/speaker.svg | 144 ++++++++++ .../src/gui/icons/svg/speaker_mute.svg | 159 +++++++++++ retroshare-gui/src/gui/icons/svg/video.svg | 86 ++++++ .../src/gui/qss/stylesheet/Standard.qss | 2 +- 45 files changed, 2069 insertions(+), 174 deletions(-) create mode 100644 retroshare-gui/src/gui/icons/png/attach-image.png create mode 100644 retroshare-gui/src/gui/icons/png/attach.png create mode 100644 retroshare-gui/src/gui/icons/png/chat-bubble.png create mode 100644 retroshare-gui/src/gui/icons/png/empty-circle.png create mode 100644 retroshare-gui/src/gui/icons/png/font.png create mode 100644 retroshare-gui/src/gui/icons/png/fullscreen_arrows.png create mode 100644 retroshare-gui/src/gui/icons/png/highlight.png create mode 100644 retroshare-gui/src/gui/icons/png/invite.png create mode 100644 retroshare-gui/src/gui/icons/png/leave.png create mode 100644 retroshare-gui/src/gui/icons/png/microphone.png create mode 100644 retroshare-gui/src/gui/icons/png/microphone_mute.png create mode 100644 retroshare-gui/src/gui/icons/png/phone.png create mode 100644 retroshare-gui/src/gui/icons/png/phone_hangup.png create mode 100644 retroshare-gui/src/gui/icons/png/search.png create mode 100644 retroshare-gui/src/gui/icons/png/send-message.png create mode 100644 retroshare-gui/src/gui/icons/png/settings.png create mode 100644 retroshare-gui/src/gui/icons/png/smiley.png create mode 100644 retroshare-gui/src/gui/icons/png/speaker.png create mode 100644 retroshare-gui/src/gui/icons/png/speaker_mute.png create mode 100644 retroshare-gui/src/gui/icons/png/video.png create mode 100644 retroshare-gui/src/gui/icons/svg/attach-image.svg create mode 100644 retroshare-gui/src/gui/icons/svg/attach.svg create mode 100644 retroshare-gui/src/gui/icons/svg/chat-bubble.svg create mode 100644 retroshare-gui/src/gui/icons/svg/empty-circle.svg create mode 100644 retroshare-gui/src/gui/icons/svg/font.svg create mode 100644 retroshare-gui/src/gui/icons/svg/fullscreen_arrows.svg create mode 100644 retroshare-gui/src/gui/icons/svg/highlight.svg create mode 100644 retroshare-gui/src/gui/icons/svg/invite.svg create mode 100644 retroshare-gui/src/gui/icons/svg/leave.svg create mode 100644 retroshare-gui/src/gui/icons/svg/microphone.svg create mode 100644 retroshare-gui/src/gui/icons/svg/microphone_mute.svg create mode 100644 retroshare-gui/src/gui/icons/svg/phone.svg create mode 100644 retroshare-gui/src/gui/icons/svg/phone_hangup.svg create mode 100644 retroshare-gui/src/gui/icons/svg/search.svg create mode 100644 retroshare-gui/src/gui/icons/svg/send-message.svg create mode 100644 retroshare-gui/src/gui/icons/svg/settings.svg create mode 100644 retroshare-gui/src/gui/icons/svg/smiley.svg create mode 100644 retroshare-gui/src/gui/icons/svg/speaker.svg create mode 100644 retroshare-gui/src/gui/icons/svg/speaker_mute.svg create mode 100644 retroshare-gui/src/gui/icons/svg/video.svg diff --git a/retroshare-gui/src/gui/chat/ChatLobbyDialog.cpp b/retroshare-gui/src/gui/chat/ChatLobbyDialog.cpp index aeb748db8..bd9a5f3d5 100644 --- a/retroshare-gui/src/gui/chat/ChatLobbyDialog.cpp +++ b/retroshare-gui/src/gui/chat/ChatLobbyDialog.cpp @@ -112,8 +112,8 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::Wi // Add a button to invite friends. // inviteFriendsButton = new QToolButton ; - inviteFriendsButton->setMinimumSize(QSize(2*S,2*S)) ; - inviteFriendsButton->setMaximumSize(QSize(2*S,2*S)) ; + inviteFriendsButton->setMinimumSize(QSize(2.4*S,2.4*S)) ; + inviteFriendsButton->setMaximumSize(QSize(2.4*S,2.4*S)) ; inviteFriendsButton->setText(QString()) ; inviteFriendsButton->setAutoRaise(true) ; inviteFriendsButton->setToolTip(tr("Invite friends to this lobby")); @@ -123,9 +123,9 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::Wi { QIcon icon ; - icon.addPixmap(QPixmap(":/images/user/add_user24.png")) ; + icon.addPixmap(QPixmap(":/icons/png/invite.png")) ; inviteFriendsButton->setIcon(icon) ; - inviteFriendsButton->setIconSize(QSize(2*S,2*S)) ; + inviteFriendsButton->setIconSize(QSize(2.4*S,2.4*S)) ; } connect(inviteFriendsButton, SIGNAL(clicked()), this , SLOT(inviteFriends())); @@ -156,17 +156,17 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::Wi connect(ownIdChooser,SIGNAL(currentIndexChanged(int)),this,SLOT(changeNickname())) ; unsubscribeButton = new QToolButton ; - unsubscribeButton->setMinimumSize(QSize(2*S,2*S)) ; - unsubscribeButton->setMaximumSize(QSize(2*S,2*S)) ; + unsubscribeButton->setMinimumSize(QSize(2.4*S,2.4*S)) ; + unsubscribeButton->setMaximumSize(QSize(2.4*S,2.4*S)) ; unsubscribeButton->setText(QString()) ; unsubscribeButton->setAutoRaise(true) ; unsubscribeButton->setToolTip(tr("Leave this lobby (Unsubscribe)")); { QIcon icon ; - icon.addPixmap(QPixmap(":/images/door_in.png")) ; + icon.addPixmap(QPixmap(":/icons/png/leave.png")) ; unsubscribeButton->setIcon(icon) ; - unsubscribeButton->setIconSize(QSize(2*S,2*S)) ; + unsubscribeButton->setIconSize(QSize(2.4*S,2.4*S)) ; } /* Initialize splitter */ diff --git a/retroshare-gui/src/gui/chat/ChatWidget.cpp b/retroshare-gui/src/gui/chat/ChatWidget.cpp index 985907f7f..0e120b809 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.cpp +++ b/retroshare-gui/src/gui/chat/ChatWidget.cpp @@ -62,7 +62,7 @@ #include -#define FMM 2//fontMetricsMultiplicator +#define FMM 2.8//fontMetricsMultiplicator /***** * #define CHAT_DEBUG 1 @@ -109,7 +109,8 @@ ChatWidget::ChatWidget(QWidget *parent) : ui->searchButton->setFixedSize(buttonSize); ui->searchButton->setIconSize(iconSize); ui->sendButton->setFixedHeight(iconHeight); - + ui->sendButton->setIconSize(iconSize); + //Initialize search iCharToStartSearch=Settings->getChatSearchCharToStartSearch(); bFindCaseSensitively=Settings->getChatSearchCaseSensitively(); diff --git a/retroshare-gui/src/gui/chat/ChatWidget.ui b/retroshare-gui/src/gui/chat/ChatWidget.ui index 87a3d442b..e0c2f843f 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.ui +++ b/retroshare-gui/src/gui/chat/ChatWidget.ui @@ -346,69 +346,22 @@ border-image: url(:/images/closepressed.png) 0 - - - 28 - 28 - - - - - 28 - 28 - - Qt::NoFocus - - - :/emojione/1F603.png:/emojione/1F603.png - - - - 24 - 24 - - - - true - - - - - - - - 32 - 28 - - - - - 32 - 28 - - - - Qt::TabFocus - - Set text font & color + Insert emoticon - - :/images/textedit/format-text-color.png:/images/textedit/format-text-color.png + + :/icons/png/smiley.png:/icons/png/smiley.png - 24 - 24 + 28 + 28 - - QToolButton::InstantPopup - true @@ -416,18 +369,6 @@ border-image: url(:/images/closepressed.png) - - - 28 - 28 - - - - - 28 - 28 - - Qt::NoFocus @@ -435,13 +376,13 @@ border-image: url(:/images/closepressed.png) Attach a Picture - - :/images/add_image24.png:/images/add_image24.png + + :/icons/png/attach-image.png:/icons/png/attach-image.png - 24 - 24 + 28 + 28 @@ -451,12 +392,6 @@ border-image: url(:/images/closepressed.png) - - - 28 - 28 - - Qt::NoFocus @@ -464,13 +399,13 @@ border-image: url(:/images/closepressed.png) Attach a File - - :/images/attach.png:/images/attach.png + + :/icons/png/attach.png:/icons/png/attach.png - 24 - 24 + 28 + 28 @@ -479,30 +414,21 @@ border-image: url(:/images/closepressed.png) - - - - 28 - 28 - - - - - 28 - 28 - - + - Qt::NoFocus + Qt::TabFocus + + + Set text font & color - - :/images/configure.png:/images/configure.png + + :/icons/png/font.png:/icons/png/font.png - 24 - 24 + 28 + 28 @@ -514,43 +440,30 @@ border-image: url(:/images/closepressed.png) - - - QFrame::NoFrame + + + Qt::NoFocus - - QFrame::Plain + + + :/icons/png/settings.png:/icons/png/settings.png + + + + 28 + 28 + + + + QToolButton::InstantPopup + + + true - - - 2 - - - 2 - - - 2 - - - 2 - - - - - 28 - 28 - - - - - 28 - 28 - - Qt::NoFocus @@ -560,8 +473,8 @@ border-image: url(:/images/closepressed.png) - 24 - 24 + 28 + 28 @@ -577,29 +490,17 @@ border-image: url(:/images/closepressed.png) 0 - - - 28 - 28 - - - - - 28 - 28 - - Qt::NoFocus - - :/images/highlight.png:/images/highlight.png + + :/icons/png/highlight.png:/icons/png/highlight.png - 24 - 24 + 28 + 28 @@ -673,18 +574,6 @@ border-image: url(:/images/closepressed.png) 0 - - - 28 - 28 - - - - - 28 - 28 - - Qt::NoFocus @@ -692,13 +581,13 @@ border-image: url(:/images/closepressed.png) Qt::CustomContextMenu - - :/images/find.png:/images/find.png + + :/icons/png/search.png:/icons/png/search.png - 24 - 24 + 28 + 28 @@ -709,6 +598,30 @@ border-image: url(:/images/closepressed.png) + + + + QFrame::NoFrame + + + QFrame::Plain + + + + 2 + + + 2 + + + 2 + + + 2 + + + + @@ -723,10 +636,29 @@ border-image: url(:/images/closepressed.png) - - + + + + 0 + 0 + + + Send + + + :/icons/png/send-message.png:/icons/png/send-message.png + + + + 28 + 28 + + + + true + @@ -1096,6 +1028,7 @@ border-image: url(:/images/closepressed.png) + diff --git a/retroshare-gui/src/gui/icons.qrc b/retroshare-gui/src/gui/icons.qrc index fe073ca1b..693d638c9 100644 --- a/retroshare-gui/src/gui/icons.qrc +++ b/retroshare-gui/src/gui/icons.qrc @@ -75,5 +75,15 @@ icons/yahoo.png icons/yandex.png icons/yellow_biohazard64.png + icons/png/attach.png + icons/png/attach-image.png + icons/png/highlight.png + icons/png/invite.png + icons/png/leave.png + icons/png/search.png + icons/png/send-message.png + icons/png/settings.png + icons/png/smiley.png + icons/png/font.png diff --git a/retroshare-gui/src/gui/icons/png/attach-image.png b/retroshare-gui/src/gui/icons/png/attach-image.png new file mode 100644 index 0000000000000000000000000000000000000000..7c07cf8fa9f1194397d53ce7acba302faf5c4e31 GIT binary patch literal 4240 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 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/attach.png b/retroshare-gui/src/gui/icons/png/attach.png new file mode 100644 index 0000000000000000000000000000000000000000..abf7b6478671e85f033702cddee92d3ce73e02d4 GIT binary patch literal 6579 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 bh!p-G$q2$J=VMXF00000NkvXXu0mjf7*saD literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/empty-circle.png b/retroshare-gui/src/gui/icons/png/empty-circle.png new file mode 100644 index 0000000000000000000000000000000000000000..2ee13c272a5cf60e04ba676ea1f94c229ec14c73 GIT binary patch literal 2955 zcmV;63v~2}P)K~#90?cHr~RMj2F@$diKOMqC#mijP06{-}o3*u9?6?|Ys zi}gk63$y4(L4UQ=kLbuCPU53$RIq_v4tgV&olbqE$>E--?L3`HK~YxDGIA z53D{i2%?E1OjP(XFb+7dNWFaw(k!CO6_#2FmNMh`4MplJ73Eg|3tESTw(T603xKH# zUve2oU^VD7D2t-)Lto(9F*{u5$ya$4KvS+N*czV?=3?L*2nV^2)Q4@LPavkr+O}t@ zKXs?;K>aE00(h`xOc*jlRj&dLa~&s78wC~`Wp2mJY|eFy*>ivB+_ zXk2-z#r(|={=f;0x5DyZ-pVUe=&MMYGzhol?pEZwqV-V$1n!B}XKtcF;v%(Q1WmcB zU>m;zE-p&@mFICAR$s>S(c6=5IQas&Klhnni2MQ3^Am5ok}1#I>Z)mcd(1~kHk)h# zG&Ub*Fi#7doM^jVm)C6+eVthoHYL?yas}|fs!>50{~0(gu{OQEh_EKwY0hU>&DuoT zOQI1TT60KfJ6=*4n@D?Jf8MqslbD|UaIg&x{>Q*a)*NJP$09%YsXEp~vX}+`IC!uP z4Xyy1a#cZl$M5|$KYfCp5bUgajQiFM9ZWlg7eIrWU>lDB=M5%+HwePyU|7eaG-*(1 z69pGQcx3J#;G#m0_YxvZ3%BNeRQTZq2(nv-uq3IiaFvax}B%#ewWRu)&Lxqen)dTt-M*nAk#^#y;^9GRD&4uS&n-$4Wn|XI% zJN0`82r&2J2frLu2da1Xx6?k)0G&_lJe^!7FKr@BiE6XY_4R(=X8=_}m|c`qUTRe3 z_I^tR#z^3tX%xAyg3uLTg!ZJDyaKB8Tb zM9&{GcV(|<^Ii);MQs1!Im*WpsRa*&nstY<9H19u%LBVu(NGr2~Wc4C1a}{!C_pS?SO7)fY7#`;|ISY z92{TE1WP@nn0 z00g0(mZ&Rv6!_+h+AC;@!T+?t;UAh;yQ@uMr7igpejLQ%U1tnaK+hXYcroUh$tc} zU8nI=bPu`U0@cMIJ9zTcd+` zsq4k=Gr+ZDc7W!+_N-TCl*hW}2!x(9g^FoPJ&>0w3F3v_U++->cHPFszz3-&^3wES z6zzDv`-VNw01cBP5qUV(NM33L=J#Apbg$>|^!NeXkwdm|F&%mUtj9P0MX<=5$1Qy|Lft)4`&C_0V!B@cq69ANnbPXy&-Z z;8zbXV+*6Y?2>)$(C_>JR`@Rd3F30}v5mrhSAgw*f{5DeTcY~&L?U^qQKf-dW7qe$ z-+*Qai9Q+80K7HWP+mF|aJp0j&2vI$A3gz4q^kddVc2LmjTZa6xC&y zh;U!wxx6$8+!@tnU+RC)UGkbFDr&2`S(P{PkL9K0)hKRn$mf8(R|&70o6A~Z8E`

z%syGju?0^Q8LiLU1T5@#N3XaqTNR~OPKOdUtWreYcwCDBbZA(0n zy73za+fXu-Mc0qr97SfTh+luO*hE-kMb1rP@FA%J0GL&?HX35S3cQ+Fn_dsHBH9^E zqBiqxQY|JsUHp|bTWkmC;cpC!VTm0+7%zN-EwgjjJP=4Vb^6Z7uBEQKQSB(73Ifvea%J17oP_CN?y?m0D#6fjtV6FEy|=+`YV60*~nbNteUmO?kJr#gX$)%v+FiZ z7MKkb{Haw1P=Whw+&(Fd!H2ZY0NsRhSDhV8e7`_8?Y>KyLbHKu^7%4H5>j6^ESg#K zV!VFSiK=oP@NwGxm!LL*+3^TYO?&Xc!5Lr=^WQuou=Y-bE1c$VMxL^*_sV* z3!qatFL$mgKLpNnoh2o&3jCnIhc?ns5(UsDoY!)es@?*8&2^R{c@1QCv46D7M@bbx zmm%|4PKd4Ch;SJYxXv?33OtACeYSSopInFOsU!>F{~l^S+C*}hhgKW5uHlRR24EV<0#||EJ9^bbg=%l`y`Czp!^D;rv; z@i7nqZHjCW)h!s^C@SyANUITTjgVDIei5To{0}8ST>}IUAfo^P002ovPDHLkV1nfK BgdzX{ literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/font.png b/retroshare-gui/src/gui/icons/png/font.png new file mode 100644 index 0000000000000000000000000000000000000000..3c71acc5f8a8a5c5a53338244285eb03a86eeefe GIT binary patch literal 5524 zcmV;F6>I8=P)yCkIhlHV_jZ4`zxwX|?srRgzoC?HU+om#lxl@G zMbnt96qA6_3MvFDfDjM_qTP430&$>2!C`^Jz(EoABogcvO?FzExsAoMb|Ip2^TE79 za;-qt-1F9WT{q{7Fjv9HfSEvvN77nAYDLs01sg5VH*)=l8a$Ha3&YO7SxX=E&%OH;4=uNxmL-6CQy$d z+6K#Ndx~Xebmdy1!N_j|xVLV)VQ{@t>PtXXuGLAC0|M(c#j5zynpm!taUw4bz*rfZ zr!=`0)Wzhfj%l(HQFmI`*F2tYlgRw}a+MN&^|niusP74!o@;fyK*1J)+pQa_f0r+Y zkQWA^uZmrSumbpKu66MT*(@sYU32NoCv&bzPNlDX^Hklk?n1aYr+Va$r*)C9$8V_K znkxlzV*o2RM+`l@LMd(rjGX9@KXi#wKQWJ&E$15(+x-^qy8#%h>dsf9RsvJ~mYwIk zEwId7QuBR$lOH@U+L1+2Cb?O$iv8Et+D^u+*zt7}g)(S9jV zybgM!44B(z^lXWBU zC*Wk)+ANTQ2s_L!?E-F`vD=mQ+-QWK?-*@Z@fQ@F>PmYB2IC#eU>=KW_GjBr_HN(< zJ4!Vx{zRekePx~Y%P45am%H2DPvS}xC16Zy! zy@>~aPi3P(fh-W_>!J8VY*2cpO=N5U#`xG>z!jO^U%(}VOO0c(|H%CI4A9rau0ru( zra}w2jsiYwEvb1d-5b+3fZ*!d(=4>V0g-g?E#N7KEj{sJuA8+dotx5o1l+ePWTHJl zq4V>R3O%7c%*xGybZ$z^0Q9c59}3J$PcL^FA2qo1%qo6y-gy4;B(F9A4O0|n8hT_! zI=2k@5zw8<^He(bxJ_w5Z4#t24Lvn6~MHt)N+AqPe~1YO)UxX z@v(&|NpF-;t!a@VDtH7dRV$Qi5=s>ndfy#gmE|9U3^?ea$J(2J%5hDY<>1^Nt3f zuikbk$%-2}XDHA3bH_%RS`zd@o8g8!$52Jia|OJGu}Pa6}AEyRQGi zzTec!%>gBHjc+OqfRpe4^v*{1G`B-2!n!x=Q_dG+0?sJ7uKyZA9|O?!&_ZC0uUa|a zY|OezjgY-kh*wD}ZPfR#TkXBOUB$N_Am<a! zlbsI`DW&e<-`Uh~jE{}$J7Qcjy_^+W4&in!wp(Y9;+E4Y7+I8YCN_IoyLfDO3-|A6 z;?+jq%L0`f$K(?xJPo}c0m<6Cd4b(CeEX4BUamiyG=Ls79fD!o$>8LYfa@`V%chj_ z?;oqos`CLRMg#nF%}8FpbP9j^^humCI_#2$Lqybj3w$RGK=Q)?2J-z?AP7dkXL~rx zLt7i@FjMO%xE&LiKQ=n}Md`LVF3QGBrf|ocDs;b`?_NLlqygOX)_A3u?vwZd8OZl1 zY?A~UD&}aX$?vxxNIB(pOkhW|H-*4;fp4Bx!TJRg2^-#9ffA}&SvMBC=K#84>I9 z5E#_=uN<9vlL&;0S@%XgS5%MfbE+pM;8xP;n!3YWJSM<`$rbM%YiQ|U=g~IyG{3vo~DKQ}67jp{0XyC4C8TLc*cdtTs^&v;81*jC&DGvH6CYEL+WsU&Gd42R<{Bn7*Ulp z#$YHpDwT{(9;+A!qb5M*B&eF4{8u?C8MGQX7D`7YKZkZ=QrgyKan+-*vFliBQP4%x zO1)l@D`V}pNt%wD;jNsZVK@BS`u=9hBSp-FXn@%j_G$2Lp(j+erj$(aRLT&TIkL$1 z!#eu@PK1kniwR^!FqAZ+vgAbY(Kq+gX{G9Xy2l2fL?&yRFzDt1uUUM`h?HXk`uO0Xy=4nxMn>uf#>&S{zjHDVS}~j zj^n}!Igg)ZOOZy748Y0v_k(Nt{{n%<;ZI5<7EZ08YODPhQ%|Bir`5D(g3I?&sRs6SB$^2x`Lp z=Z$w9H6E_p#}78X%^L?Yf0@VS)njvF02OrgomPU&9)6XF z>ug3W5zqta>6wG=m`ZWj5Twx$hqH$P*Zm`<$@O(Nu}ta??a6rWz?D4&eOPo98Zh|s8kY8?Dh_sDwPKV5VqtGxpkPfFFPzPW>+ytFg< zhY?67gN&%^PWZ@f&w$Sy);CByD&|N>`gsBsMLMHwvXuX_`*8BPT|Rp7RJA-NA=++D zNbK@Mn5*ml>C&@zz-BTyP@cdDhb>_BE$zu1KgqKMlQhvp?b0km)%hXJ^>zPr2^aI! z&O_`wo|<^!lqcY{PSvFahwZT68&gZfG#1a=g~D?u*7bG&bP0wq#YjGG`r#B4XpY;z zuX)UfJj^UgpC%U1tk)1xh-~#z(ty7IP;&m=A{=Gi>#1*4af%5XY>(5{m70`sde!^D z0EAjZlm;N8HhC#4>zseLh?G*-c%02c+&hpkEneN%lydDQQ}ZapI73A7GIZ|_RkK@Y+O8-$>sLCSEC*MZ`#iKnn0-=AUP|-HHCFja%rTO9e zJJB5zu&XDqXj)mywde*1T01%G=P&a7yN7*J(tSivtndAI9|N%J4?GFDl9X3np6dF& zb-0z6{Pz8w7$7Dvtu)woVkeT^+YdCh#kuI0ukf?Y?_#Bs^_c;28&@?;_M2wsv%L@W z9RZflH$`Nf8 z%I7`FW9;Ft4XIJcY!Fz>vNQU8*p!(^;*y(oYw#7aOj4`ee~c=)Cazji9bEA{-!OWH+HpD8-uB_Hf6hdQ_2XuClUpYcY@AbF}wC+fLS3$Nm@ibXMY8 zjzDV@#X$pIlCysxSvM!2(x#dkp}hrNgwfF;`;T`fhy1F^&i8b*Len9f693DJ3@Rd- zk8+1v3 zzXzq9C#s=n@-cS&2y~?GF>LBIPZ)eQxcFTO{Lof}-9d9n%`*zNWF;|NlKKTk^Kca{ z5K47PBc+3TDMkRwtDs_R(jeT<>J@P>R4%-1E~$CJ?v&#uH-X!M-)1bdCtJ3yCHZTL zl;qE|zds`?p|u&zc+wamX?*d45R`|KpE2G6U7cW=pt30LpczRW43}QnJiyyS2Q+hi zb?jwejyqZu$Pt^Y8>-Jl#CF0m;J76!Ki(c%Aaex%)v5Dg5Cbrm&U_O1gX>xq@Qd~4 zlA31*x?s?mizR%O=Ve|MyU?9h&p{jfw37%kXm>ae+)pXmDfyn7doqZQ1W?C z+W){Ik6K3f3oM?J`YN<6@utw-l{ImzzUB*})PGWl7-oYK#Sg5#Gp_KW^TCG_)yAs2 z^OdLvfZXuJ-T9D<_muQz?VICt%en*Mi#gRJXUOAL zLVcNKHNL&GAw`2+3GR)tCbmE+z7Kpn*Sh$`O9KBk*rp9X$O{AL!B|uG38mC`fD3c2 zi$}Zya+}w#T{`5I0rU`9yLEQLl3Nh2!lsJJFhc=`2Kd+sr znR1ng+yqR@wK{3CPej(4mbIE?v)p|hs*B{e0rar^S;Lr6dA@?rp|}*t!%7nX90h(W zO072=4*i+s^Ia$t;w{6&0D7|_7BrgVTtqD-!9pce=TaR7F%6zT$rEO|dcJoN#^J#5 zGl2fw7aOB@skwqSSBaVf%*4fVxBX~BsFj3lQewSm!A7?dGjhf7Hvl{C**00%6EhSt zMH4ky!6X!wN~A(i6+nb!d7PeFFfD)yv?=7UD0LW39S|jZ638x1)Gia*=4K*BzVQDF W3>7(j;V)hQ0000epKkqqblFTHTv?OiQOVS%%XwnN5EGSSY zg#yd7P<*znpr}AETU|j!K#^sGJSr+wWS=hdMpt1Ks-OZ2tx$BK(mU34($-SaCcW77 zLekumbIx!7m`R#@GBf9#N$7l@Cr{>f-rsxX{hr_a&ilIwpEQ&b))bG`O({@lV>OL2 zN|6r?QIIW=4Wt1nKzih;TA&GNP;gSew6&I1 zx1PlpHz(Sm-ss-~c(!DMVQ`mH>dU~eM7t9u#{^!|6f2q*6^0V+On3B40T|0emn%&k z1a%|*)W;~>q&$g6Y59ecuN<#w`oDau0%PI z7y&Hb7BF=GV@h#1U?jwc{zJ1U^%JuutB7yp)q7pI=K?TRlw6}kEeFPVU3Nd`LxIKS z!om$+7V4b<)|93hR(+9D>V81;tlWWx0#;gf{k<%{xXz0LJrO|4%Hk;|+AjnOy(n*> zqoCMO-0DUC!1XIpU%Bg63+*q-;P)MY$(FEHU$yH?9+c%0Yn5(Pg`QBz*Ig^)EI{B% z^Kiif6p8JUeHU08O3|x$9+>Bf{j-nXSVrJB?ikzPv|;B3uq>3J`{ZRr&34@O*^J^H zE08jWFHAV?q*-SLu(EiVhV}=6X^z@W(!zGjH2;|;Q!AV@=$rta**!)#>^}nMI%YFT zCq&q1Hfyt4GVy>T_M9-nbNhxER@1u*&U3_GlHS;F8C=dCh5v}xQ2e)nFYF6yR@0lw z;Csq=&6IVl`Cw4IhT;>z+E9vK-}LL`Z@%{kYKq>R@(NGyOO3})>;foKnqI{Vz_sx> zkR%R-nR;5&i>y_8tR`X>fH5-kBrrGD0!Ud|JjFtL9|%NyY!X*FY3cTb+&Q^CnuDSfz?#xD&8*uZFgdE@x+wJ8 zQ5j4h;-{wB=1^@jWwp(e*EDmq&Wy)&zeX1r5%7_p>0?ZWkKq9WpC+t7RLk}g4vYm6 zHd|Kx710bwk7_iI-dy)%B>v#9xoRX|I5(@y_ZuxmSxqzLwat{(g#QjyH@Ci4UeipI z-7m&dcEWE6V>437%kYt(;cNXrCh~Y>z`)QtUvuBR7#`ewjHSgV<8wf9iJ=D`GvQl( zJ*3YyKx8D(`e=^niYtew^Y)FSV?JI1N9)X1ag^1BMX|T4k&Vads5jje$KX_*D{=#j z&Ga!kBZd4n!5)$pb7Pz)TQTOB`>3doy9QLEw3+6jiGS|Phx=9oEZ-JTqMpTp%;B`0 zw78BJU_`)RM8M$Eq5gL7)tWZ*-a5p(Lp5=g(H-|pI)@)lAJ*kn94{%FFllfq8{!v$ zfc@Vr-*!P?ehT_@8))eM$AIzidInJ2(By=fE=e~uZW`^@yik}oF3XkRw@_zVj@VH` zfu;reG!CP80jw;Zs1#p|+p7p=mF`@f0F9Q-s?c%Q>@V9Hcj~=I%0I4k%$A^vSXI*N zZ*8vv(9xCxK1aL)%4*!1FWF?--1_nkJ~-%JkbbdaKllG}w=1@rESsb8SO0AZ=t@1& z+lP7-fW9Jh18}`#E&*k=&Qx=4X|ilS_wo*2-B$tWE>0Xy&*CSWKXOF`hfX(OYmQHm z_*Y|9XjV@j=w1Ly3BsdJdsJgzQ`&~qL zC?((R>HTg6ps(CLhwzFU&Y~OPlXZYj!B2_r4x>-_GhGouS+!g1N~q5mD??Xw_incW zP@*1j#UBw4IwXMC_f>cs{1zf2Shno|q2tw#m^|p306-~uxV!hd6o9d!0Va{1n;hB{`iFQjO~i?c>?)40Ko**xf`000|#sH@jI3*gz33BYx3I^*=oJ~%ap zA6??j3Nk)T_~ooojwhVTYhCUH6K-aCai?TnCjl6my#SZz47!mE_{QXH*G1rqT=_RU z9DD_o*Sp@qC5EQm+405p0$9Gyr$oN!wkK}n0>E7nxD|YWirPl%mHQK>72L`4ZS9hJ z?Ml`4wCjOfw;egwsAw=2;2-lxR(Ryf?PxQw@VDQmz@$%=JF}sp!~FZi(!0Y zayARkcdmi9^wM0{f)7x3x&g$Sr5Y5>Z~Od=0M?YIp}5HtFEpL<(~i$`Y{w(hhB#s; z*KhD|1f9o-A>~;>I6QWu>_|6DGycNK~E(FlNS1*gD zn?8z31dW!>zrV2yRQv*{X>8`+btN(RF!xv6`NRI>z4js=bUO#okv125SOCxL9jO!( zy!2sjReJ$6SvK>2-KJwF^Bl;^VdH)Czcmv1l!Xjue z!@+<3!wwxgkxrMVHkbBE1T7+Zeg6p<>`;1G1hPl+(=DZa5%oUEgWvXC zG=snFKg{OCl~mL<^2ne5PNgr?v)jNH1nsc>+Ol;9fO4bXzc-8&-v37h?;qM7KKY)y zbp7Fb@TWGH0`SDO1?}E;HTbRm`XFZ%Kiv}c;mO&ZedsaxEd;{nvVQ+@*6%+K{tQU- ze%VANYC3>UkaBgpSuRWmu4`G#}fJRB`JoJ9ww8 z(!Jofpy{nO!LEvGCP#eO9`Rwr!Bag4zwNoC`osS-277+>N61pIF8iUdDs--{*p~{;g-JP*x+eT&}~&PdgD7=CvuzF}+L0uQ!4~a+CfKEk zb|gt+&_tDLmZ74b_tXzKCspUu!vYNTJHEJLpBaBhiJsG6D`5|k2sWl5!% zGlS#h{wdiMT{M(bU9c29@wXHF$F>T*+D0JLr?LEs5zHGG{>n}^S}b|*D6f<{x~r?( zR9OoO25X2YM0O?Go4)ec#Y6eQ^kJk%rhe-ZUL@-It486#Z17%5H#B}bJFhkP0NJTJ zFJ3*0FHVSi8$a(5iV+DfOe3PUCc=lCMrX2R&Nv>va7dqm_t?cl`St}lUA{Mee2|~J zEP`}H-Ur}s30RWnBPNdy@_jb|<&&b$9IhAHPHW*&hkHbZ1`sDh1&aAN7D zxlGGRqv)a`yfAZAk8APw6#N$46hXS7@!ECyT?W5}zK9^`(^z-IXcnG7m`@K2IJS~W zv?wJTAtC@vbk7AaHq*zL%rg@y=8g;U+>8-j2Cpx{Z@~=_v;=>~@ZJYc^(2CzPvean zMsrD0dF8|CUV?Mpp!kL=RyH)VzbgLa*Zz9!GC!o0%P zQDE(VBt={6l^=PTacz6wBM)uZ!}BG_oLMixm%;;Y?cv$&2jjQZ4fz?~wE;x8Uuyfj zodB#u$JPNyU3UT)<&pp%+OUToz5h{o%>XCRbW|{huf4I$H4%(<@nYz}KTNanowhHu zuK|i?nj-RZx4jr1Fi6#%??7n{{@~p3q76>r&p>6lCxZN-Hv$k?-ElY3PEjyXs{mKK zRq|YD^|lMX8_Tr#GhGwGkU$Cn_j?qTsawx=e6e$>3kp93cXI+xw|eheU*c}?TZo9@ z?l(iM`D@SX|3*t*!1Z>(>)bizqmD0jDLa8D-Si~i!NkXX>r43Q)&rhy8)pZzS^WEA zM@5kD@~xo2kGp!kO97Y*3pXg(;g&N_wR(3RJI%7~2NSYwoE^;O{yw;g{HLm6Y zgw5u{!gsrRtJ@zQfgX39jEDRTXL0~jhXr|l?xh%M-Dla{A{fl#_h0x7L(-i&7gy84 zJ?tLZtpKcrg}(!~xZ#hJNuass4sPu`@QT*ler|?iHhasA#=%x=!NhLcbUijbMY*$k zXkO6S>bh+QlH2swu@fu#E@egqzJ*A)cXd4qz+5zG9q@ zxTyiRf)9}IPBQ2vb7A3zo<7j)&8H>YgM%}O^WCfJ`24w9d~-^4V+W$)*(*l45`2J> znW;{XWU97Iqt_i^d(S>BDEv^Addd-(fKh&T6CT%$=zhpnyv%aZwoems9n1wNMG;HR zJKWpn`VW$0=JZ$)!VR}8Z2DgE+PGE<^g`|-La%B$)rJ6%s%RXqnQ&pa-ztm9OD zGX#PVbZP0s6NkWTCO0FMv4aBSXZgtw`pL`kGdl8@pXDbQLmOvTMKu?^vLB4N8-upM zRo&h9cO8516*%aCHOaRrMUG3J0}365R5t zdP*znsqd+OUpF8v-QD%~n;W6F5}F#o?*3{Wl;$HZ7!k!FKY2kv`B`b?2g3pxo|)F} zi!ZILR4uJ(vj|h8_N)b^;KU))HN}O)vrsC$ zb?TAo2CSY&-snc>KdsGUuQy##c6h0H%LK~;tGUf{v&WyhR9z!4%g>0+G#X5c4~|yR ztotB)WV~K&vh4a99eezGBI<7~Wksma5;g;|w}_Mtr;b8%sF!0sz7-Xz zM!nqZp+8|;Ve!X*{tCq$Yf<5=(HAz!Zn)%=P!!KV+lUQ zC;$NSaKQt>OTB(DiMxn;(L7S{aIA;NF25qNExZ19U|q~MlEljft1k7+6iLhpg!r4z ztM_E;w)GBhQQWqYM1gFxn$%3bT38d86-RtozBk9v%=Z+W=ZL)|y|LfIzKn&FkHu@q znHJdM^G=wicD={|+JA6>BEmjPWR?@b2d4x8uw>!^)2DqJ*yNbaBpr}#X0v%Y3knVAz%aMV`h;-; z0h;Q0;a3{g66=N9`;w_B!~GfEu73tM`o1E$eZF+Y{gZF1Pq1-ktHl)Cqe>A zNK#ej{?UO>leN>;Thi}esp_gzzx4Oj>2tpGopS`;4JieS%Cc2m1Y3a5ys)jG zs_Nr}V4Q@DfP5g{Pft4uqD%-`EMbiy)HU2Qb{dDv{xi62)`$$9FIP&T7Hyp@g?vK5h+xa{2NE_4c*>ZO`+lf6LP$7(I^TIU zf~SE|!PXKOM2V2*YPSG|b4|94rCBae#Rx z4o$T`EhYB>T2M5E4vj*}Kk26u=kVZwx<}3J(Y}<^bqAOu6}5_2fh&Cx z5Wxoom#Z-iZ?IIVT`i)^4xsgO&INAi>irQcLNHl7;rwmaZ|?%?0_W{W7I*cb5iCan zHyMR_%e=kOYX`6ul?^jcz5yKG-W$QMR2r%|lDiA`d2^F@KLLx%V|0{Pi5Nc=NmWhd zP3DzEd2^Fj4xl#H{y{*2ce)}349Qqcbv*6OEuH=eXv*aIhd1{`2nte2<#K)I(9b(_ zap#OVuf(A$_V0i}z9{Pn*fqgV(j5#*j3zcpVdJqnKHXmvPz^$|MVECWIx{n=Qwf<( z37iq*w}VX)JXny*1H)2DjrQ!8|7G)!JhJW(Mu27lNI|Y59QT{>hmNl8xCSUH8>*sg z0=#Nm^dyEPMYD8be{z%C4$8f<{RA_DHd7Jvx`CD#6$ak!l6yD^gMDxy-12`|<*5xuJaOdg@mh7}NyQ@tET&fr5ec9S) zZPox%$S3?KDLnbt>;%5LKHJ0i+m4*#c%66aKnS4dlD>@W6=Si&){#;?-kz2gGzEP= z@t>sdLJ{!9g}wRB$lhnaFjK-O+m5oP{6{oJFd?TG6zqrNu)-IMpKIDH%;Xz!K!dq7i;PGb0uh&f$Z>V5R`HukTrsT72M|r8Zf)n*d zr^`;acX=4!YfQvrt(|Y_0Ds$(1N_Y2g2I8!xG283K8qU$x)&X*I<2!{?OwJYZ5iF$ zQ(42julKOCx}j6$AE?zW)7l||8<|(uBAD000W`&&K_uSKm^3?I-|~?iMFKj^>p_sfv9s&?iu;LXn%Z z6L@h#UmTkI{n&A=h9%z~pkD9X3@uevxMlPJa#LDw=vCG=kTY*B)p5Nn(cDQ68D?E( z^DzRC8bDQJCeee9FK{*XUZ2?C!}#m=9Ou=NicT9Jz%WdfmF}nVbnDgp@7C<3y0P=^ z1&ipTsrHG@Pk8{Nr?ShB z)p$5hZKJ{T_cx)N66|q4mE9#IlUeFK8^}280Gd&ISqQJd={M5t8lPR8#bp_>XV2-T z~25_yt+oQ;ek7D(8 zSsoF&dc)+k4f}B(I_Y!yIlUZQIwBnenWgG>{~l`}g-)Z6hzQ-^bBY zor~bLM|`x#)KPs&u)AuO)4IvOy;(v<^=Yu#AwI?DXIOzM%%4D$0|?|#f-5I5Oc|8O z+gJ3*uDM%f2Tsb0jdQgrOevYRtdwsmj)ST}QsD9cIzpg~ zgQld=rkysrHB$y9^3sI9Xw91Bd#X;3QtTte=PR%TJu<^gKgdT)Az0u%UzKbRwinX;EF*>jLCL4?DkdHarJBKsjAmqasI^6Y4o**6e3Ge1OtOD#A+TJ(W`~=OAegm z!%fy1e|%;fmt5d}#?jgau3o&J11C>|8s%#AiO_zv6lAv2w5ejZ;Ws0D@zm%vk8@|< zd_!7e{Ly_KT$R`F>~U4S&NZ*C=ljZ2peT^iC!|{ZZ6RTx0;F|#WtebZehN>H^89y7 z51q2q_<6l!xPDmwv&VJ1!Q>^ye0!+Mbs{<4)#ncfB)t{s+DbL-nSMbMb1(MHWhp&$ ziuX4iu&mn8Nw#szg_($^s=d*a-1gQ+zTE3d4kft{L(S3IJzT^4rTZ;2enzaqofl;hrMkw>ByjJF%`9;?Z5y1B8l2<~-*ITTcF_(?t{)iB zYd`gj@Rc5}VOi;Z42z7PW>=VYarW7fJ%C?-vW23JdtC={$*$y%@FZFxOda6LesR3< z)BZ#?GyaxiwS2J2I^(C>6{d|Hh{NV?)IGN9d;Ywx+;!kca7FsUm*_BQu6i=QkAt_b z>`!#Fd00D+*YWPR)%DU(|<{1DqFc zW5uL_BsW`w=isRZ-q=taF5>od0jb=o=NAj* XqkNsDUI7BT zgjE+ww`;7pI@2SK>qt!_i;MShs@|G8cByuiyT%M4v6=Dzvc8;$KiT3su-RRKp6+3M zfEq=@kHJ>a5phj<`-2kPRq~H@I*Uv8QQgMO8*k|q8^v8?Jm35mO7`&ZKbnjm6%EPV z=FJB{N-7nBI2LRn?V$*G<+6T^NOecps_P9Fm+Z47jSF1HpLS7y5*=;_duh`?{_|re z5?sbl=@Z;cUOylN$25>3?Ep`YPV<jclWW5D*^#HO`?A&o-KacS4i>3Sc z#YfGIpW3~R51M&Za46r&;;Jpi~EUj`B4A!f$(?@d0$j zbSg|QC`S^Q1?xJ=0|lwXoU`24n9L+*T%1XYqwA~I4o-{X_EG(?X`aTPy}aicAE;t_ zeuaV%5+ODRTg@3#qE!lqw4O=ZKPiUU}jO=@MNEckyeh)Q12+9yb zx~7H+*<$^;VDTS$Da1#$-6o0F6mG~*=i1z~PRC?M_D|&I;TfpSMh=TM?q$}8-}Ox6 z146P6np%Gn)&y6Mi&#zJ-n`BwD2*MM%+13yI&^}u1CyCt(8r_w@V5nCN;{zB` z@*6nQ|GQ_%0RcY*Q;q5K(w)saGTYta; zl#YLC4xXx~Xyab~y1ty_ryE_F zIG{u0Z#-DVpVsZ-tt|&>R5VwMJ|Q;pwtGuEyN9;FcW{w&9WcgfJ^xqJ7UMvRjYkQ+g%&-KLa?<~a=0<%Qml)O8M$K-qE%t-&JGq* zJ|Trz+1@o>;kp5yiz!IplhR!*TfYs2KuJs?E44RSy~3;SKFlt7?ohz@0csZk|J9c9 zp@Vc_eP;g0VEyjltM<855RX*V@PEsTSyuc5Hb*RpX??NBCx&IL(+~jq?t6^rI6Dg(=X%B=F z63IQ@8XvkiFWi`!`>ucvyBHAygOEI9%*=bgEBAIe@}lq0eFRw2;e`?Wi;!>V2XY_p z>g`<*z0DD(Vb)CrKJIcE5qxEpQ5$_1b3~U{$n-tnzVQ2a)ihQEqkJwaf)|Jqqd{KI zy?Lj6D#a2l^S1TU6#Xj+gDoj9LPzX0Fvn3?aM;&^tQmcoHTamWE0cuizWWb`3PP~m z5MrVg#s@1`hnhWfw;rYZ3$WI*G9#RWDA61B@yy8GV^xXPj=xSDT4^+JC6R`qKUihh zqb4$Y_z^1$^-tEtQm0L=mMsZWdCGf+?v;5ROH>q9ZmMf%?uL9{EUL2u0$3RRo3Ue(_$!ktv67PyO^;d=V zI+F1Ld0zOl-q4lXm_2m2zaJEsB)r1m6-LF8%LP0MShKH7_e2VK&M@o72g3Legni?+ z`CBKL!hBvpUZ9^H%19_v;9hT%IjkVyX}J2#p`V-kkBpE~+z*@#^z%cIS^-a*iHr`k z@gWE`fCme|@2eWdGYF;zRY%Ye9~!2-msxpxgQg%@4{naOz&TM${u{U?*jfU_S^>Z5 zXwpU?2nh!`gSKGHrBcerfS(0hi=S8z;z@sZ?YtqR9N-L53pWop4e=0y+ktSO3M_%o z5b`-=M*auE7IQ8k=>TVWv21{%i`#_|zXURaEyqg^3L#$64Wo!z1v`T+rY%C-0nRXI zwWjq?yF$WkNG1cJx?}Tk;5{Mb68*r@&zN($HJcjxk??SU<}7vEv??(HAtzxnNeXg< zDMx}+ft5(HQcsd!G+%@<90)%LIG07vK5C;JCs4*oA;$pu_;0z}DgF<75&jO)8ZT_kQdM)PL}V*MW=Y6Ik|u>n706V;fopM$GwaNs1azQQA}WQHl_>JC pkYb;SC|86m*AZK-OvDHk{vWE;{L_TZYG(id002ovPDHLkV1gHp2Jrv@ literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/invite.png b/retroshare-gui/src/gui/icons/png/invite.png new file mode 100644 index 0000000000000000000000000000000000000000..5fda4753e62a963203073ce59fb8097f0360f1e0 GIT binary patch literal 5218 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 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/leave.png b/retroshare-gui/src/gui/icons/png/leave.png new file mode 100644 index 0000000000000000000000000000000000000000..df5af7ced17eb0885a0d1e6568f8ed9bee4cb13c GIT binary patch literal 3736 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 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/microphone_mute.png b/retroshare-gui/src/gui/icons/png/microphone_mute.png new file mode 100644 index 0000000000000000000000000000000000000000..d77aa30379caf2291581e19aa775af16897d6580 GIT binary patch literal 5495 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 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/phone.png b/retroshare-gui/src/gui/icons/png/phone.png new file mode 100644 index 0000000000000000000000000000000000000000..99904c2b1c264c60e37b8268c8496ce277d37a67 GIT binary patch literal 4975 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 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/phone_hangup.png b/retroshare-gui/src/gui/icons/png/phone_hangup.png new file mode 100644 index 0000000000000000000000000000000000000000..2f760827145e72c987404a390b6345273d440906 GIT binary patch literal 4376 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 UCfY*|L;wH)07*qoM6N<$f)7M#X8-^I literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/send-message.png b/retroshare-gui/src/gui/icons/png/send-message.png new file mode 100644 index 0000000000000000000000000000000000000000..4aaece13704a5b49de2c96f5c21bf54d630b5823 GIT binary patch literal 5407 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 JPDHLkV1j4=e3t+K literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/settings.png b/retroshare-gui/src/gui/icons/png/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..a246c268434c9e2595d5d322ce1829db96bb4416 GIT binary patch literal 5189 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 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/smiley.png b/retroshare-gui/src/gui/icons/png/smiley.png new file mode 100644 index 0000000000000000000000000000000000000000..12e7f869db2c9dba0ca81331174c18a43789d604 GIT binary patch literal 6769 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 Tfwd^V00000NkvXXu0mjf>qsih literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/speaker.png b/retroshare-gui/src/gui/icons/png/speaker.png new file mode 100644 index 0000000000000000000000000000000000000000..a1dda4399a56833afa15aae0c010da299b1e2efd GIT binary patch literal 6583 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 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/speaker_mute.png b/retroshare-gui/src/gui/icons/png/speaker_mute.png new file mode 100644 index 0000000000000000000000000000000000000000..f1a731c9be22468afb10cab76e466cd399f6afb2 GIT binary patch literal 7174 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 IM6N<$f=!+FJ^%m! literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/video.png b/retroshare-gui/src/gui/icons/png/video.png new file mode 100644 index 0000000000000000000000000000000000000000..ad56d5acd69a052ec69f2054448fb824c8d108f9 GIT binary patch literal 4561 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 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/svg/attach-image.svg b/retroshare-gui/src/gui/icons/svg/attach-image.svg new file mode 100644 index 000000000..ab2e0e388 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/attach-image.svg @@ -0,0 +1,78 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/attach.svg b/retroshare-gui/src/gui/icons/svg/attach.svg new file mode 100644 index 000000000..3725cf017 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/attach.svg @@ -0,0 +1,61 @@ + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/chat-bubble.svg b/retroshare-gui/src/gui/icons/svg/chat-bubble.svg new file mode 100644 index 000000000..3e2d2800f --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/chat-bubble.svg @@ -0,0 +1,108 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/empty-circle.svg b/retroshare-gui/src/gui/icons/svg/empty-circle.svg new file mode 100644 index 000000000..b7324d41d --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/empty-circle.svg @@ -0,0 +1,50 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/font.svg b/retroshare-gui/src/gui/icons/svg/font.svg new file mode 100644 index 000000000..2591e3e20 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/font.svg @@ -0,0 +1,70 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/fullscreen_arrows.svg b/retroshare-gui/src/gui/icons/svg/fullscreen_arrows.svg new file mode 100644 index 000000000..225c9a938 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/fullscreen_arrows.svg @@ -0,0 +1,177 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/highlight.svg b/retroshare-gui/src/gui/icons/svg/highlight.svg new file mode 100644 index 000000000..63ceeaae8 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/highlight.svg @@ -0,0 +1,81 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/invite.svg b/retroshare-gui/src/gui/icons/svg/invite.svg new file mode 100644 index 000000000..afcefbd72 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/invite.svg @@ -0,0 +1,74 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/leave.svg b/retroshare-gui/src/gui/icons/svg/leave.svg new file mode 100644 index 000000000..9904394ef --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/leave.svg @@ -0,0 +1,59 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/microphone.svg b/retroshare-gui/src/gui/icons/svg/microphone.svg new file mode 100644 index 000000000..b6e01290b --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/microphone.svg @@ -0,0 +1,148 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/microphone_mute.svg b/retroshare-gui/src/gui/icons/svg/microphone_mute.svg new file mode 100644 index 000000000..7025ac193 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/microphone_mute.svg @@ -0,0 +1,164 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/phone.svg b/retroshare-gui/src/gui/icons/svg/phone.svg new file mode 100644 index 000000000..50141fd1a --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/phone.svg @@ -0,0 +1,82 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/phone_hangup.svg b/retroshare-gui/src/gui/icons/svg/phone_hangup.svg new file mode 100644 index 000000000..01f571fdc --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/phone_hangup.svg @@ -0,0 +1,83 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/search.svg b/retroshare-gui/src/gui/icons/svg/search.svg new file mode 100644 index 000000000..811707601 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/search.svg @@ -0,0 +1,78 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/send-message.svg b/retroshare-gui/src/gui/icons/svg/send-message.svg new file mode 100644 index 000000000..ebf98d78d --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/send-message.svg @@ -0,0 +1,67 @@ + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/settings.svg b/retroshare-gui/src/gui/icons/svg/settings.svg new file mode 100644 index 000000000..29f7c034b --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/settings.svg @@ -0,0 +1,80 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/smiley.svg b/retroshare-gui/src/gui/icons/svg/smiley.svg new file mode 100644 index 000000000..618367e43 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/smiley.svg @@ -0,0 +1,102 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/speaker.svg b/retroshare-gui/src/gui/icons/svg/speaker.svg new file mode 100644 index 000000000..e0d94da33 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/speaker.svg @@ -0,0 +1,144 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/speaker_mute.svg b/retroshare-gui/src/gui/icons/svg/speaker_mute.svg new file mode 100644 index 000000000..72ce9552e --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/speaker_mute.svg @@ -0,0 +1,159 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/video.svg b/retroshare-gui/src/gui/icons/svg/video.svg new file mode 100644 index 000000000..a1473e6c4 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/video.svg @@ -0,0 +1,86 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss index a5c19e415..bbc5e7100 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss @@ -213,7 +213,7 @@ CreateLobbyDialog QLabel#lobbyInfoLabel { } ChatWidget QTextEdit#chatTextEdit, ChatWidget QTextBrowser#textBrowser { - border: 1px solid #B8B6B1; + border: 1px solid #0099cc; border-radius: 6px; background: white; } From f3d1a6c1ecb19406f8ff5fc911ab1340d38d6c1a Mon Sep 17 00:00:00 2001 From: defnax Date: Fri, 5 Aug 2016 19:13:59 +0200 Subject: [PATCH 099/158] Added missed notify icon --- retroshare-gui/src/gui/chat/ChatWidget.ui | 49 ++++---- retroshare-gui/src/gui/icons.qrc | 2 + .../src/gui/icons/png/chat-bubble-notify.png | Bin 0 -> 5280 bytes .../gui/icons/png/send-message-blocked.png | Bin 0 -> 5408 bytes .../src/gui/icons/svg/chat-bubble-notify.svg | 108 ++++++++++++++++++ .../gui/icons/svg/send-message-blocked.svg | 67 +++++++++++ .../src/gui/qss/stylesheet/Standard.qss | 21 ---- 7 files changed, 206 insertions(+), 41 deletions(-) create mode 100644 retroshare-gui/src/gui/icons/png/chat-bubble-notify.png create mode 100644 retroshare-gui/src/gui/icons/png/send-message-blocked.png create mode 100644 retroshare-gui/src/gui/icons/svg/chat-bubble-notify.svg create mode 100644 retroshare-gui/src/gui/icons/svg/send-message-blocked.svg diff --git a/retroshare-gui/src/gui/chat/ChatWidget.ui b/retroshare-gui/src/gui/chat/ChatWidget.ui index e0c2f843f..720f3af3e 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.ui +++ b/retroshare-gui/src/gui/chat/ChatWidget.ui @@ -462,26 +462,6 @@ border-image: url(:/images/closepressed.png) - - - - Qt::NoFocus - - - - :/images/chat_red24.png:/images/chat_red24.png - - - - 28 - 28 - - - - true - - - @@ -598,6 +578,26 @@ border-image: url(:/images/closepressed.png) + + + + Qt::NoFocus + + + + :/icons/png/chat-bubble-notify.png:/icons/png/chat-bubble-notify.png + + + + 28 + 28 + + + + true + + + @@ -637,6 +637,9 @@ border-image: url(:/images/closepressed.png) + + true + 0 @@ -646,6 +649,12 @@ border-image: url(:/images/closepressed.png) Send + + <html><head/><body><p>QToolButton:disabled {</p><p> image: url(:/icons/png/send-message-blocked.png) ;</p><p>}</p><p><br/></p></body></html> + + + + :/icons/png/send-message.png:/icons/png/send-message.png diff --git a/retroshare-gui/src/gui/icons.qrc b/retroshare-gui/src/gui/icons.qrc index 693d638c9..3cea9eea1 100644 --- a/retroshare-gui/src/gui/icons.qrc +++ b/retroshare-gui/src/gui/icons.qrc @@ -85,5 +85,7 @@ icons/png/settings.png icons/png/smiley.png icons/png/font.png + icons/png/send-message-blocked.png + icons/png/chat-bubble-notify.png diff --git a/retroshare-gui/src/gui/icons/png/chat-bubble-notify.png b/retroshare-gui/src/gui/icons/png/chat-bubble-notify.png new file mode 100644 index 0000000000000000000000000000000000000000..ff83faab6339a6f774e4fbe664a462ef737af557 GIT binary patch literal 5280 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 + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/send-message-blocked.svg b/retroshare-gui/src/gui/icons/svg/send-message-blocked.svg new file mode 100644 index 000000000..92e444c03 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/send-message-blocked.svg @@ -0,0 +1,67 @@ + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss index bbc5e7100..bea346b4a 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss @@ -225,27 +225,6 @@ ChatWidget QFrame#infoFrame { background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFD7, stop:1 #FFFFB2); } -ChatWidget QPushButton#sendButton { - border-image: url(:/images/btn_green.png) 4; - border-width: 4; - padding: 0px 6px; - font-size: 14px; - font: bold; - color: white; -} - -ChatWidget QPushButton#sendButton:hover { - border-image: url(:/images/btn_green_hover.png) 4; -} - -ChatWidget QPushButton#sendButton:pressed { - border-image: url(:/images/btn_green_pressed.png) 4; -} - -ChatWidget QPushButton#sendButton:disabled { - border-image: url(:/images/btn_red.png) 4; -} - PopupChatWindow QToolBar#chattoolBar{ background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #9BDBF9, stop:1 #1592CD); border: 0px; From beab81e1341bb6e8b19bd603293c7a477e16b943 Mon Sep 17 00:00:00 2001 From: Phenom Date: Sat, 6 Aug 2016 11:57:20 +0200 Subject: [PATCH 100/158] Fix Forum Item sort on LastPost View. msg.mMeta.mChildTs Was not updated when received new child so do it when creating GxsIdRSTreeWidgetItem. --- libretroshare/src/gxs/rsgxsdata.cc | 22 +++---- .../gui/gxsforums/GxsForumThreadWidget.cpp | 61 +++++++++++-------- .../src/gui/gxsforums/GxsForumThreadWidget.h | 2 +- .../src/gui/gxsforums/GxsForumsFillThread.cpp | 3 +- 4 files changed, 49 insertions(+), 39 deletions(-) diff --git a/libretroshare/src/gxs/rsgxsdata.cc b/libretroshare/src/gxs/rsgxsdata.cc index a078f1d6b..090a7b602 100644 --- a/libretroshare/src/gxs/rsgxsdata.cc +++ b/libretroshare/src/gxs/rsgxsdata.cc @@ -39,20 +39,20 @@ uint32_t RsGxsGrpMetaData::serial_size(uint32_t api_version) s += mGroupId.serial_size(); s += mOrigGrpId.serial_size(); - s += mParentGrpId.serial_size(); + s += mParentGrpId.serial_size(); s += GetTlvStringSize(mGroupName); - s += 4; // mGroupFlags - s += 4; // mPublishTs - s += 4; // mCircleType - s += 4; // mAuthenFlag + s += 4; // mGroupFlags + s += 4; // mPublishTs + s += 4; // mCircleType + s += 4; // mAuthenFlag s += mAuthorId.serial_size(); s += GetTlvStringSize(mServiceString); - s += mCircleId.serial_size(); + s += mCircleId.serial_size(); s += signSet.TlvSize(); s += keys.TlvSize(); if(api_version == RS_GXS_GRP_META_DATA_VERSION_ID_0002) - s += 4; // mSignFlag + s += 4; // mSignFlag else if(api_version != RS_GXS_GRP_META_DATA_VERSION_ID_0001) std::cerr << "(EE) wrong/unknown API version " << api_version << " requested in RsGxsGrpMetaData::serial_size()" << std::endl; @@ -203,7 +203,7 @@ bool RsGxsGrpMetaData::deserialise(void *data, uint32_t &pktsize) int RsGxsMsgMetaData::refcount = 0; RsGxsMsgMetaData::RsGxsMsgMetaData(){ - + clear(); //std::cout << "\nrefcount++ : " << ++refcount << std::endl; return; } @@ -227,8 +227,8 @@ uint32_t RsGxsMsgMetaData::serial_size() s += signSet.TlvSize(); s += GetTlvStringSize(mMsgName); - s += 4; // mPublishTS - s += 4; // mMsgFlags + s += 4; // mPublishTS + s += 4; // mMsgFlags return s; } @@ -311,7 +311,7 @@ bool RsGxsMsgMetaData::deserialise(void *data, uint32_t *size) ok &= signSet.GetTlv(data, *size, &offset); ok &= GetTlvString(data, *size, &offset, 0, mMsgName); - uint32_t t=0; + uint32_t t=0; ok &= getRawUInt32(data, *size, &offset, &t); mPublishTs = t; ok &= getRawUInt32(data, *size, &offset, &mMsgFlags); diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp index 4aacf3485..29033ae09 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp +++ b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.cpp @@ -973,44 +973,54 @@ void GxsForumThreadWidget::fillThreadStatus(QString text) ui->progressText->setText(text); } -QTreeWidgetItem *GxsForumThreadWidget::convertMsgToThreadWidget(const RsGxsForumMsg &msg, bool useChildTS, uint32_t filterColumn) +QTreeWidgetItem *GxsForumThreadWidget::convertMsgToThreadWidget(const RsGxsForumMsg &msg, bool useChildTS, uint32_t filterColumn, QTreeWidgetItem *parent) { - // Early check for a message that should be hidden because its author - // is flagged with a bad reputation - - - bool redacted = rsIdentity->isBanned(msg.mMeta.mAuthorId) ; - - GxsIdRSTreeWidgetItem *item = new GxsIdRSTreeWidgetItem(mThreadCompareRole,GxsIdDetails::ICON_TYPE_ALL || (redacted?(GxsIdDetails::ICON_TYPE_REDACTED):0)); + // Early check for a message that should be hidden because its author + // is flagged with a bad reputation + + + bool redacted = rsIdentity->isBanned(msg.mMeta.mAuthorId) ; + + GxsIdRSTreeWidgetItem *item = new GxsIdRSTreeWidgetItem(mThreadCompareRole,GxsIdDetails::ICON_TYPE_ALL || (redacted?(GxsIdDetails::ICON_TYPE_REDACTED):0)); item->moveToThread(ui->threadTreeWidget->thread()); - QString text; - if(redacted) + if(redacted) item->setText(COLUMN_THREAD_TITLE, tr("[ ... Redacted message ... ]")); else item->setText(COLUMN_THREAD_TITLE, QString::fromUtf8(msg.mMeta.mMsgName.c_str())); + + //msg.mMeta.mChildTs Was not updated when received new child + // so do it here. QDateTime qtime; - QString sort; + qtime.setTime_t(msg.mMeta.mPublishTs); - if (useChildTS) - qtime.setTime_t(msg.mMeta.mChildTs); - else - qtime.setTime_t(msg.mMeta.mPublishTs); - - text = DateTime::formatDateTime(qtime); - sort = qtime.toString("yyyyMMdd_hhmmss"); + QString itemText = DateTime::formatDateTime(qtime); + QString itemSort = QString::number(msg.mMeta.mPublishTs);//Don't need to format it as for sort. if (useChildTS) { - qtime.setTime_t(msg.mMeta.mPublishTs); - text += " / "; - text += DateTime::formatDateTime(qtime); - sort += "_" + qtime.toString("yyyyMMdd_hhmmss"); + for(QTreeWidgetItem *grandParent = parent; grandParent!=NULL; grandParent = grandParent->parent()) + { + //Update Parent Child TimeStamp + QString oldTSText = grandParent->text(COLUMN_THREAD_DATE); + QString oldTSSort = grandParent->data(COLUMN_THREAD_DATE, ROLE_THREAD_SORT).toString(); + + QString oldCTSText = oldTSText.split("|").at(0); + QString oldPTSText = oldTSText.contains("|") ? oldTSText.split(" | ").at(1) : oldCTSText;//If first time parent get only its mPublishTs + QString oldCTSSort = oldTSSort.split("|").at(0); + QString oldPTSSort = oldTSSort.contains("|") ? oldTSSort.split(" | ").at(1) : oldCTSSort; + if (oldCTSSort.toDouble() < itemSort.toDouble()) + { + grandParent->setText(COLUMN_THREAD_DATE, DateTime::formatDateTime(qtime) + " | " + oldPTSText); + grandParent->setData(COLUMN_THREAD_DATE, ROLE_THREAD_SORT, itemSort + " | " + oldPTSSort); + } + } } - item->setText(COLUMN_THREAD_DATE, text); - item->setData(COLUMN_THREAD_DATE, ROLE_THREAD_SORT, sort); + + item->setText(COLUMN_THREAD_DATE, itemText); + item->setData(COLUMN_THREAD_DATE, ROLE_THREAD_SORT, itemSort); // Set later with GxsIdRSTreeWidgetItem::setId item->setData(COLUMN_THREAD_DATA, ROLE_THREAD_AUTHOR, QString::fromStdString(msg.mMeta.mAuthorId.toStdString())); @@ -1061,7 +1071,8 @@ QTreeWidgetItem *GxsForumThreadWidget::convertMsgToThreadWidget(const RsGxsForum #endif item->setData(COLUMN_THREAD_DATA, ROLE_THREAD_STATUS, msg.mMeta.mMsgStatus); item->setData(COLUMN_THREAD_DATA, ROLE_THREAD_MISSING, false); - + + if (parent) parent->addChild(item); return item; } diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.h b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.h index ea18e3c0f..1cf109a81 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.h +++ b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.h @@ -51,7 +51,7 @@ public: unsigned int newCount() { return mNewCount; } unsigned int unreadCount() { return mUnreadCount; } - QTreeWidgetItem *convertMsgToThreadWidget(const RsGxsForumMsg &msg, bool useChildTS, uint32_t filterColumn); + QTreeWidgetItem *convertMsgToThreadWidget(const RsGxsForumMsg &msg, bool useChildTS, uint32_t filterColumn, QTreeWidgetItem *parent = NULL); QTreeWidgetItem *generateMissingItem(const RsGxsMessageId &msgId); // Callback for all Loads. diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumsFillThread.cpp b/retroshare-gui/src/gui/gxsforums/GxsForumsFillThread.cpp index 0b1a06a82..045495bd7 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumsFillThread.cpp +++ b/retroshare-gui/src/gui/gxsforums/GxsForumsFillThread.cpp @@ -218,8 +218,7 @@ void GxsForumsFillThread::run() std::cerr << "GxsForumsFillThread::run() adding " << msg.mMeta.mMsgId << std::endl; #endif - QTreeWidgetItem *item = mParent->convertMsgToThreadWidget(msg, mUseChildTS, mFilterColumn); - threadPair.second->addChild(item); + QTreeWidgetItem *item = mParent->convertMsgToThreadWidget(msg, mUseChildTS, mFilterColumn, threadPair.second); calculateExpand(msg, item); From 21bd8cd6df48c53917f631be41c8e6f0675a30fd Mon Sep 17 00:00:00 2001 From: Phenom Date: Sat, 6 Aug 2016 13:49:39 +0200 Subject: [PATCH 101/158] Fix QMessageBox layout addWidget. --- retroshare-gui/src/gui/ChatLobbyWidget.cpp | 14 ++++++++++++-- retroshare-gui/src/gui/MainWindow.cpp | 9 ++++++++- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/ChatLobbyWidget.cpp b/retroshare-gui/src/gui/ChatLobbyWidget.cpp index 9e0dd1eff..f9ef755da 100644 --- a/retroshare-gui/src/gui/ChatLobbyWidget.cpp +++ b/retroshare-gui/src/gui/ChatLobbyWidget.cpp @@ -1076,11 +1076,21 @@ void ChatLobbyWidget::readChatLobbyInvites() tr("%1 invites you to chat lobby named %2").arg(QString::fromUtf8(rsPeers->getPeerName((*it).peer_id).c_str())).arg(RsHtml::plainText(it->lobby_name)), QMessageBox::Question, QMessageBox::Yes,QMessageBox::No, 0); + + QLabel *label = new QLabel(tr("Choose an identity for this lobby:")); GxsIdChooser *idchooser = new GxsIdChooser ; idchooser->loadIds(IDCHOOSER_ID_REQUIRED,default_id) ; - mb.layout()->addWidget(new QLabel(tr("Choose an identity for this lobby:"))) ; - mb.layout()->addWidget(idchooser) ; + + QGridLayout* layout = qobject_cast(mb.layout()); + if (layout) { + layout->addWidget(label, layout->rowCount(), 0, 1, layout->columnCount(), Qt::AlignHCenter ) ; + layout->addWidget(idchooser, layout->rowCount(), 0, 1, layout->columnCount(), Qt::AlignRight ) ; + } else { + //Not QGridLayout so add at end + mb.layout()->addWidget(label) ; + mb.layout()->addWidget(idchooser) ; + } int res = mb.exec() ; diff --git a/retroshare-gui/src/gui/MainWindow.cpp b/retroshare-gui/src/gui/MainWindow.cpp index 12050615e..b53137047 100644 --- a/retroshare-gui/src/gui/MainWindow.cpp +++ b/retroshare-gui/src/gui/MainWindow.cpp @@ -1410,7 +1410,14 @@ void MainWindow::externalLinkActivated(const QUrl &url) QMessageBox mb(QObject::tr("Confirmation"), QObject::tr("Do you want this link to be handled by your system?")+"

"+ url.toString()+"

"+tr("Make sure this link has not been forged to drag you to a malicious website."), QMessageBox::Question, QMessageBox::Yes,QMessageBox::No, 0); QCheckBox *checkbox = new QCheckBox(tr("Don't ask me again")) ; - mb.layout()->addWidget(checkbox) ; + QGridLayout* layout = qobject_cast(mb.layout()); + if (layout) + { + layout->addWidget(checkbox,layout->rowCount(),0,1, layout->columnCount(), Qt::AlignLeft); + } else { + //Not QGridLayout so add at end + mb.layout()->addWidget(checkbox) ; + } int res = mb.exec() ; From 776e404c2bd2eeaec324028a939d7037e53e4d51 Mon Sep 17 00:00:00 2001 From: Phenom Date: Sat, 6 Aug 2016 17:52:12 +0200 Subject: [PATCH 102/158] Fix Lobby Notify Icon. But now this not report which type of lobby is. --- retroshare-gui/src/gui/ChatLobbyWidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/ChatLobbyWidget.cpp b/retroshare-gui/src/gui/ChatLobbyWidget.cpp index f9ef755da..06c8833ef 100644 --- a/retroshare-gui/src/gui/ChatLobbyWidget.cpp +++ b/retroshare-gui/src/gui/ChatLobbyWidget.cpp @@ -221,7 +221,7 @@ void ChatLobbyWidget::updateNotify(ChatLobbyId id, unsigned int count) dialog->getChatWidget()->setNotify(myChatLobbyUserNotify); if (count>0){ notifyButton->setVisible(true); - notifyButton->setIcon(_lobby_infos[id].default_icon); + //notifyButton->setIcon(_lobby_infos[id].default_icon); notifyButton->setToolTip(QString("(%1)").arg(count)); } else { notifyButton->setVisible(false); From dea776a61a4b246e5933dcaf14d7a8bbb00cbd6c Mon Sep 17 00:00:00 2001 From: defnax Date: Sat, 6 Aug 2016 18:35:07 +0200 Subject: [PATCH 103/158] Moved font menu to Settings menu --- retroshare-gui/src/gui/chat/ChatWidget.cpp | 21 +++++++++-------- retroshare-gui/src/gui/chat/ChatWidget.ui | 26 ---------------------- 2 files changed, 10 insertions(+), 37 deletions(-) diff --git a/retroshare-gui/src/gui/chat/ChatWidget.cpp b/retroshare-gui/src/gui/chat/ChatWidget.cpp index 0e120b809..1540722bd 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.cpp +++ b/retroshare-gui/src/gui/chat/ChatWidget.cpp @@ -91,8 +91,6 @@ ChatWidget::ChatWidget(QWidget *parent) : //Resize Tool buttons ui->emoteiconButton->setFixedSize(buttonSize); ui->emoteiconButton->setIconSize(iconSize); - ui->fontButton->setFixedSize(buttonSize); - ui->fontButton->setIconSize(iconSize); ui->attachPictureButton->setFixedSize(buttonSize); ui->attachPictureButton->setIconSize(iconSize); ui->addFileButton->setFixedSize(buttonSize); @@ -181,21 +179,22 @@ ChatWidget::ChatWidget(QWidget *parent) : ui->hashBox->setDropWidget(this); ui->hashBox->setAutoHide(true); - QMenu *menu = new QMenu(); - menu->addAction(ui->actionChooseFont); - menu->addAction(ui->actionChooseColor); - menu->addAction(ui->actionResetFont); - menu->addAction(ui->actionNoEmbed); - menu->addAction(ui->actionSendAsPlainText); - ui->fontButton->setMenu(menu); + QMenu *fontmenu = new QMenu(tr("Set text font & color")); + fontmenu->addAction(ui->actionChooseFont); + fontmenu->addAction(ui->actionChooseColor); + fontmenu->addAction(ui->actionResetFont); + fontmenu->addAction(ui->actionNoEmbed); + fontmenu->addAction(ui->actionSendAsPlainText); - menu = new QMenu(); + QMenu *menu = new QMenu(); menu->addAction(ui->actionClearChatHistory); menu->addAction(ui->actionDeleteChatHistory); menu->addAction(ui->actionSaveChatHistory); menu->addAction(ui->actionMessageHistory); ui->pushtoolsButton->setMenu(menu); - ui->actionSendAsPlainText->setChecked(Settings->getChatSendAsPlainTextByDef()); + menu->addMenu(fontmenu); + + ui->actionSendAsPlainText->setChecked(Settings->getChatSendAsPlainTextByDef()); ui->textBrowser->installEventFilter(this); ui->textBrowser->viewport()->installEventFilter(this); diff --git a/retroshare-gui/src/gui/chat/ChatWidget.ui b/retroshare-gui/src/gui/chat/ChatWidget.ui index 720f3af3e..e1e5cf0b8 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.ui +++ b/retroshare-gui/src/gui/chat/ChatWidget.ui @@ -413,32 +413,6 @@ border-image: url(:/images/closepressed.png)
- - - - Qt::TabFocus - - - Set text font & color - - - - :/icons/png/font.png:/icons/png/font.png - - - - 28 - 28 - - - - QToolButton::InstantPopup - - - true - - - From ea6bbac732292571122042eaeed148e51ec8bc7d Mon Sep 17 00:00:00 2001 From: Phenom Date: Sun, 7 Aug 2016 14:40:04 +0200 Subject: [PATCH 104/158] Add Comment Number On Button. --- retroshare-gui/src/gui/Posted/PostedItem.cpp | 23 ++++++++++++ retroshare-gui/src/gui/Posted/PostedItem.h | 3 +- .../src/gui/feeds/GxsChannelPostItem.cpp | 28 +++++++++++++++ .../src/gui/feeds/GxsChannelPostItem.h | 3 +- .../src/gui/feeds/GxsForumMsgItem.h | 3 +- retroshare-gui/src/gui/gxs/GxsFeedItem.cpp | 36 +++++++++++++++++++ retroshare-gui/src/gui/gxs/GxsFeedItem.h | 5 ++- 7 files changed, 97 insertions(+), 4 deletions(-) diff --git a/retroshare-gui/src/gui/Posted/PostedItem.cpp b/retroshare-gui/src/gui/Posted/PostedItem.cpp index 19d13dd4a..8541e2c3e 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.cpp +++ b/retroshare-gui/src/gui/Posted/PostedItem.cpp @@ -44,6 +44,7 @@ PostedItem::PostedItem(FeedHolder *feedHolder, uint32_t feedId, const RsGxsGroup requestGroup(); requestMessage(); + requestComment(); } PostedItem::PostedItem(FeedHolder *feedHolder, uint32_t feedId, const RsPostedGroup &group, const RsPostedPost &post, bool isHome, bool autoUpdate) : @@ -53,6 +54,7 @@ PostedItem::PostedItem(FeedHolder *feedHolder, uint32_t feedId, const RsPostedGr setGroup(group, false); setPost(post); + requestComment(); } PostedItem::PostedItem(FeedHolder *feedHolder, uint32_t feedId, const RsPostedPost &post, bool isHome, bool autoUpdate) : @@ -62,6 +64,7 @@ PostedItem::PostedItem(FeedHolder *feedHolder, uint32_t feedId, const RsPostedPo requestGroup(); setPost(post); + requestComment(); } PostedItem::~PostedItem() @@ -195,6 +198,26 @@ void PostedItem::loadMessage(const uint32_t &token) } } +void PostedItem::loadComment(const uint32_t &token) +{ + std::vector cmts; + if (!rsPosted->getRelatedComments(token, cmts)) + { + std::cerr << "GxsChannelPostItem::loadComment() ERROR getting data"; + std::cerr << std::endl; + return; + } + + size_t comNb = cmts.size(); + QString sComButText = tr("Comment"); + if (comNb == 1) { + sComButText = sComButText.append("(1)"); + } else if (comNb > 1) { + sComButText = tr("Comments").append("(%1)").arg(comNb); + } + ui->commentButton->setText(sComButText); +} + void PostedItem::fill() { if (isLoading()) { diff --git a/retroshare-gui/src/gui/Posted/PostedItem.h b/retroshare-gui/src/gui/Posted/PostedItem.h index 46afc263c..2d2297a01 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.h +++ b/retroshare-gui/src/gui/Posted/PostedItem.h @@ -72,8 +72,9 @@ protected: virtual RetroShareLink::enumType getLinkType() { return RetroShareLink::TYPE_UNKNOWN; } /* GxsFeedItem */ - virtual void loadMessage(const uint32_t &token); virtual QString messageName(); + virtual void loadMessage(const uint32_t &token); + virtual void loadComment(const uint32_t &token); private: void setup(); diff --git a/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp b/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp index ea77307e2..a3d3ba4bd 100644 --- a/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp +++ b/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp @@ -52,6 +52,7 @@ GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId, requestGroup(); requestMessage(); + requestComment(); } GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId, const RsGxsChannelGroup &group, const RsGxsChannelPost &post, bool isHome, bool autoUpdate) : @@ -66,6 +67,7 @@ GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId, setGroup(group, false); setPost(post); + requestComment(); } GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId, const RsGxsChannelPost &post, bool isHome, bool autoUpdate) : @@ -80,6 +82,7 @@ GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId, requestGroup(); setPost(post); + requestComment(); } GxsChannelPostItem::~GxsChannelPostItem() @@ -276,6 +279,31 @@ void GxsChannelPostItem::loadMessage(const uint32_t &token) } } +void GxsChannelPostItem::loadComment(const uint32_t &token) +{ +#ifdef DEBUG_ITEM + std::cerr << "GxsChannelPostItem::loadComment()"; + std::cerr << std::endl; +#endif + + std::vector cmts; + if (!rsGxsChannels->getRelatedComments(token, cmts)) + { + std::cerr << "GxsChannelPostItem::loadComment() ERROR getting data"; + std::cerr << std::endl; + return; + } + + size_t comNb = cmts.size(); + QString sComButText = tr("Comment"); + if (comNb == 1) { + sComButText = sComButText.append("(1)"); + } else if (comNb > 1) { + sComButText = tr("Comments").append("(%1)").arg(comNb); + } + ui->commentButton->setText(sComButText); +} + void GxsChannelPostItem::fill() { /* fill in */ diff --git a/retroshare-gui/src/gui/feeds/GxsChannelPostItem.h b/retroshare-gui/src/gui/feeds/GxsChannelPostItem.h index 2c9194e21..8574f4e16 100644 --- a/retroshare-gui/src/gui/feeds/GxsChannelPostItem.h +++ b/retroshare-gui/src/gui/feeds/GxsChannelPostItem.h @@ -68,8 +68,9 @@ protected: virtual RetroShareLink::enumType getLinkType() { return RetroShareLink::TYPE_CHANNEL; } /* GxsFeedItem */ - virtual void loadMessage(const uint32_t &token); virtual QString messageName(); + virtual void loadMessage(const uint32_t &token); + virtual void loadComment(const uint32_t &token); private slots: /* default stuff */ diff --git a/retroshare-gui/src/gui/feeds/GxsForumMsgItem.h b/retroshare-gui/src/gui/feeds/GxsForumMsgItem.h index 9d9ec2006..19b98bc4a 100644 --- a/retroshare-gui/src/gui/feeds/GxsForumMsgItem.h +++ b/retroshare-gui/src/gui/feeds/GxsForumMsgItem.h @@ -63,8 +63,9 @@ protected: virtual bool isLoading(); /* GxsFeedItem */ - virtual void loadMessage(const uint32_t &token); virtual QString messageName(); + virtual void loadMessage(const uint32_t &token); + virtual void loadComment(const uint32_t &/*token*/){ return;} private slots: /* default stuff */ diff --git a/retroshare-gui/src/gui/gxs/GxsFeedItem.cpp b/retroshare-gui/src/gui/gxs/GxsFeedItem.cpp index 77b1463d9..328ae8bae 100644 --- a/retroshare-gui/src/gui/gxs/GxsFeedItem.cpp +++ b/retroshare-gui/src/gui/gxs/GxsFeedItem.cpp @@ -44,6 +44,7 @@ GxsFeedItem::GxsFeedItem(FeedHolder *feedHolder, uint32_t feedId, const RsGxsGro mMessageId = messageId; mTokenTypeMessage = nextTokenType(); + mTokenTypeComment = nextTokenType(); } GxsFeedItem::~GxsFeedItem() @@ -132,6 +133,37 @@ void GxsFeedItem::requestMessage() mLoadQueue->requestMsgInfo(token, RS_TOKREQ_ANSTYPE_DATA, opts, msgIds, mTokenTypeMessage); } +void GxsFeedItem::requestComment() +{ +#ifdef DEBUG_ITEM + std::cerr << "GxsFeedItem::requestComment()"; + std::cerr << std::endl; +#endif + + if (!initLoadQueue()) { + return; + } + + if (mLoadQueue->activeRequestExist(mTokenTypeComment)) { + /* Request already running */ + return; + } + + RsTokReqOptions opts; + opts.mReqType = GXS_REQUEST_TYPE_MSG_RELATED_DATA; + opts.mOptions = RS_TOKREQOPT_MSG_THREAD | RS_TOKREQOPT_MSG_LATEST; + + RsGxsGrpMsgIdPair msgIdPair; + msgIdPair.first = groupId(); + msgIdPair.second = messageId(); + + std::vector msgIds; + msgIds.push_back(msgIdPair); + + uint32_t token; + mLoadQueue->requestMsgRelatedInfo(token, RS_TOKREQ_ANSTYPE_DATA, opts, msgIds, mTokenTypeComment); +} + void GxsFeedItem::loadRequest(const TokenQueue *queue, const TokenRequest &req) { #ifdef DEBUG_ITEM @@ -144,6 +176,10 @@ void GxsFeedItem::loadRequest(const TokenQueue *queue, const TokenRequest &req) loadMessage(req.mToken); return; } + if (req.mUserType == mTokenTypeComment) { + loadComment(req.mToken); + return; + } } GxsGroupFeedItem::loadRequest(queue, req); diff --git a/retroshare-gui/src/gui/gxs/GxsFeedItem.h b/retroshare-gui/src/gui/gxs/GxsFeedItem.h index 7061a4ce8..9f62ada2a 100644 --- a/retroshare-gui/src/gui/gxs/GxsFeedItem.h +++ b/retroshare-gui/src/gui/gxs/GxsFeedItem.h @@ -42,9 +42,11 @@ public: protected: /* load message data */ void requestMessage(); + void requestComment(); - virtual void loadMessage(const uint32_t &token) = 0; virtual QString messageName() = 0; + virtual void loadMessage(const uint32_t &token) = 0; + virtual void loadComment(const uint32_t &token) = 0; /* GxsGroupFeedItem */ virtual bool isLoading(); @@ -60,6 +62,7 @@ protected slots: private: RsGxsMessageId mMessageId; uint32_t mTokenTypeMessage; + uint32_t mTokenTypeComment; }; Q_DECLARE_METATYPE(RsGxsMessageId) From d0482707c544e3a864dfcca11be2b342749c0ece Mon Sep 17 00:00:00 2001 From: Phenom Date: Sun, 7 Aug 2016 19:00:23 +0200 Subject: [PATCH 105/158] Add Case Sensitive option for Lobby Notify. --- .../src/gui/chat/ChatLobbyUserNotify.cpp | 25 ++++--- .../src/gui/chat/ChatLobbyUserNotify.h | 16 +++-- .../src/gui/settings/NotifyPage.cpp | 8 ++- retroshare-gui/src/gui/settings/NotifyPage.ui | 67 ++++++++++++------- 4 files changed, 75 insertions(+), 41 deletions(-) diff --git a/retroshare-gui/src/gui/chat/ChatLobbyUserNotify.cpp b/retroshare-gui/src/gui/chat/ChatLobbyUserNotify.cpp index bed476b7f..774f387ba 100644 --- a/retroshare-gui/src/gui/chat/ChatLobbyUserNotify.cpp +++ b/retroshare-gui/src/gui/chat/ChatLobbyUserNotify.cpp @@ -38,8 +38,9 @@ ChatLobbyUserNotify::ChatLobbyUserNotify(QObject *parent) : _bCheckForNickName = Settings->valueFromGroup(_group, "CheckForNickName", true).toBool(); _bCountUnRead = Settings->valueFromGroup(_group, "CountUnRead", true).toBool(); - _bCountSpecificText = Settings->valueFromGroup(_group, "CountSpecificText").toBool(); - _textToNotify = Settings->valueFromGroup(_group, "TextToNotify").toStringList(); + _bCountSpecificText = Settings->valueFromGroup(_group, "CountSpecificText", false).toBool(); + _textToNotify = Settings->valueFromGroup(_group, "TextToNotify").toStringList(); + _bTextCaseSensitive = Settings->valueFromGroup(_group, "TextCaseSensitive", false).toBool(); } bool ChatLobbyUserNotify::hasSetting(QString *name, QString *group) @@ -88,6 +89,14 @@ void ChatLobbyUserNotify::setTextToNotify(QString value) setTextToNotify(list); } +void ChatLobbyUserNotify::setTextCaseSensitive(bool value) +{ + if (_bTextCaseSensitive != value) { + _bTextCaseSensitive = value; + Settings->setValueToGroup(_group, "TextCaseSensitive", value); + } +} + QIcon ChatLobbyUserNotify::getIcon() { return QIcon(":/images/chat_32.png"); @@ -249,12 +258,12 @@ void ChatLobbyUserNotify::chatLobbyNewMessage(ChatLobbyId lobby_id, QDateTime ti bGetNickName = checkWord(msg, QString::fromUtf8(details.mNickname.c_str())); } - bool bFoundTextToNotify = false; + bool bFoundTextToNotify = false; - if(_bCountSpecificText) - for (QStringList::Iterator it = _textToNotify.begin(); it != _textToNotify.end(); ++it) { - bFoundTextToNotify |= checkWord(msg, (*it)); - } + if(_bCountSpecificText) + for (QStringList::Iterator it = _textToNotify.begin(); it != _textToNotify.end(); ++it) { + bFoundTextToNotify |= checkWord(msg, (*it)); + } if ((bGetNickName || bFoundTextToNotify || _bCountUnRead)){ QString strAnchor = time.toString(Qt::ISODate); @@ -272,7 +281,7 @@ bool ChatLobbyUserNotify::checkWord(QString message, QString word) { bool bFound = false; int nFound = -1; - if (((nFound=message.indexOf(word)) != -1) + if (((nFound=message.indexOf(word,0,_bTextCaseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive)) != -1) && (!word.isEmpty())) { QString eow=" ~!@#$%^&*()_+{}|:\"<>?,./;'[]\\-="; // end of word bool bFirstCharEOW = (nFound==0)?true:(eow.indexOf(message.at(nFound-1)) != -1); diff --git a/retroshare-gui/src/gui/chat/ChatLobbyUserNotify.h b/retroshare-gui/src/gui/chat/ChatLobbyUserNotify.h index 04941b006..d55310f9d 100644 --- a/retroshare-gui/src/gui/chat/ChatLobbyUserNotify.h +++ b/retroshare-gui/src/gui/chat/ChatLobbyUserNotify.h @@ -55,11 +55,13 @@ public: bool isCheckForNickName() { return _bCheckForNickName;} void setCountUnRead(bool value); bool isCountUnRead() { return _bCountUnRead;} - void setCountSpecificText(bool value); - bool isCountSpecificText() { return _bCountSpecificText;} - void setTextToNotify(QStringList); + void setCountSpecificText(bool value); + bool isCountSpecificText() { return _bCountSpecificText;} + void setTextToNotify(QStringList); void setTextToNotify(QString); QString textToNotify() { return _textToNotify.join("\n");} + void setTextCaseSensitive(bool value); + bool isTextCaseSensitive() {return _bTextCaseSensitive;} signals: void countChanged(ChatLobbyId id, unsigned int count); @@ -84,10 +86,12 @@ private: typedef std::map msg_map; typedef std::map lobby_map; lobby_map _listMsg; - QStringList _textToNotify; - bool _bCheckForNickName; + bool _bCountUnRead; - bool _bCountSpecificText; + bool _bCheckForNickName; + bool _bCountSpecificText; + QStringList _textToNotify; + bool _bTextCaseSensitive; }; #endif // CHATLOBBYUSERNOTIFY_H diff --git a/retroshare-gui/src/gui/settings/NotifyPage.cpp b/retroshare-gui/src/gui/settings/NotifyPage.cpp index 8c03befe6..1c31af679 100755 --- a/retroshare-gui/src/gui/settings/NotifyPage.cpp +++ b/retroshare-gui/src/gui/settings/NotifyPage.cpp @@ -44,7 +44,7 @@ NotifyPage::NotifyPage(QWidget * parent, Qt::WindowFlags flags) connect(ui.testToasterButton, SIGNAL(clicked()), this, SLOT(testToaster())); connect(ui.pushButtonDisableAll,SIGNAL(toggled(bool)), NotifyQt::getInstance(), SLOT(SetDisableAll(bool))); connect(NotifyQt::getInstance(),SIGNAL(disableAllChanged(bool)), ui.pushButtonDisableAll, SLOT(setChecked(bool))); - connect(ui.chatLobbies_CountFollowingText,SIGNAL(toggled(bool)),ui.chatLobbies_TextToNotify,SLOT(setEnabled(bool))) ; + connect(ui.chatLobbies_CountFollowingText,SIGNAL(toggled(bool)),ui.chatLobbies_TextToNotify,SLOT(setEnabled(bool))); ui.notify_Blogs->hide(); @@ -257,6 +257,7 @@ NotifyPage::save(QString &/*errmsg*/) mChatLobbyUserNotify->setCheckForNickName(ui.chatLobbies_CheckNickName->isChecked()) ; mChatLobbyUserNotify->setCountSpecificText(ui.chatLobbies_CountFollowingText->isChecked()) ; mChatLobbyUserNotify->setTextToNotify(ui.chatLobbies_TextToNotify->document()->toPlainText()); + mChatLobbyUserNotify->setTextCaseSensitive(ui.chatLobbies_TextCaseSensitive->isChecked()); } load(); return true; @@ -348,11 +349,12 @@ void NotifyPage::load() notifyToggled(); if (mChatLobbyUserNotify){ - ui.chatLobbies_TextToNotify->setEnabled(mChatLobbyUserNotify->isCountSpecificText()) ; - ui.chatLobbies_CountFollowingText->setChecked(mChatLobbyUserNotify->isCountSpecificText()) ; ui.chatLobbies_CountUnRead->setChecked(mChatLobbyUserNotify->isCountUnRead()); ui.chatLobbies_CheckNickName->setChecked(mChatLobbyUserNotify->isCheckForNickName()); + ui.chatLobbies_CountFollowingText->setChecked(mChatLobbyUserNotify->isCountSpecificText()) ; + ui.chatLobbies_TextToNotify->setEnabled(mChatLobbyUserNotify->isCountSpecificText()) ; ui.chatLobbies_TextToNotify->setPlainText(mChatLobbyUserNotify->textToNotify()); + ui.chatLobbies_TextCaseSensitive->setChecked(mChatLobbyUserNotify->isTextCaseSensitive()); } } diff --git a/retroshare-gui/src/gui/settings/NotifyPage.ui b/retroshare-gui/src/gui/settings/NotifyPage.ui index 56f38c647..b3f4063a1 100755 --- a/retroshare-gui/src/gui/settings/NotifyPage.ui +++ b/retroshare-gui/src/gui/settings/NotifyPage.ui @@ -10,7 +10,7 @@ 512 - + @@ -20,21 +20,30 @@ Feed - + - + News Feed - + 0 - + + 6 + + + 6 + + + 6 + + 6 - + @@ -104,7 +113,7 @@ - + @@ -113,7 +122,7 @@ - + Qt::Vertical @@ -135,7 +144,7 @@ Message - + @@ -147,7 +156,7 @@ - + Qt::Vertical @@ -165,7 +174,7 @@ Toasters - + @@ -180,11 +189,11 @@ - + Toasters - + 9 @@ -192,9 +201,9 @@ 9 - + - + @@ -250,7 +259,7 @@ - + @@ -259,7 +268,7 @@ - + Qt::Vertical @@ -276,7 +285,7 @@ - + @@ -355,7 +364,7 @@ - + Qt::Vertical @@ -376,7 +385,7 @@ Systray - + @@ -390,7 +399,7 @@ - + Systray message @@ -413,7 +422,7 @@ - + Qt::Vertical @@ -431,7 +440,7 @@ Chat Lobbies - + @@ -457,7 +466,17 @@ - + + + Checked, if the identity and the text above occurences must be in the same case to trigger count. + + + Case sensitive + + + + + Qt::Vertical From 88407e6d30fcacad61056ba494f59f85ee4804cf Mon Sep 17 00:00:00 2001 From: Phenom Date: Sun, 7 Aug 2016 19:41:44 +0200 Subject: [PATCH 106/158] Fix Image Block on RSTextBrowser. --- retroshare-gui/src/gui/common/RSTextBrowser.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/retroshare-gui/src/gui/common/RSTextBrowser.cpp b/retroshare-gui/src/gui/common/RSTextBrowser.cpp index 20c76703d..87f77c437 100644 --- a/retroshare-gui/src/gui/common/RSTextBrowser.cpp +++ b/retroshare-gui/src/gui/common/RSTextBrowser.cpp @@ -92,7 +92,12 @@ QVariant RSTextBrowser::loadResource(int type, const QUrl &name) if (mImageBlockWidget) mImageBlockWidget->show(); + //https://git.merproject.org/lbt/qtbase/commit/6d13e9f29597e0d557857e3f80173faba5368424 +#if QT_VERSION >= QT_VERSION_CHECK (5, 0, 0) + return QPixmap(":/qt-project.org/styles/commonstyle/images/file-16.png"); +#else return QPixmap(":/trolltech/styles/commonstyle/images/file-16.png"); +#endif } void RSTextBrowser::setImageBlockWidget(RSImageBlockWidget *widget) From 183ac22abad0e850732cd4ed7bff32a19845f5b6 Mon Sep 17 00:00:00 2001 From: Gio Date: Mon, 8 Aug 2016 14:02:01 +0200 Subject: [PATCH 107/158] ApiServerLocal run on it's own thread to avoid stopping UI ApiLocalConnectionHandler can now handle both buffered (QLocalSocket based) and unbuffered (like ncat or simple scripts) clients --- libresapi/src/api/ApiServerLocal.cpp | 109 +++++++++++++++++++-------- libresapi/src/api/ApiServerLocal.h | 60 +++++++++++---- 2 files changed, 121 insertions(+), 48 deletions(-) diff --git a/libresapi/src/api/ApiServerLocal.cpp b/libresapi/src/api/ApiServerLocal.cpp index b53a356cc..4e3f50e65 100644 --- a/libresapi/src/api/ApiServerLocal.cpp +++ b/libresapi/src/api/ApiServerLocal.cpp @@ -1,12 +1,39 @@ +/* + * libresapi local socket server + * Copyright (C) 2016 Gioacchino Mazzurco + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + #include "ApiServerLocal.h" #include "JsonStream.h" namespace resource_api{ -ApiServerLocal::ApiServerLocal(ApiServer* server) : QThread(), - mApiServer(server), mLocalServer(this) +ApiServerLocal::ApiServerLocal(ApiServer* server, QObject *parent) : + QObject(parent), serverThread(this), + localListener(server) // Must have no parent to be movable to other thread +{ + localListener.moveToThread(&serverThread); + serverThread.start(); +} + +ApiServerLocal::~ApiServerLocal() { serverThread.quit(); } + +ApiLocalListener::ApiLocalListener(ApiServer *server, QObject *parent) : + QObject(parent), mApiServer(server), mLocalServer(this) { - start(); mLocalServer.removeServer(serverName()); #if QT_VERSION >= 0x050000 mLocalServer.setSocketOptions(QLocalServer::UserAccessOption); @@ -15,56 +42,72 @@ ApiServerLocal::ApiServerLocal(ApiServer* server) : QThread(), mLocalServer.listen(serverName()); } -ApiServerLocal::~ApiServerLocal() +void ApiLocalListener::handleConnection() { - mLocalServer.close(); - quit(); + new ApiLocalConnectionHandler(mApiServer, + mLocalServer.nextPendingConnection(), this); } -void ApiServerLocal::handleConnection() +ApiLocalConnectionHandler::ApiLocalConnectionHandler( + ApiServer* apiServer, QLocalSocket* sock, QObject *parent) : + QObject(parent), mApiServer(apiServer), mLocalSocket(sock), + mState(WAITING_PATH) { - new ApiLocalConnectionHandler(mApiServer, mLocalServer.nextPendingConnection()); + connect(mLocalSocket, SIGNAL(disconnected()), this, SLOT(deleteLater())); + connect(sock, SIGNAL(readyRead()), this, SLOT(handlePendingRequests())); } -ApiLocalConnectionHandler::ApiLocalConnectionHandler(ApiServer* apiServer, QLocalSocket* sock) : - QThread(), mApiServer(apiServer), mLocalSocket(sock) +ApiLocalConnectionHandler::~ApiLocalConnectionHandler() { - sock->moveToThread(this); - connect(this, SIGNAL(finished()), this, SLOT(deleteLater())); - connect(mLocalSocket, SIGNAL(disconnected()), this, SLOT(quit())); - connect(sock, SIGNAL(readyRead()), this, SLOT(handleRequest())); - start(); + mLocalSocket->close(); + delete mLocalSocket; } -void ApiLocalConnectionHandler::handleRequest() +void ApiLocalConnectionHandler::handlePendingRequests() { - char path[1024]; - if(mLocalSocket->readLine(path, 1023) > 0) + switch(mState) { - reqPath = path; - char jsonData[20480]; - if(mLocalSocket->read(jsonData, 20479) > 0) + case WAITING_PATH: + { + if(mLocalSocket->canReadLine()) + { + readPath: + reqPath = mLocalSocket->readLine().constData(); + mState = WAITING_DATA; + + /* Because QLocalSocket is SOCK_STREAM some clients implementations + * like the one based on QLocalSocket feel free to send the whole + * request (PATH + DATA) in a single write(), causing readyRead() + * signal being emitted only once, in that case we should continue + * processing without waiting for readyRead() being fired again, so + * we don't break here as there may be more lines to read */ + } + } + case WAITING_DATA: + { + if(mLocalSocket->canReadLine()) { resource_api::JsonStream reqJson; - reqJson.setJsonString(std::string(jsonData)); + reqJson.setJsonString(std::string(mLocalSocket->readLine().constData())); resource_api::Request req(reqJson); req.setPath(reqPath); std::string resultString = mApiServer->handleRequest(req); mLocalSocket->write(resultString.c_str(), resultString.length()); mLocalSocket->write("\n\0"); + mState = WAITING_PATH; + + /* Because QLocalSocket is SOCK_STREAM some clients implementations + * like the one based on QLocalSocket feel free to coalesce multiple + * upper level write() into a single socket write(), causing + * readyRead() signal being emitted only once, in that case we should + * keep processing without waiting for readyRead() being fired again */ + if(mLocalSocket->canReadLine()) goto readPath; + + // Now there are no more requests to process we can break + break; } - else mLocalSocket->write("\"{\"data\":null,\"debug_msg\":\"ApiLocalConnectionHandler::handleRequest() Error: timeout waiting for path.\\n\",\"returncode\":\"fail\"}\"\n\0"); } - else mLocalSocket->write("{\"data\":null,\"debug_msg\":\"ApiLocalConnectionHandler::handleRequest() Error: timeout waiting for JSON data.\\n\",\"returncode\":\"fail\"}\"\n\0"); - - quit(); -} - -ApiLocalConnectionHandler::~ApiLocalConnectionHandler() -{ - mLocalSocket->flush(); - mLocalSocket->close(); - mLocalSocket->deleteLater(); + } } } // namespace resource_api diff --git a/libresapi/src/api/ApiServerLocal.h b/libresapi/src/api/ApiServerLocal.h index 73f001143..8835f712c 100644 --- a/libresapi/src/api/ApiServerLocal.h +++ b/libresapi/src/api/ApiServerLocal.h @@ -1,4 +1,21 @@ #pragma once +/* + * libresapi local socket server + * Copyright (C) 2016 Gioacchino Mazzurco + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ #include #include @@ -11,22 +28,14 @@ namespace resource_api { -class ApiServer; -class ApiServerLocal : public QThread +class ApiLocalListener : public QObject { Q_OBJECT public: - ApiServerLocal(ApiServer* server); - ~ApiServerLocal(); - -public slots: - void handleConnection(); - -private: - ApiServer* mApiServer; - QLocalServer mLocalServer; + ApiLocalListener(ApiServer* server, QObject *parent=0); + ~ApiLocalListener() { mLocalServer.close(); } const static QString& serverName() { @@ -34,24 +43,45 @@ private: .append("/libresapi.sock").c_str()); return sockPath; } + +public slots: + void handleConnection(); + +private: + ApiServer* mApiServer; + QLocalServer mLocalServer; }; -class ApiLocalConnectionHandler : public QThread +class ApiServerLocal : public QObject { Q_OBJECT public: - ApiLocalConnectionHandler(ApiServer* apiServer, QLocalSocket* sock); + ApiServerLocal(ApiServer* server, QObject *parent=0); + ~ApiServerLocal(); + +private: + QThread serverThread; + ApiLocalListener localListener; +}; + +class ApiLocalConnectionHandler : public QObject +{ + Q_OBJECT + +public: + ApiLocalConnectionHandler(ApiServer* apiServer, QLocalSocket* sock, QObject *parent = 0); ~ApiLocalConnectionHandler(); + enum State {WAITING_PATH, WAITING_DATA}; public slots: - void handleRequest(); + void handlePendingRequests(); private: ApiServer* mApiServer; QLocalSocket* mLocalSocket; + State mState; std::string reqPath; - void _die(); }; } // namespace resource_api From 72d743584a80c39b3d7910f29db39aa4b420704e Mon Sep 17 00:00:00 2001 From: Phenom Date: Mon, 8 Aug 2016 19:05:42 +0200 Subject: [PATCH 108/158] Fix RsGxsNetService::handleRecvPublishKeys when grpMeta is NULL Bug noted by Papache --- libretroshare/src/gxs/rsgxsnetservice.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libretroshare/src/gxs/rsgxsnetservice.cc b/libretroshare/src/gxs/rsgxsnetservice.cc index b29839bcd..0bd8c5b5b 100644 --- a/libretroshare/src/gxs/rsgxsnetservice.cc +++ b/libretroshare/src/gxs/rsgxsnetservice.cc @@ -4827,6 +4827,10 @@ void RsGxsNetService::handleRecvPublishKeys(RsNxsGroupPublishKeyItem *item) // update the publish keys in this group meta info RsGxsGrpMetaData *grpMeta = grpMetaMap[item->grpId] ; + if (!grpMeta) { + std::cerr << "(EE) RsGxsNetService::handleRecvPublishKeys() grpMeta not found." << std::endl; + return ; + } // Check that the keys correspond, and that FULL keys are supplied, etc. From ee368ef0459f7b260c6e3f0fe29845ff4e78ff92 Mon Sep 17 00:00:00 2001 From: Phenom Date: Mon, 8 Aug 2016 20:45:35 +0200 Subject: [PATCH 109/158] Fix RsCollection Editor Count Update When Removing items. Thanks to Jola to get this bug. --- .../src/gui/common/RsCollectionDialog.cpp | 148 ++++++++++++------ .../src/gui/common/RsCollectionDialog.h | 1 + 2 files changed, 97 insertions(+), 52 deletions(-) diff --git a/retroshare-gui/src/gui/common/RsCollectionDialog.cpp b/retroshare-gui/src/gui/common/RsCollectionDialog.cpp index 9cb5b268f..eb920f219 100644 --- a/retroshare-gui/src/gui/common/RsCollectionDialog.cpp +++ b/retroshare-gui/src/gui/common/RsCollectionDialog.cpp @@ -805,7 +805,7 @@ bool RsCollectionDialog::addAllChild(QFileInfo &fileInfoParent */ void RsCollectionDialog::remove() { - bool removeOnlyFile=false; + bool removeOnlyFile=false; QString listDir; // First, check if selection contains directories for (int curs = 0; curs < ui._fileEntriesTW->selectedItems().count(); ++curs) @@ -880,20 +880,49 @@ void RsCollectionDialog::remove() }//if (!listDir.isEmpty()) //Remove wanted items - for (int curs = 0; curs < ui._fileEntriesTW->selectedItems().count(); ++curs) - {// Have to call ui._fileEntriesTW->selectedItems().count() each time as selected change - QTreeWidgetItem *item = NULL; - item= ui._fileEntriesTW->selectedItems().at(curs); + int leftItem = 0; + // Have to call ui._fileEntriesTW->selectedItems().count() each time as selected change + while (ui._fileEntriesTW->selectedItems().count() > leftItem) { + QTreeWidgetItem *item = ui._fileEntriesTW->selectedItems().at(leftItem); if (item != getRootItem()){ - if ((item->data(COLUMN_HASH, ROLE_TYPE).toUInt() != DIR_TYPE_DIR) || !removeOnlyFile) { + if (!removeItem(item, removeOnlyFile)) { + ++leftItem; + } + } else { + //Get Root change index + ++leftItem; + } + } + + updateSizes() ; + +} + +bool RsCollectionDialog::removeItem(QTreeWidgetItem *item, bool &removeOnlyFile) +{ + if (item){ + if ((item->data(COLUMN_HASH, ROLE_TYPE).toUInt() != DIR_TYPE_DIR) || !removeOnlyFile) { + int leftItem = 0; + while (item->childCount() > leftItem) { + if (!removeItem(item->child(0), removeOnlyFile)) { + ++leftItem; + } + } + if (leftItem == 0) { + //First uncheck item to update parent informations + item->setCheckState(COLUMN_FILE,Qt::Unchecked); QTreeWidgetItem *parent = item->parent(); parent->removeChild(item); - curs = 0;//Cause we don't know how many child of this item was selected (and don't want iterate them ;) ) + return true; + } else { + if (!removeOnlyFile) { + std::cerr << "(EE) RsCollectionDialog::removeItem This could never happen." << std::endl; + } } - }//if (item != getRootItem())* - }//for (int curs = 0; curs < count; ++curs) - + } + } + return false; } /** Process each item to make a new RsCollection item */ @@ -1096,6 +1125,7 @@ void RsCollectionDialog::itemChanged(QTreeWidgetItem *item, int col) void RsCollectionDialog::updateRemoveDuplicate(bool checked) { if (checked) { + bool bRemoveAll = false; QTreeWidgetItemIterator it(ui._fileEntriesTW); QTreeWidgetItem *item; while ((item = *it) != NULL) { @@ -1104,57 +1134,71 @@ void RsCollectionDialog::updateRemoveDuplicate(bool checked) QList founds; founds << ui._fileEntriesTW->findItems(item->text(COLUMN_HASH), Qt::MatchExactly | Qt::MatchRecursive, COLUMN_HASH); if (founds.count() > 1) { - QMessageBox* msgBox = new QMessageBox(QMessageBox::Information, "", ""); - msgBox->setText("Warning, duplicate file found."); - //msgBox->setInformativeText(); If text too long, no scroll, so I add an text edit - msgBox->setStandardButtons(QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel); - msgBox->setDefaultButton(QMessageBox::Yes); + bool bRemove = false; + if (!bRemoveAll) { + QMessageBox* msgBox = new QMessageBox(QMessageBox::Information, "", ""); + msgBox->setText("Warning, duplicate file found."); + //msgBox->setInformativeText(); If text too long, no scroll, so I add an text edit + msgBox->setStandardButtons(QMessageBox::YesToAll | QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel); + msgBox->setDefaultButton(QMessageBox::Yes); - QGridLayout* layout = qobject_cast(msgBox->layout()); - if (layout) { - int newRow = 1; - for (int row = layout->count()-1; row >= 0; --row) { - for (int col = layout->columnCount()-1; col >= 0; --col) { - QLayoutItem *item = layout->itemAtPosition(row, col); - if (item) { - int index = layout->indexOf(item->widget()); - int r=0, c=0, rSpan=0, cSpan=0; - layout->getItemPosition(index, &r, &c, &rSpan, &cSpan); - if (r>0) { - layout->removeItem(item); - layout->addItem(item, r+3, c, rSpan, cSpan); - } else if (rSpan>1) { - newRow = rSpan + 1; + QGridLayout* layout = qobject_cast(msgBox->layout()); + if (layout) { + int newRow = 1; + for (int row = layout->count()-1; row >= 0; --row) { + for (int col = layout->columnCount()-1; col >= 0; --col) { + QLayoutItem *item = layout->itemAtPosition(row, col); + if (item) { + int index = layout->indexOf(item->widget()); + int r=0, c=0, rSpan=0, cSpan=0; + layout->getItemPosition(index, &r, &c, &rSpan, &cSpan); + if (r>0) { + layout->removeItem(item); + layout->addItem(item, r+3, c, rSpan, cSpan); + } else if (rSpan>1) { + newRow = rSpan + 1; + } } } } + QLabel *label = new QLabel(tr("Do you want to remove this file from the list?")); + layout->addWidget(label,newRow, 0, 1, layout->columnCount(), Qt::AlignHCenter ); + QTextEdit *edit = new QTextEdit(item->text(COLUMN_FILEPATH)); + edit->setReadOnly(true); + edit->setWordWrapMode(QTextOption::NoWrap); + layout->addWidget(edit,newRow+1, 0, 1, layout->columnCount(), Qt::AlignHCenter ); } - QLabel *label = new QLabel(tr("Do you want to remove this file from the list?")); - layout->addWidget(label,newRow, 0, 1, layout->columnCount(), Qt::AlignHCenter ); - QTextEdit *edit = new QTextEdit(item->text(COLUMN_FILEPATH)); - edit->setReadOnly(true); - edit->setWordWrapMode(QTextOption::NoWrap); - layout->addWidget(edit,newRow+1, 0, 1, layout->columnCount(), Qt::AlignHCenter ); + + int ret = msgBox->exec(); + switch (ret) { + case QMessageBox::YesToAll: { + bRemoveAll = true; + } + break; + case QMessageBox::Yes: { + bRemove = true; + } + break; + case QMessageBox::No: + break; + case QMessageBox::Cancel: { + delete msgBox; + ui._removeDuplicate_CB->setChecked(false); + return; + } + break; + default: + // should never be reached + break; + } + delete msgBox; } - int ret = msgBox->exec(); - switch (ret) { - case QMessageBox::Yes: + if (bRemove || bRemoveAll) { + //First uncheck item to update parent informations + item->setCheckState(COLUMN_FILE,Qt::Unchecked); item->parent()->removeChild(item); - break; - case QMessageBox::No: - break; - case QMessageBox::Cancel: { - delete msgBox; - ui._removeDuplicate_CB->setChecked(true); - return; - } - break; - default: - // should never be reached - break; } - delete msgBox; } } diff --git a/retroshare-gui/src/gui/common/RsCollectionDialog.h b/retroshare-gui/src/gui/common/RsCollectionDialog.h index eb9233928..2c5721d8b 100644 --- a/retroshare-gui/src/gui/common/RsCollectionDialog.h +++ b/retroshare-gui/src/gui/common/RsCollectionDialog.h @@ -69,6 +69,7 @@ private: QTreeWidgetItem* getRootItem(); bool updateList(); bool addChild(QTreeWidgetItem *parent, const std::vector &child); + bool removeItem(QTreeWidgetItem *item, bool &removeOnlyFile) ; void addRecursive(bool recursive) ; bool addAllChild(QFileInfo &fileInfoParent , QMap &dirToAdd From d59f7a09dbe573b94e19259946b7808c553439fc Mon Sep 17 00:00:00 2001 From: Phenom Date: Mon, 8 Aug 2016 21:59:12 +0200 Subject: [PATCH 110/158] Fix NAT Status LED Fix the PR#426 4d2d825d --- libretroshare/src/pqi/pqinetstatebox.cc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libretroshare/src/pqi/pqinetstatebox.cc b/libretroshare/src/pqi/pqinetstatebox.cc index 7a0601fb9..b08994855 100644 --- a/libretroshare/src/pqi/pqinetstatebox.cc +++ b/libretroshare/src/pqi/pqinetstatebox.cc @@ -243,6 +243,7 @@ int pqiNetStateBox::updateNetState() void pqiNetStateBox::clearOldNetworkData() { +#ifdef RS_USE_DHT_STUNNER /* check if any measurements are too old to consider */ time_t now = time(NULL); if (now - mStunProxyTS > NETSTATE_PARAM_TIMEOUT) @@ -254,6 +255,14 @@ void pqiNetStateBox::clearOldNetworkData() { mStunDhtSet = false; } +#else + //Set values, as they are not updated. + mStunProxySet = true; + mStunDhtSet = true; + mStunProxyStable = true; + mStunDhtStable = true; +#endif + } From 6edd7bb8e399baa757f06d9da175a4ec5819c650 Mon Sep 17 00:00:00 2001 From: Phenom Date: Sat, 6 Aug 2016 17:15:56 +0200 Subject: [PATCH 111/158] Add possibility to create GXSId directly on GenCertDialog. --- libretroshare/src/retroshare/rsidentity.h | 1 + retroshare-gui/src/gui/GenCertDialog.cpp | 264 +++++---- retroshare-gui/src/gui/GenCertDialog.h | 2 + retroshare-gui/src/gui/GenCertDialog.ui | 506 ++++++++---------- .../src/gui/Identity/IdEditDialog.cpp | 8 +- .../src/gui/qss/stylesheet/Standard.qss | 15 +- retroshare-gui/src/main.cpp | 44 +- 7 files changed, 430 insertions(+), 410 deletions(-) diff --git a/libretroshare/src/retroshare/rsidentity.h b/libretroshare/src/retroshare/rsidentity.h index bf6a80724..e7a7abbe8 100644 --- a/libretroshare/src/retroshare/rsidentity.h +++ b/libretroshare/src/retroshare/rsidentity.h @@ -62,6 +62,7 @@ extern RsIdentity *rsIdentity; // Unicode symbols. NOT utf-8 bytes, because of multi byte characters #define RSID_MAXIMUM_NICKNAME_SIZE 30 +#define RSID_MINIMUM_NICKNAME_SIZE 2 std::string rsIdTypeToString(uint32_t idtype); diff --git a/retroshare-gui/src/gui/GenCertDialog.cpp b/retroshare-gui/src/gui/GenCertDialog.cpp index 555a35f7f..2d5e76ead 100644 --- a/retroshare-gui/src/gui/GenCertDialog.cpp +++ b/retroshare-gui/src/gui/GenCertDialog.cpp @@ -19,21 +19,26 @@ * Boston, MA 02110-1301, USA. ****************************************************************/ -#include -#include -#include -#include -#include "gui/settings/rsharesettings.h" -#include "util/misc.h" #include "GenCertDialog.h" + #include #include #include -#include #include #include #include +#include #include + +#include +#include "gui/settings/rsharesettings.h" +#include "util/misc.h" + +#include +#include +#include +#include + #include #include #include @@ -99,18 +104,18 @@ void GenCertDialog::grabMouse() ui.entropy_bar->setValue(count*100/2048) ; - if(ui.entropy_bar->value() < 20) - { - ui.genButton2->setEnabled(false) ; - ui.genButton2->setIcon(QIcon(":/images/delete.png")) ; - ui.genButton2->setToolTip(tr("Currently disabled. Please move your mouse around until you reach at least 20%")) ; - } - else - { - ui.genButton2->setEnabled(true) ; - ui.genButton2->setIcon(QIcon(":/images/resume.png")) ; - ui.genButton2->setToolTip(tr("Click to create your node and/or profile")) ; - } + if(ui.entropy_bar->value() < 20) + { + ui.genButton->setEnabled(false) ; + ui.genButton->setIcon(QIcon(":/images/delete.png")) ; + ui.genButton->setToolTip(tr("Currently disabled. Please move your mouse around until you reach at least 20%")) ; + } + else + { + ui.genButton->setEnabled(true) ; + ui.genButton->setIcon(QIcon(":/images/resume.png")) ; + ui.genButton->setToolTip(tr("Click to create your node and/or profile")) ; + } RsInit::collectEntropy(E+(F << 16)) ; } @@ -121,7 +126,9 @@ void GenCertDialog::grabMouse() //} /** Default constructor */ GenCertDialog::GenCertDialog(bool onlyGenerateIdentity, QWidget *parent) - : QDialog(parent, Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint), mOnlyGenerateIdentity(onlyGenerateIdentity) + : QDialog(parent, Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowCloseButtonHint) + , mOnlyGenerateIdentity(onlyGenerateIdentity) + , mGXSNickname("") { /* Invoke Qt Designer generated QObject setup routine */ ui.setupUi(this); @@ -130,10 +137,10 @@ GenCertDialog::GenCertDialog(bool onlyGenerateIdentity, QWidget *parent) ui.headerFrame->setHeaderText(tr("Create a new profile")); connect(ui.new_gpg_key_checkbox, SIGNAL(clicked()), this, SLOT(newGPGKeyGenUiSetup())); - connect(ui.adv_checkbox, SIGNAL(clicked()), this, SLOT(updateUiSetup())); - connect(ui.hidden_checkbox, SIGNAL(clicked()), this, SLOT(updateUiSetup())); + connect(ui.adv_checkbox, SIGNAL(clicked()), this, SLOT(updateUiSetup())); + connect(ui.hidden_checkbox, SIGNAL(clicked()), this, SLOT(updateUiSetup())); - connect(ui.genButton2, SIGNAL(clicked()), this, SLOT(genPerson())); + connect(ui.genButton, SIGNAL(clicked()), this, SLOT(genPerson())); connect(ui.importIdentity_PB, SIGNAL(clicked()), this, SLOT(importIdentity())); connect(ui.exportIdentity_PB, SIGNAL(clicked()), this, SLOT(exportIdentity())); @@ -162,17 +169,20 @@ GenCertDialog::GenCertDialog(bool onlyGenerateIdentity, QWidget *parent) // make sure that QVariant always takes an 'int' otherwise the program will crash! ui.keylength_comboBox->addItem("default (2048 bits, recommended)", QVariant(2048)); ui.keylength_comboBox->addItem("high (3072 bits)", QVariant(3072)); - ui.keylength_comboBox->addItem("insane (4096 bits)", QVariant(4096)); + ui.keylength_comboBox->addItem("insane (4096 bits)", QVariant(4096)); #if QT_VERSION >= 0x040700 ui.email_input->setPlaceholderText(tr("[Optional] Visible to your friends, and friends of friends.")) ; ui.node_input->setPlaceholderText(tr("[Required] Examples: Home, Laptop,...")) ; ui.hiddenaddr_input->setPlaceholderText(tr("[Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor)")) ; ui.name_input->setPlaceholderText(tr("[Required] Visible to your friends, and friends of friends.")); + ui.nickname_input->setPlaceholderText(tr("[Optional] Used when you write in chat lobbies, forums and channel comments.")); ui.password_input->setPlaceholderText(tr("[Required] This password protects your private PGP key.")); ui.password_input_2->setPlaceholderText(tr("[Required] Type the same password again here.")); #endif + ui.nickname_input->setMaxLength(RSID_MAXIMUM_NICKNAME_SIZE); + ui.node_input->setToolTip(tr("Enter a meaningful node description. e.g. : home, laptop, etc. \nThis field will be used to differentiate different installations with\nthe same profile (PGP key pair).")) ; ui.email_input->hide() ; @@ -223,7 +233,7 @@ void GenCertDialog::init() ui.header_label->show(); ui.new_gpg_key_checkbox->setChecked(false); setWindowTitle(tr("Create new node")); - ui.genButton2->setText(tr("Generate new node")); + ui.genButton->setText(tr("Generate new node")); ui.headerFrame->setHeaderText(tr("Create a new node")); genNewGPGKey = false; } else { @@ -232,7 +242,7 @@ void GenCertDialog::init() ui.new_gpg_key_checkbox->setChecked(true); ui.new_gpg_key_checkbox->setEnabled(true); setWindowTitle(tr("Create new profile")); - ui.genButton2->setText(tr("Generate new profile and node")); + ui.genButton->setText(tr("Generate new profile and node")); ui.headerFrame->setHeaderText(tr("Create a new profile and node")); genNewGPGKey = true; } @@ -271,35 +281,45 @@ void GenCertDialog::newGPGKeyGenUiSetup() { if (ui.new_gpg_key_checkbox->isChecked()) { genNewGPGKey = true; + setWindowTitle(tr("Create new profile")); + ui.headerFrame->setHeaderText(tr("Create a new profile and node")); + if (!mOnlyGenerateIdentity) { + ui.header_label->setVisible(haveGPGKeys); + } + ui.genprofileinfo_label->setVisible(false); + ui.no_gpg_key_label->setText(tr("Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form.\nAlternatively you can import a (previously exported) profile. Just uncheck \"Create a new profile\"")); + + ui.importIdentity_PB->hide() ; + ui.exportIdentity_PB->hide(); + ui.adv_checkbox->setVisible(true); + + ui.genPGPuserlabel->hide(); + ui.genPGPuser->hide(); ui.name_label->show(); ui.name_input->show(); + ui.nickname_label->setVisible(!mOnlyGenerateIdentity); + ui.nickname_input->setVisible(!mOnlyGenerateIdentity); + ui.node_label->setVisible(true); + ui.node_input->setVisible(true); // ui.email_label->show(); // ui.email_input->show(); ui.password_label->show(); ui.password_label_2->show(); ui.password_input->show(); ui.password_input_2->show(); - ui.genPGPuserlabel->hide(); - ui.genPGPuser->hide(); - ui.importIdentity_PB->hide() ; - ui.exportIdentity_PB->hide(); - setWindowTitle(tr("Create new profile")); - ui.genButton2->setText(tr("Generate new profile and node")); - ui.headerFrame->setHeaderText(tr("Create a new profile and node")); - ui.no_gpg_key_label->setText(tr("Welcome to Retroshare. Before you can proceed you need to create a profile and associate a node with it. To do so please fill out this form.\nAlternatively you can import a (previously exported) profile. Just uncheck \"Create a new profile\"")); - ui.genButton2->setVisible(true); - ui.adv_checkbox->setVisible(true); - ui.node_label->setVisible(true); - ui.node_input->setVisible(true); - ui.entropy_label->setVisible(true); - ui.entropy_bar->setVisible(true); - ui.genprofileinfo_label->setVisible(false); - if (!mOnlyGenerateIdentity) { - ui.header_label->setVisible(haveGPGKeys); - } //ui.keylength_label->show(); //ui.keylength_comboBox->show(); + + ui.entropy_label->setVisible(true); + ui.entropy_bar->setVisible(true); + + ui.genButton->setVisible(true); + ui.genButton->setText(tr("Generate new profile and node")); } else { + genNewGPGKey = false; + setWindowTitle(tr("Create new node")); + ui.headerFrame->setHeaderText(tr("Create a new node")); + ui.header_label->setVisible(false); //haveGPGKeys = (ui.genPGPuser->count() != 0)?true:false; if (haveGPGKeys) { QVariant data = ui.genPGPuser->itemData(ui.genPGPuser->currentIndex()); @@ -310,37 +330,39 @@ void GenCertDialog::newGPGKeyGenUiSetup() { ui.genprofileinfo_label->show(); } } - genNewGPGKey = false; - ui.name_label->hide(); - ui.name_input->hide(); -// ui.email_label->hide(); -// ui.email_input->hide(); - ui.password_label->hide(); - ui.password_label_2->hide(); - ui.password_input->hide(); - ui.password_input_2->hide(); - ui.genPGPuserlabel->show(); - ui.genPGPuser->show(); + //ui.genprofileinfo_label->show(); + ui.no_gpg_key_label->setText(tr("Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it.")); + ui.importIdentity_PB->setVisible(!mOnlyGenerateIdentity); ui.exportIdentity_PB->setVisible(haveGPGKeys); ui.exportIdentity_PB->setEnabled(haveGPGKeys); - setWindowTitle(tr("Create new node")); - ui.genButton2->setText(tr("Generate new node")); - ui.headerFrame->setHeaderText(tr("Create a new node")); - ui.no_gpg_key_label->setText(tr("Welcome to Retroshare. Before you can proceed you need to import a profile and after that associate a node with it.")); - ui.genButton2->setVisible(haveGPGKeys); ui.adv_checkbox->setVisible(haveGPGKeys); ui.adv_checkbox->setChecked(haveGPGKeys && adv_state); - ui.genPGPuser->setVisible(haveGPGKeys); + + //ui.genPGPuserlabel->show(); + //ui.genPGPuser->show(); ui.genPGPuserlabel->setVisible(haveGPGKeys); + ui.genPGPuser->setVisible(haveGPGKeys); + ui.name_label->hide(); + ui.name_input->hide(); + ui.nickname_label->setVisible(!mOnlyGenerateIdentity && haveGPGKeys); + ui.nickname_input->setVisible(!mOnlyGenerateIdentity && haveGPGKeys); ui.node_label->setVisible(haveGPGKeys); ui.node_input->setVisible(haveGPGKeys); - ui.entropy_label->setVisible(haveGPGKeys); - ui.entropy_bar->setVisible(haveGPGKeys); - //ui.genprofileinfo_label->show(); - ui.header_label->setVisible(false); +// ui.email_label->hide(); +// ui.email_input->hide(); + ui.password_label->hide(); + ui.password_input->hide(); + ui.password_label_2->hide(); + ui.password_input_2->hide(); ui.keylength_label->hide(); ui.keylength_comboBox->hide(); + + ui.entropy_label->setVisible(haveGPGKeys); + ui.entropy_bar->setVisible(haveGPGKeys); + + ui.genButton->setText(tr("Generate new node")); + ui.genButton->setVisible(haveGPGKeys); } updateUiSetup(); ui.adv_checkbox->setChecked(adv_state); @@ -349,10 +371,10 @@ void GenCertDialog::newGPGKeyGenUiSetup() { void GenCertDialog::updateUiSetup() { - if (ui.adv_checkbox->isChecked()) - { - ui.hidden_checkbox->show(); - + if (ui.adv_checkbox->isChecked()) + { + ui.hidden_checkbox->show(); + if (ui.new_gpg_key_checkbox->isChecked()) { // key length is only for pgp key creation @@ -364,39 +386,39 @@ void GenCertDialog::updateUiSetup() ui.keylength_label->hide(); ui.keylength_comboBox->hide(); } - - if(ui.hidden_checkbox->isChecked()) - { - ui.hiddenaddr_input->show(); - ui.hiddenaddr_label->show(); - ui.label_hiddenaddr2->show(); - ui.hiddenport_label->show(); - ui.hiddenport_spinBox->show(); - } - else - { - ui.hiddenaddr_input->hide(); - ui.hiddenaddr_label->hide(); - ui.label_hiddenaddr2->hide(); - ui.hiddenport_label->hide(); - ui.hiddenport_spinBox->hide(); - } - } - else - { - ui.hiddenaddr_input->hide(); - ui.hiddenaddr_label->hide(); - ui.label_hiddenaddr2->hide(); - ui.hiddenport_label->hide(); - ui.hiddenport_spinBox->hide(); - ui.hidden_checkbox->hide(); - ui.keylength_label->hide(); - ui.keylength_comboBox->hide(); + if(ui.hidden_checkbox->isChecked()) + { + ui.hiddenaddr_input->show(); + ui.hiddenaddr_label->show(); + ui.label_hiddenaddr->show(); + ui.hiddenport_label->show(); + ui.hiddenport_spinBox->show(); + } + else + { + ui.hiddenaddr_input->hide(); + ui.hiddenaddr_label->hide(); + ui.label_hiddenaddr->hide(); + ui.hiddenport_label->hide(); + ui.hiddenport_spinBox->hide(); + } + } + else + { + ui.hiddenaddr_input->hide(); + ui.hiddenaddr_label->hide(); + ui.label_hiddenaddr->hide(); + ui.hiddenport_label->hide(); + ui.hiddenport_spinBox->hide(); - if(ui.hidden_checkbox->isChecked()) - ui.hidden_checkbox->setChecked(false) ; - } + ui.hidden_checkbox->hide(); + ui.keylength_label->hide(); + ui.keylength_comboBox->hide(); + + if(ui.hidden_checkbox->isChecked()) + ui.hidden_checkbox->setChecked(false) ; + } } @@ -418,9 +440,9 @@ void GenCertDialog::exportIdentity() void GenCertDialog::importIdentity() { - QString fname ; - if(!misc::getOpenFileName(this,RshareSettings::LASTDIR_CERT,tr("Import profile"), tr("RetroShare profile files (*.asc);;All files (*)"),fname)) - return ; + QString fname ; + if(!misc::getOpenFileName(this,RshareSettings::LASTDIR_CERT,tr("Import profile"), tr("RetroShare profile files (*.asc);;All files (*)"),fname)) + return ; if(fname.isNull()) return ; @@ -453,7 +475,30 @@ void GenCertDialog::genPerson() RsPgpId PGPId; bool isHiddenLoc = false; - if (ui.hidden_checkbox->isChecked()) + mGXSNickname = ui.nickname_input->text(); + if (!mGXSNickname.isEmpty()) + { + if (mGXSNickname.size() < RSID_MINIMUM_NICKNAME_SIZE) + { + std::cerr << "GenCertDialog::genPerson() GXS Nickname too short (min " << RSID_MINIMUM_NICKNAME_SIZE<< " chars)"; + std::cerr << std::endl; + + QMessageBox::warning(this, "", tr("The GXS nickname is too short. Please input at least %1 characters.").arg(RSID_MINIMUM_NICKNAME_SIZE), QMessageBox::Ok, QMessageBox::Ok); + mGXSNickname = ""; + return; + } + if (mGXSNickname.size() > RSID_MAXIMUM_NICKNAME_SIZE) + { + std::cerr << "GenCertDialog::genPerson() GXS Nickname too long (max " << RSID_MAXIMUM_NICKNAME_SIZE<< " chars)"; + std::cerr << std::endl; + + QMessageBox::warning(this, "", tr("The GXS nickname is too long. Please reduce the length to %1 characters.").arg(RSID_MAXIMUM_NICKNAME_SIZE), QMessageBox::Ok, QMessageBox::Ok); + mGXSNickname = ""; + return; + } + } + + if (ui.hidden_checkbox->isChecked()) { std::string hl = ui.hiddenaddr_input->text().toStdString(); uint16_t port = ui.hiddenport_spinBox->value(); @@ -515,6 +560,8 @@ void GenCertDialog::genPerson() ui.new_gpg_key_checkbox->hide(); ui.name_label->hide(); ui.name_input->hide(); + ui.nickname_label->hide(); + ui.nickname_input->hide(); // ui.email_label->hide(); // ui.email_input->hide(); ui.password_label_2->hide(); @@ -525,12 +572,12 @@ void GenCertDialog::genPerson() ui.genPGPuser->hide(); ui.node_label->hide(); ui.node_input->hide(); - ui.genButton2->hide(); + ui.genButton->hide(); ui.importIdentity_PB->hide(); ui.genprofileinfo_label->hide(); - ui.hidden_checkbox->hide(); - ui.adv_checkbox->hide(); - ui.keylength_label->hide(); + ui.hidden_checkbox->hide(); + ui.adv_checkbox->hide(); + ui.keylength_label->hide(); ui.keylength_comboBox->hide(); setCursor(Qt::WaitCursor) ; @@ -569,6 +616,7 @@ void GenCertDialog::genPerson() /* complete the process */ RsInit::LoadPassword(sslPasswd); if (Rshare::loadCertificate(sslId, false)) { + accept(); } } diff --git a/retroshare-gui/src/gui/GenCertDialog.h b/retroshare-gui/src/gui/GenCertDialog.h index 6dfff2476..c66445ebb 100644 --- a/retroshare-gui/src/gui/GenCertDialog.h +++ b/retroshare-gui/src/gui/GenCertDialog.h @@ -36,6 +36,7 @@ public: virtual ~GenCertDialog() ; virtual void mouseMoveEvent(QMouseEvent *e) ; + QString getGXSNickname() {return mGXSNickname;} private slots: void genPerson(); void importIdentity(); @@ -53,6 +54,7 @@ private: bool genNewGPGKey; bool haveGPGKeys; bool mOnlyGenerateIdentity; + QString mGXSNickname; QTimer *entropy_timer ; }; diff --git a/retroshare-gui/src/gui/GenCertDialog.ui b/retroshare-gui/src/gui/GenCertDialog.ui index 51b45cfd4..aad5647a6 100644 --- a/retroshare-gui/src/gui/GenCertDialog.ui +++ b/retroshare-gui/src/gui/GenCertDialog.ui @@ -17,7 +17,7 @@ :/images/logo/logo_48.png:/images/logo/logo_48.png - + @@ -219,7 +219,7 @@ Alternatively you can use an existing profile. Just uncheck "Create a new p - + @@ -305,7 +305,7 @@ Alternatively you can use an existing profile. Just uncheck "Create a new p - + Qt::Horizontal @@ -320,7 +320,7 @@ Alternatively you can use an existing profile. Just uncheck "Create a new p - + 6 @@ -338,7 +338,7 @@ Alternatively you can use an existing profile. Just uncheck "Create a new p - + Qt::Horizontal @@ -353,107 +353,184 @@ Alternatively you can use an existing profile. Just uncheck "Create a new p - - - - - - - - 120 - 32 - - - - - 120 - 32 - - - - Use profile - - - - - - - - 120 - 32 - - - - - 120 - 32 - - - - Name - - - - - - - Email - - - - - - - This password is for PGP - - - Password - - - - - - - This password is for PGP - - - Password (check) - - - - - - - Node - - - - - - - hidden address - - - - + + + + + Use profile + + - - + + + + Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. + + + + + + + Name + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 16777215 + 32 + + + + Enter your nickname here + + + 64 + + + + + + + <html><head/><body><p>You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system.</p></body></html> + + + GXS Nickname + + + + + + + You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system. + + + + + + + Email + + + + + + + Be careful: this email will be visible to your friends and friends +of your friends. This information is required by PGP, but to stay +anonymous, you can use a fake email. + + + 64 + + + + + + + This password is for PGP + + + Password + + + + + + + Put a strong password here. This password protects your private PGP key. + + + + + + 1024 + + + QLineEdit::Password + + + + + + + This password is for PGP + + + Password (check) + + + + + + + + 0 + 0 + + + + Put a strong password here. This password protects your private PGP key. + + + + + + 1024 + + + QLineEdit::Password + + + + + + + Node + + + + + + + + 0 + 0 + + + + 64 + + + + + + + hidden address + + + + + + + 6 + - - - Your profile is associated with a PGP key pair. RetroShare currently ignores DSA keys. - - - - - - - - 0 - 0 - - + 0 @@ -466,171 +543,55 @@ Alternatively you can use an existing profile. Just uncheck "Create a new p 32 - - Enter your nickname here - 64 - - - Be careful: this email will be visible to your friends and friends -of your friends. This information is required by PGP, but to stay -anonymous, you can use a fake email. - - - 64 - - - - - - - Put a strong password here. This password protects your private PGP key. - - - - - - 1024 - - - QLineEdit::Password - - - - - - - - 0 - 0 - - - - Put a strong password here. This password protects your private PGP key. - - - - - - 1024 - - - QLineEdit::Password - - - - - - - - 0 - 0 - - - - 64 - - - - - - - 6 - - - - - - 0 - 0 - - - - - 16777215 - 32 - - - - 64 - - - - - - - Port - - - - - - - <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> - - - 1 - - - 65535 - - - 7812 - - - - - - - - - - - - - <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> - - - true - - - - - - - - - - - - 120 - 32 - - - - - 120 - 32 - - + - PGP key length + Port + + + + + + + <html><head/><body><p>This is your connection port.</p><p>Any value between 1024 and 65535 </p><p>should be ok. You can change it later.</p></body></html> + + + 1 + + + 65535 + + + 7812 - - - - - - + + + + <html><head/><body><p>This can be a Tor Onion address of the form: xa76giaf6ifda7ri63i263.onion <br/>or an I2P address in the form: [52 characters].b32.i2p </p><p>In order to get one, you must configure either Tor or I2P to create a new hidden service / server tunnel. If you do not yet have one, you can still go on, and make it right later in RetroShare's Options-&gt;Network-&gt;Hidden Service configuration panel.</p></body></html> + + + true + + + + + + + PGP key length + + + + + @@ -722,7 +683,7 @@ anonymous, you can use a fake email. - + 16777215 @@ -748,7 +709,7 @@ anonymous, you can use a fake email. - + Qt::Vertical @@ -761,16 +722,6 @@ anonymous, you can use a fake email. - no_node_label - genButton2 - header_label - genprofileinfo_label - entropy_bar - entropy_label - headerFrame - no_gpg_key_label - verticalSpacer - label_hiddenaddr2 @@ -785,6 +736,23 @@ anonymous, you can use a fake email. 1 + + new_gpg_key_checkbox + importIdentity_PB + exportIdentity_PB + adv_checkbox + hidden_checkbox + genPGPuser + name_input + nickname_input + email_input + password_input + password_input_2 + node_input + hiddenaddr_input + hiddenport_spinBox + genButton + diff --git a/retroshare-gui/src/gui/Identity/IdEditDialog.cpp b/retroshare-gui/src/gui/Identity/IdEditDialog.cpp index 9cd8c60e9..97b10ac4e 100644 --- a/retroshare-gui/src/gui/Identity/IdEditDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdEditDialog.cpp @@ -505,17 +505,17 @@ void IdEditDialog::createId() { QString groupname = ui->lineEdit_Nickname->text(); - if (groupname.size() < 2) + if (groupname.size() < RSID_MINIMUM_NICKNAME_SIZE) { - std::cerr << "IdEditDialog::createId() Nickname too short"; + std::cerr << "IdEditDialog::createId() Nickname too short (min " << RSID_MINIMUM_NICKNAME_SIZE << " chars)"; std::cerr << std::endl; - QMessageBox::warning(this, "", tr("The nickname is too short. Please input at least %1 characters.").arg(2), QMessageBox::Ok, QMessageBox::Ok); + QMessageBox::warning(this, "", tr("The nickname is too short. Please input at least %1 characters.").arg(RSID_MINIMUM_NICKNAME_SIZE), QMessageBox::Ok, QMessageBox::Ok); return; } if (groupname.size() > RSID_MAXIMUM_NICKNAME_SIZE) { - std::cerr << "IdEditDialog::createId() Nickname too long (max " << RSID_MAXIMUM_NICKNAME_SIZE<< " chars)"; + std::cerr << "IdEditDialog::createId() Nickname too long (max " << RSID_MAXIMUM_NICKNAME_SIZE << " chars)"; std::cerr << std::endl; QMessageBox::warning(this, "", tr("The nickname is too long. Please reduce the length to %1 characters.").arg(RSID_MAXIMUM_NICKNAME_SIZE), QMessageBox::Ok, QMessageBox::Ok); diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss index bea346b4a..29f7d1036 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss @@ -28,7 +28,7 @@ GenCertDialog QLabel#genprofileinfo_label, QLabel#header_label, QLabel#entropy_l background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFD7, stop:1 #FFFFB2); } -GenCertDialog QLabel#label_hiddenaddr2 { +GenCertDialog QLabel#label_hiddenaddr { border: 1px solid #50FF5B; border-radius: 6px; background: #CCFFCC; @@ -52,19 +52,6 @@ GenCertDialog > QFrame#frame { border: 1px solid #CCCCCC; } -GenCertDialog QPushButton#genButton { - border-image: url(:/images/btn_blue.png) 4; - border-width: 4; - padding: 0px 6px; - font-size: 14px; - font: bold; - color: white; -} - -GenCertDialog QPushButton#genButton:hover { - border-image: url(:/images/btn_blue_hover.png) 4; -} - /* ConnectFriendWizard */ ConnectFriendWizard { diff --git a/retroshare-gui/src/main.cpp b/retroshare-gui/src/main.cpp index e0ddf3796..43031a4ec 100644 --- a/retroshare-gui/src/main.cpp +++ b/retroshare-gui/src/main.cpp @@ -22,29 +22,32 @@ #include #include #include + #include -#include "gui/MainWindow.h" #include "gui/FriendsDialog.h" +#include "gui/GenCertDialog.h" +#include "gui/MainWindow.h" +#include "gui/MessengerWindow.h" +#include "gui/NetworkDialog.h" +#include "gui/NetworkView.h" +#include "gui/QuickStartWizard.h" +#include "gui/RetroShareLink.h" +#include "gui/SharedFilesDialog.h" +#include "gui/SoundManager.h" +#include "gui/StartDialog.h" +#include "gui/chat/ChatDialog.h" +#include "gui/connect/ConfCertDialog.h" +#include "gui/common/Emoticons.h" #include "gui/FileTransfer/SearchDialog.h" #include "gui/FileTransfer/TransfersDialog.h" -#include "gui/SharedFilesDialog.h" -#include "gui/NetworkDialog.h" -#include "gui/chat/ChatDialog.h" -#include "gui/QuickStartWizard.h" -#include "gui/MessengerWindow.h" -#include "gui/StartDialog.h" -#include "gui/GenCertDialog.h" -#include "gui/settings/rsharesettings.h" #include "gui/settings/RsharePeerSettings.h" -#include "gui/connect/ConfCertDialog.h" +#include "gui/settings/rsharesettings.h" +#include "gui/settings/WebuiPage.h" #include "idle/idle.h" -#include "gui/common/Emoticons.h" -#include "gui/RetroShareLink.h" -#include "gui/SoundManager.h" -#include "gui/NetworkView.h" #include "lang/languagesupport.h" #include "util/RsGxsUpdateBroadcast.h" -#include "gui/settings/WebuiPage.h" + +#include "retroshare/rsidentity.h" #ifdef SIGFPE_DEBUG #include @@ -250,6 +253,7 @@ feenableexcept(FE_INVALID | FE_DIVBYZERO); /* Start RetroShare */ QSplashScreen splashScreen(QPixmap(":/images/logo/logo_splash.png")/* , Qt::WindowStaysOnTopHint*/); + QString sDefaultGXSIdToCreate = ""; switch (initResult) { case RS_INIT_OK: { @@ -278,6 +282,7 @@ feenableexcept(FE_INVALID | FE_DIVBYZERO); if (gd.exec () == QDialog::Rejected) { return 1; } + sDefaultGXSIdToCreate = gd.getGXSNickname(); } splashScreen.show(); @@ -356,6 +361,15 @@ feenableexcept(FE_INVALID | FE_DIVBYZERO); w->processLastArgs(); + if (!sDefaultGXSIdToCreate.isEmpty()) { + RsIdentityParameters params; + params.nickname = sDefaultGXSIdToCreate.toUtf8().constData(); + params.isPgpLinked = true; + params.mImage.clear(); + uint32_t token = 0; + rsIdentity->createIdentity(token, params); + } + // I'm using a signal to transfer the hashing info to the mainwindow, because Qt schedules signals properly to // avoid clashes between infos from threads. // From 275c47eff9477d4189cee4e4ba2737bf61d223db Mon Sep 17 00:00:00 2001 From: Phenom Date: Tue, 9 Aug 2016 01:22:14 +0200 Subject: [PATCH 112/158] Add Title when ask for password. --- libresapi/src/api/RsControlModule.cpp | 3 +- libresapi/src/api/RsControlModule.h | 3 +- libretroshare/src/pgp/pgpauxutils.cc | 10 ++--- libretroshare/src/pgp/pgpauxutils.h | 4 +- libretroshare/src/pgp/pgphandler.cc | 40 +++++++++---------- libretroshare/src/pgp/pgphandler.h | 6 +-- libretroshare/src/pqi/authgpg.cc | 12 +++--- libretroshare/src/pqi/authgpg.h | 4 +- libretroshare/src/pqi/authssl.cc | 2 +- libretroshare/src/pqi/p3notify.cc | 8 ++-- libretroshare/src/pqi/p3notify.h | 4 +- libretroshare/src/retroshare/rsnotify.h | 4 +- libretroshare/src/retroshare/rspeers.h | 2 +- libretroshare/src/rsserver/p3peers.cc | 4 +- libretroshare/src/rsserver/p3peers.h | 2 +- libretroshare/src/services/p3idservice.cc | 2 +- retroshare-gui/src/gui/GenCertDialog.cpp | 2 +- retroshare-gui/src/gui/GenCertDialog.ui | 16 ++++---- retroshare-gui/src/gui/notifyqt.cpp | 25 ++++++++---- retroshare-gui/src/gui/notifyqt.h | 4 +- retroshare-nogui/src/notifytxt.cc | 4 +- retroshare-nogui/src/notifytxt.h | 2 +- retroshare-nogui/src/retroshare.cc | 4 +- .../gxs/nxs_test/nxsdummyservices.cc | 3 +- .../gxs/nxs_test/nxsdummyservices.h | 2 +- .../services/gxs/FakePgpAuxUtils.cc | 2 +- .../services/gxs/FakePgpAuxUtils.h | 2 +- 27 files changed, 95 insertions(+), 81 deletions(-) diff --git a/libresapi/src/api/RsControlModule.cpp b/libresapi/src/api/RsControlModule.cpp index 9dfe55aad..8bf8fd7ea 100644 --- a/libresapi/src/api/RsControlModule.cpp +++ b/libresapi/src/api/RsControlModule.cpp @@ -55,7 +55,7 @@ bool RsControlModule::processShouldExit() return mProcessShouldExit; } -bool RsControlModule::askForPassword(const std::string &key_details, bool /* prev_is_bad */, std::string &password, bool& cancelled) +bool RsControlModule::askForPassword(const std::string &title, const std::string &key_details, bool /* prev_is_bad */, std::string &password, bool& cancelled) { cancelled = false ; { @@ -67,6 +67,7 @@ bool RsControlModule::askForPassword(const std::string &key_details, bool /* pre } mWantPassword = true; + mTitle = title; mKeyName = key_details; mPassword = ""; mStateTokenServer->replaceToken(mStateToken); diff --git a/libresapi/src/api/RsControlModule.h b/libresapi/src/api/RsControlModule.h index 552196b17..d3c8ad18b 100644 --- a/libresapi/src/api/RsControlModule.h +++ b/libresapi/src/api/RsControlModule.h @@ -32,7 +32,7 @@ public: bool processShouldExit(); // from NotifyClient - virtual bool askForPassword(const std::string& key_details, bool prev_is_bad , std::string& password,bool& canceled); + virtual bool askForPassword(const std::string &title, const std::string& key_details, bool prev_is_bad , std::string& password,bool& canceled); protected: // from RsThread @@ -76,6 +76,7 @@ private: // to notify that a password callback is waiting // to answer the request, clear the flag and set the password bool mWantPassword; + std::string mTitle; std::string mKeyName; std::string mPassword; // for ssl cert generation: diff --git a/libretroshare/src/pgp/pgpauxutils.cc b/libretroshare/src/pgp/pgpauxutils.cc index b6cecc2bd..6cd4ebf08 100644 --- a/libretroshare/src/pgp/pgpauxutils.cc +++ b/libretroshare/src/pgp/pgpauxutils.cc @@ -71,13 +71,13 @@ bool PgpAuxUtilsImpl::parseSignature(unsigned char *sign, unsigned int signlen, return AuthGPG::getAuthGPG()->parseSignature(sign,signlen,issuer); } -bool PgpAuxUtilsImpl::askForDeferredSelfSignature(const void *data, - const uint32_t len, - unsigned char *sign, +bool PgpAuxUtilsImpl::askForDeferredSelfSignature(const void *data, + const uint32_t len, + unsigned char *sign, unsigned int *signlen, - int& signature_result ) + int& signature_result , std::string reason) { - return RsServer::notify()->askForDeferredSelfSignature(data, len, sign, signlen, signature_result); + return RsServer::notify()->askForDeferredSelfSignature(data, len, sign, signlen, signature_result, reason); } diff --git a/libretroshare/src/pgp/pgpauxutils.h b/libretroshare/src/pgp/pgpauxutils.h index bd1421f83..5cc1b0a73 100644 --- a/libretroshare/src/pgp/pgpauxutils.h +++ b/libretroshare/src/pgp/pgpauxutils.h @@ -43,7 +43,7 @@ class PgpAuxUtils virtual bool parseSignature(unsigned char *sign, unsigned int signlen, RsPgpId& issuer) const =0; virtual bool VerifySignBin(const void *data, uint32_t len, unsigned char *sign, unsigned int signlen, const PGPFingerprintType& withfingerprint) = 0; - virtual bool askForDeferredSelfSignature(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen,int& signature_result ) = 0; + virtual bool askForDeferredSelfSignature(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen,int& signature_result, std::string reason) = 0; }; class PgpAuxUtilsImpl: public PgpAuxUtils @@ -58,7 +58,7 @@ public: virtual bool getKeyFingerprint(const RsPgpId& id,PGPFingerprintType& fp) const; virtual bool VerifySignBin(const void *data, uint32_t len, unsigned char *sign, unsigned int signlen, const PGPFingerprintType& withfingerprint); virtual bool getGPGAllList(std::list &ids); - virtual bool askForDeferredSelfSignature(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen,int& signature_result ); + virtual bool askForDeferredSelfSignature(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen,int& signature_result, std::string reason); }; diff --git a/libretroshare/src/pgp/pgphandler.cc b/libretroshare/src/pgp/pgphandler.cc index d988a6e13..d0f7d66f9 100644 --- a/libretroshare/src/pgp/pgphandler.cc +++ b/libretroshare/src/pgp/pgphandler.cc @@ -61,25 +61,25 @@ ops_parse_cb_return_t cb_get_passphrase(const ops_parser_content_t *content_,ops { case OPS_PARSER_CMD_GET_SK_PASSPHRASE_PREV_WAS_BAD: prev_was_bad = true ; case OPS_PARSER_CMD_GET_SK_PASSPHRASE: - { - std::string passwd; - std::string uid_hint ; - - if(cbinfo->cryptinfo.keydata->nuids > 0) - uid_hint = std::string((const char *)cbinfo->cryptinfo.keydata->uids[0].user_id) ; - uid_hint += "(" + RsPgpId(cbinfo->cryptinfo.keydata->key_id).toStdString()+")" ; + { + std::string passwd; + std::string uid_hint ; - bool cancelled = false ; - passwd = PGPHandler::passphraseCallback()(NULL,uid_hint.c_str(),NULL,prev_was_bad,&cancelled) ; + if(cbinfo->cryptinfo.keydata->nuids > 0) + uid_hint = std::string((const char *)cbinfo->cryptinfo.keydata->uids[0].user_id) ; + uid_hint += "(" + RsPgpId(cbinfo->cryptinfo.keydata->key_id).toStdString()+")" ; - if(cancelled) - *(unsigned char *)cbinfo->arg = 1; + bool cancelled = false ; + passwd = PGPHandler::passphraseCallback()(NULL,"",uid_hint.c_str(),NULL,prev_was_bad,&cancelled) ; - *(content->secret_key_passphrase.passphrase)= (char *)ops_mallocz(passwd.length()+1) ; - memcpy(*(content->secret_key_passphrase.passphrase),passwd.c_str(),passwd.length()) ; - return OPS_KEEP_MEMORY; - } - break; + if(cancelled) + *(unsigned char *)cbinfo->arg = 1; + + *(content->secret_key_passphrase.passphrase)= (char *)ops_mallocz(passwd.length()+1) ; + memcpy(*(content->secret_key_passphrase.passphrase),passwd.c_str(),passwd.length()) ; + return OPS_KEEP_MEMORY; + } + break; default: break; @@ -1326,7 +1326,7 @@ bool PGPHandler::decryptTextFromFile(const RsPgpId&,std::string& text,const std: return (bool)res ; } -bool PGPHandler::SignDataBin(const RsPgpId& id,const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen,bool use_raw_signature) +bool PGPHandler::SignDataBin(const RsPgpId& id,const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen,bool use_raw_signature, std::string reason /* = "" */) { RsStackMutex mtx(pgphandlerMtx) ; // lock access to PGP memory structures. // need to find the key and to decrypt it. @@ -1357,7 +1357,7 @@ ops_secret_key_t *secret_key = NULL ; for(int i=0;i<3;++i) { bool cancelled =false; - std::string passphrase = _passphrase_callback(NULL,uid_hint.c_str(),"Please enter passwd for encrypting your key : ",last_passwd_was_wrong,&cancelled) ; + std::string passphrase = _passphrase_callback(NULL,reason.c_str(),uid_hint.c_str(),"Please enter passwd for encrypting your key : ",last_passwd_was_wrong,&cancelled) ;//TODO reason secret_key = ops_decrypt_secret_key_from_data(key,passphrase.c_str()) ; @@ -1448,8 +1448,8 @@ bool PGPHandler::privateSignCertificate(const RsPgpId& ownId,const RsPgpId& id_o return false ; } - bool cancelled = false; - std::string passphrase = _passphrase_callback(NULL,RsPgpId(skey->key_id).toStdString().c_str(),"Please enter passwd for encrypting your key : ",false,&cancelled) ; + bool cancelled = false; + std::string passphrase = _passphrase_callback(NULL,"",RsPgpId(skey->key_id).toStdString().c_str(),"Please enter passwd for encrypting your key : ",false,&cancelled) ; ops_secret_key_t *secret_key = ops_decrypt_secret_key_from_data(skey,passphrase.c_str()) ; diff --git a/libretroshare/src/pgp/pgphandler.h b/libretroshare/src/pgp/pgphandler.h index 1276c83d7..88caa891d 100644 --- a/libretroshare/src/pgp/pgphandler.h +++ b/libretroshare/src/pgp/pgphandler.h @@ -16,7 +16,7 @@ extern "C" { #include } -typedef std::string (*PassphraseCallback)(void *data, const char *uid_hint, const char *passphrase_info, int prev_was_bad,bool *cancelled) ; +typedef std::string (*PassphraseCallback)(void *data, const char *uid_title, const char *uid_hint, const char *passphrase_info, int prev_was_bad,bool *cancelled) ; class PGPCertificateInfo { @@ -85,8 +85,8 @@ class PGPHandler std::string SaveCertificateToString(const RsPgpId& id,bool include_signatures) const ; bool exportPublicKey(const RsPgpId& id,unsigned char *& mem,size_t& mem_size,bool armoured,bool include_signatures) const ; - bool parseSignature(unsigned char *sign, unsigned int signlen,RsPgpId& issuer_id) ; - bool SignDataBin(const RsPgpId& id,const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen,bool make_raw_signature=false) ; + bool parseSignature(unsigned char *sign, unsigned int signlen,RsPgpId& issuer_id) ; + bool SignDataBin(const RsPgpId& id, const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen, bool make_raw_signature=false, std::string reason = "") ; bool VerifySignBin(const void *data, uint32_t data_len, unsigned char *sign, unsigned int sign_len, const PGPFingerprintType& withfingerprint) ; bool privateSignCertificate(const RsPgpId& own_id,const RsPgpId& id_of_key_to_sign) ; diff --git a/libretroshare/src/pqi/authgpg.cc b/libretroshare/src/pqi/authgpg.cc index 7caf8e401..38756476c 100644 --- a/libretroshare/src/pqi/authgpg.cc +++ b/libretroshare/src/pqi/authgpg.cc @@ -86,14 +86,14 @@ bool AuthGPG::encryptTextToFile(const std::string& text,const std::string& outfi // return PGPHandler::encryptTextToString(RsPgpId(pgp_id),text,outstr) ; // } -std::string pgp_pwd_callback(void * /*hook*/, const char *uid_hint, const char * /*passphrase_info*/, int prev_was_bad,bool *cancelled) +std::string pgp_pwd_callback(void * /*hook*/, const char *uid_title, const char *uid_hint, const char * /*passphrase_info*/, int prev_was_bad,bool *cancelled) { #define GPG_DEBUG2 #ifdef GPG_DEBUG2 fprintf(stderr, "pgp_pwd_callback() called.\n"); #endif std::string password; - RsServer::notify()->askForPassword(uid_hint, prev_was_bad, password,cancelled) ; + RsServer::notify()->askForPassword(uid_title, uid_hint, prev_was_bad, password,cancelled) ; return password ; } @@ -296,9 +296,9 @@ void AuthGPG::processServices() delete operation; } -bool AuthGPG::DoOwnSignature(const void *data, unsigned int datalen, void *buf_sigout, unsigned int *outl) +bool AuthGPG::DoOwnSignature(const void *data, unsigned int datalen, void *buf_sigout, unsigned int *outl, std::string reason /* = "" */) { - return PGPHandler::SignDataBin(mOwnGpgId,data,datalen,(unsigned char *)buf_sigout,outl) ; + return PGPHandler::SignDataBin(mOwnGpgId,data,datalen,(unsigned char *)buf_sigout,outl,false,reason) ; } @@ -605,9 +605,9 @@ bool AuthGPG::decryptDataBin(const void *data, unsigned int datalen, unsigned ch { return PGPHandler::decryptDataBin(mOwnGpgId,data,datalen,sign,signlen) ; } -bool AuthGPG::SignDataBin(const void *data, unsigned int datalen, unsigned char *sign, unsigned int *signlen) +bool AuthGPG::SignDataBin(const void *data, unsigned int datalen, unsigned char *sign, unsigned int *signlen, std::string reason /*= ""*/) { - return DoOwnSignature(data, datalen, sign, signlen); + return DoOwnSignature(data, datalen, sign, signlen, reason); } bool AuthGPG::VerifySignBin(const void *data, uint32_t datalen, unsigned char *sign, unsigned int signlen, const PGPFingerprintType& withfingerprint) diff --git a/libretroshare/src/pqi/authgpg.h b/libretroshare/src/pqi/authgpg.h index 8d52f2ac5..63cffe784 100644 --- a/libretroshare/src/pqi/authgpg.h +++ b/libretroshare/src/pqi/authgpg.h @@ -208,7 +208,7 @@ class AuthGPG: public p3Config, public RsTickingThread, public PGPHandler * There should also be Encryption Functions... (do later). * ****/ - virtual bool SignDataBin(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen); + virtual bool SignDataBin(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen, std::string reason = ""); virtual bool VerifySignBin(const void*, uint32_t, unsigned char*, unsigned int, const PGPFingerprintType& withfingerprint); virtual bool parseSignature(const void *sig, unsigned int siglen, RsPgpId& issuer_id); @@ -254,7 +254,7 @@ class AuthGPG: public p3Config, public RsTickingThread, public PGPHandler //void createDummyFriends(void); //NYI /* Internal functions */ - bool DoOwnSignature(const void *, unsigned int, void *, unsigned int *); + bool DoOwnSignature(const void *, unsigned int, void *, unsigned int *, std::string reason); bool VerifySignature(const void *data, int datalen, const void *sig, unsigned int siglen, const PGPFingerprintType& withfingerprint); /* Sign/Trust stuff */ diff --git a/libretroshare/src/pqi/authssl.cc b/libretroshare/src/pqi/authssl.cc index 595ca946d..4c50a046a 100644 --- a/libretroshare/src/pqi/authssl.cc +++ b/libretroshare/src/pqi/authssl.cc @@ -850,7 +850,7 @@ X509 *AuthSSLimpl::SignX509ReqWithGPG(X509_REQ *req, long /*days*/) std::cerr << "Digest Applied: len: " << hashoutl << std::endl; /* NOW Sign via GPG Functions */ - if (!AuthGPG::getAuthGPG()->SignDataBin(buf_hashout, hashoutl, buf_sigout, (unsigned int *) &sigoutl)) + if (!AuthGPG::getAuthGPG()->SignDataBin(buf_hashout, hashoutl, buf_sigout, (unsigned int *) &sigoutl,"AuthSSLimpl::SignX509ReqWithGPG()")) { sigoutl = 0; goto err; diff --git a/libretroshare/src/pqi/p3notify.cc b/libretroshare/src/pqi/p3notify.cc index ecb92f49d..53109a6d1 100644 --- a/libretroshare/src/pqi/p3notify.cc +++ b/libretroshare/src/pqi/p3notify.cc @@ -245,10 +245,10 @@ void p3Notify::notifyDownloadComplete (const std::string& fileHash ) void p3Notify::notifyDownloadCompleteCount (uint32_t count ) { FOR_ALL_NOTIFY_CLIENTS (*it)->notifyDownloadCompleteCount (count) ; } void p3Notify::notifyHistoryChanged (uint32_t msgId , int type) { FOR_ALL_NOTIFY_CLIENTS (*it)->notifyHistoryChanged (msgId,type) ; } -bool p3Notify::askForPassword (const std::string& key_details , bool prev_is_bad , std::string& password,bool *cancelled) +bool p3Notify::askForPassword (const std::string& title , const std::string& key_details , bool prev_is_bad , std::string& password,bool *cancelled) { FOR_ALL_NOTIFY_CLIENTS - if( (*it)->askForPassword(key_details,prev_is_bad,password,*cancelled)) + if( (*it)->askForPassword(title,key_details,prev_is_bad,password,*cancelled)) return true ; return false ; @@ -261,10 +261,10 @@ bool p3Notify::askForPluginConfirmation (const std::string& plugin_filen return false ; } -bool p3Notify::askForDeferredSelfSignature (const void * data , const uint32_t len , unsigned char *sign, unsigned int *signlen,int& signature_result ) +bool p3Notify::askForDeferredSelfSignature (const void * data , const uint32_t len , unsigned char *sign, unsigned int *signlen,int& signature_result, std::string reason /*=""*/) { FOR_ALL_NOTIFY_CLIENTS - if( (*it)->askForDeferredSelfSignature(data,len,sign,signlen,signature_result)) + if( (*it)->askForDeferredSelfSignature(data,len,sign,signlen,signature_result, reason)) return true ; return false ; diff --git a/libretroshare/src/pqi/p3notify.h b/libretroshare/src/pqi/p3notify.h index 907559e06..f91450f22 100644 --- a/libretroshare/src/pqi/p3notify.h +++ b/libretroshare/src/pqi/p3notify.h @@ -116,12 +116,12 @@ class p3Notify: public RsNotify void notifyPeerStatusChangedSummary () ; void notifyDiscInfoChanged () ; - bool askForDeferredSelfSignature (const void * /* data */, const uint32_t /* len */, unsigned char * /* sign */, unsigned int * /* signlen */,int& signature_result ) ; + bool askForDeferredSelfSignature (const void * /* data */, const uint32_t /* len */, unsigned char * /* sign */, unsigned int * /* signlen */, int& signature_result , std::string reason = "") ; void notifyDownloadComplete (const std::string& /* fileHash */) ; void notifyDownloadCompleteCount (uint32_t /* count */) ; void notifyHistoryChanged (uint32_t /* msgId */, int /* type */) ; - bool askForPassword (const std::string& /* key_details */, bool /* prev_is_bad */, std::string&, bool *cancelled /* password */ ) ; + bool askForPassword (const std::string& title, const std::string& /* key_details */, bool /* prev_is_bad */, std::string&, bool *cancelled /* password */ ) ; bool askForPluginConfirmation (const std::string& /* plugin_filename */, const std::string& /* plugin_file_hash */) ; private: diff --git a/libretroshare/src/retroshare/rsnotify.h b/libretroshare/src/retroshare/rsnotify.h index 76999d540..991ba338e 100644 --- a/libretroshare/src/retroshare/rsnotify.h +++ b/libretroshare/src/retroshare/rsnotify.h @@ -229,12 +229,12 @@ class NotifyClient virtual void notifyPeerStatusChangedSummary () {} virtual void notifyDiscInfoChanged () {} - virtual bool askForDeferredSelfSignature (const void * /* data */, const uint32_t /* len */, unsigned char * /* sign */, unsigned int * /* signlen */,int& signature_result ) { signature_result = false ;return true; } + virtual bool askForDeferredSelfSignature (const void * /* data */, const uint32_t /* len */, unsigned char * /* sign */, unsigned int * /* signlen */,int& signature_result , std::string /*reason = ""*/) { signature_result = false ;return true; } virtual void notifyDownloadComplete (const std::string& /* fileHash */) {} virtual void notifyDownloadCompleteCount (uint32_t /* count */) {} virtual void notifyHistoryChanged (uint32_t /* msgId */, int /* type */) {} - virtual bool askForPassword (const std::string& /* key_details */, bool /* prev_is_bad */, std::string& /* password */,bool& /* cancelled */ ) { return false ;} + virtual bool askForPassword (const std::string& /* title */, const std::string& /* key_details */, bool /* prev_is_bad */, std::string& /* password */,bool& /* cancelled */ ) { return false ;} virtual bool askForPluginConfirmation (const std::string& /* plugin_filename */, const std::string& /* plugin_file_hash */) { return false ;} }; diff --git a/libretroshare/src/retroshare/rspeers.h b/libretroshare/src/retroshare/rspeers.h index 073700b71..c9afe9c1c 100644 --- a/libretroshare/src/retroshare/rspeers.h +++ b/libretroshare/src/retroshare/rspeers.h @@ -352,7 +352,7 @@ public: virtual bool getGPGValidList(std::list &gpg_ids) = 0; virtual bool getGPGAllList(std::list &gpg_ids) = 0; virtual bool getAssociatedSSLIds(const RsPgpId& gpg_id, std::list& ids) = 0; - virtual bool gpgSignData(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen) = 0; + virtual bool gpgSignData(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen, std::string reason = "") = 0; /* Add/Remove Friends */ virtual bool addFriend(const RsPeerId &ssl_id, const RsPgpId &gpg_id,ServicePermissionFlags flags = RS_NODE_PERM_DEFAULT) = 0; diff --git a/libretroshare/src/rsserver/p3peers.cc b/libretroshare/src/rsserver/p3peers.cc index cbe2a2dde..bd4e11cbd 100644 --- a/libretroshare/src/rsserver/p3peers.cc +++ b/libretroshare/src/rsserver/p3peers.cc @@ -635,9 +635,9 @@ bool p3Peers::getAssociatedSSLIds(const RsPgpId &gpg_id, std::list &id return mPeerMgr->getAssociatedPeers(gpg_id, ids); } -bool p3Peers::gpgSignData(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen) +bool p3Peers::gpgSignData(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen, std::string reason /* = "" */) { - return AuthGPG::getAuthGPG()->SignDataBin(data,len,sign,signlen); + return AuthGPG::getAuthGPG()->SignDataBin(data,len,sign,signlen, reason); } bool p3Peers::getGPGDetails(const RsPgpId &pgp_id, RsPeerDetails &d) diff --git a/libretroshare/src/rsserver/p3peers.h b/libretroshare/src/rsserver/p3peers.h index 38fad1c7b..2edae4abc 100644 --- a/libretroshare/src/rsserver/p3peers.h +++ b/libretroshare/src/rsserver/p3peers.h @@ -70,7 +70,7 @@ public: virtual bool getGPGAllList(std::list &ids); virtual bool getGPGDetails(const RsPgpId &id, RsPeerDetails &d); virtual bool getAssociatedSSLIds(const RsPgpId& gpg_id, std::list &ids); - virtual bool gpgSignData(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen) ; + virtual bool gpgSignData(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen, std::string reason = "") ; /* Add/Remove Friends */ virtual bool addFriend(const RsPeerId &ssl_id, const RsPgpId &gpg_id,ServicePermissionFlags flags = RS_NODE_PERM_DEFAULT); diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index be8f8ba54..bc79d98a1 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -2784,7 +2784,7 @@ RsGenExchange::ServiceCreate_Return p3IdService::service_CreateGroup(RsGxsGrpIte memset(signarray,0,MAX_SIGN_SIZE) ; // just in case. - mPgpUtils->askForDeferredSelfSignature((void *) hash.toByteArray(), hash.SIZE_IN_BYTES, signarray, &sign_size,result) ; + mPgpUtils->askForDeferredSelfSignature((void *) hash.toByteArray(), hash.SIZE_IN_BYTES, signarray, &sign_size,result, "p3IdService::service_CreateGroup()") ; /* error */ switch(result) diff --git a/retroshare-gui/src/gui/GenCertDialog.cpp b/retroshare-gui/src/gui/GenCertDialog.cpp index 2d5e76ead..65780f954 100644 --- a/retroshare-gui/src/gui/GenCertDialog.cpp +++ b/retroshare-gui/src/gui/GenCertDialog.cpp @@ -176,7 +176,7 @@ GenCertDialog::GenCertDialog(bool onlyGenerateIdentity, QWidget *parent) ui.node_input->setPlaceholderText(tr("[Required] Examples: Home, Laptop,...")) ; ui.hiddenaddr_input->setPlaceholderText(tr("[Required] Tor/I2P address - Examples: xa76giaf6ifda7ri63i263.onion (obtained by you from Tor)")) ; ui.name_input->setPlaceholderText(tr("[Required] Visible to your friends, and friends of friends.")); - ui.nickname_input->setPlaceholderText(tr("[Optional] Used when you write in chat lobbies, forums and channel comments.")); + ui.nickname_input->setPlaceholderText(tr("[Optional] Used when you write in chat lobbies, forums and channel comments. Can be setup later if you need one.")); ui.password_input->setPlaceholderText(tr("[Required] This password protects your private PGP key.")); ui.password_input_2->setPlaceholderText(tr("[Required] Type the same password again here.")); #endif diff --git a/retroshare-gui/src/gui/GenCertDialog.ui b/retroshare-gui/src/gui/GenCertDialog.ui index aad5647a6..48ca23803 100644 --- a/retroshare-gui/src/gui/GenCertDialog.ui +++ b/retroshare-gui/src/gui/GenCertDialog.ui @@ -406,10 +406,10 @@ Alternatively you can use an existing profile. Just uncheck "Create a new p - <html><head/><body><p>You can have one or more identities. They are used when you write in chat lobbies, forums and channel comments. They act as the destination for distant chat and the Retroshare distant mail system.</p></body></html> + - GXS Nickname + Chatrooms/Forums Nickname @@ -500,7 +500,7 @@ anonymous, you can use a fake email. - Node + Node name @@ -724,17 +724,17 @@ anonymous, you can use a fake email. - - StyledLabel - QLabel -

gui/common/StyledLabel.h
- HeaderFrame QFrame
gui/common/HeaderFrame.h
1
+ + StyledLabel + QLabel +
gui/common/StyledLabel.h
+
new_gpg_key_checkbox diff --git a/retroshare-gui/src/gui/notifyqt.cpp b/retroshare-gui/src/gui/notifyqt.cpp index e6e5ca52b..e3e02e02c 100644 --- a/retroshare-gui/src/gui/notifyqt.cpp +++ b/retroshare-gui/src/gui/notifyqt.cpp @@ -148,7 +148,7 @@ void NotifyQt::notifyOwnAvatarChanged() class SignatureEventData { public: - SignatureEventData(const void *_data,int32_t _len,unsigned int _signlen) + SignatureEventData(const void *_data,int32_t _len,unsigned int _signlen, std::string _reason) { // We need a new memory chnk because there's no guarranty _sign nor _signlen are not in the stack @@ -173,6 +173,7 @@ class SignatureEventData } len = _len ; memcpy(data,_data,len) ; + reason = _reason ; } ~SignatureEventData() @@ -184,7 +185,7 @@ class SignatureEventData void performSignature() { - if(rsPeers->gpgSignData(data,len,sign,signlen)) + if(rsPeers->gpgSignData(data,len,sign,signlen,reason)) signature_result = SELF_SIGNATURE_RESULT_SUCCESS ; else signature_result = SELF_SIGNATURE_RESULT_FAILED ; @@ -194,10 +195,11 @@ class SignatureEventData uint32_t len ; unsigned char *sign ; unsigned int *signlen ; - int signature_result ; // 0=pending, 1=done, 2=failed/cancelled. + int signature_result ; // 0=pending, 1=done, 2=failed/cancelled. + std::string reason ; }; -bool NotifyQt::askForDeferredSelfSignature(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen,int& signature_result) +bool NotifyQt::askForDeferredSelfSignature(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen,int& signature_result, std::string reason /*=""*/) { { QMutexLocker m(&_mutex) ; @@ -234,7 +236,7 @@ bool NotifyQt::askForDeferredSelfSignature(const void *data, const uint32_t len, // std::cerr << "NotifyQt:: deferred signature event requeted. Pushing into queue" << std::endl; - SignatureEventData *edta = new SignatureEventData(data,len,*signlen) ; + SignatureEventData *edta = new SignatureEventData(data,len,*signlen, reason) ; _deferred_signature_queue[chksum.toStdString()] = edta ; } @@ -261,12 +263,21 @@ void NotifyQt::handleSignatureEvent() -bool NotifyQt::askForPassword(const std::string& key_details, bool prev_is_bad, std::string& password,bool& cancelled) +bool NotifyQt::askForPassword(const std::string& title, const std::string& key_details, bool prev_is_bad, std::string& password,bool& cancelled) { RsAutoUpdatePage::lockAllEvents() ; QInputDialog dialog; - dialog.setWindowTitle(tr("PGP key passphrase")); + if (title == "") { + dialog.setWindowTitle(tr("PGP key passphrase")); + } else if (title == "AuthSSLimpl::SignX509ReqWithGPG()") { + dialog.setWindowTitle(tr("You need to sign your node's certificate.")); + } else if (title == "p3IdService::service_CreateGroup()") { + dialog.setWindowTitle(tr("You need to sign your forum/chatrooms identity.")); + } else { + dialog.setWindowTitle(QString::fromStdString(title)); + } + dialog.setLabelText((prev_is_bad ? QString("%1\n\n").arg(tr("Wrong password !")) : QString()) + QString("%1:\n %2").arg(tr("Please enter your PGP password for key"), QString::fromUtf8(key_details.c_str()))); dialog.setTextEchoMode(QLineEdit::Password); dialog.setModal(true); diff --git a/retroshare-gui/src/gui/notifyqt.h b/retroshare-gui/src/gui/notifyqt.h index 6080ce91e..bc5cac9db 100644 --- a/retroshare-gui/src/gui/notifyqt.h +++ b/retroshare-gui/src/gui/notifyqt.h @@ -67,7 +67,7 @@ class NotifyQt: public QObject, public NotifyClient virtual void notifyDiscInfoChanged() ; virtual void notifyDownloadComplete(const std::string& fileHash); virtual void notifyDownloadCompleteCount(uint32_t count); - virtual bool askForPassword(const std::string& key_details, bool prev_is_bad, std::string& password, bool &cancelled); + virtual bool askForPassword(const std::string& title, const std::string& key_details, bool prev_is_bad, std::string& password, bool &cancelled); virtual bool askForPluginConfirmation(const std::string& plugin_filename, const std::string& plugin_file_hash); // Queues the signature event so that it canhappen in the main GUI thread (to ask for passwd). @@ -82,7 +82,7 @@ class NotifyQt: public QObject, public NotifyClient // 1: signature success // 2: signature failed. Wrong passwd, user pressed cancel, etc. // - virtual bool askForDeferredSelfSignature(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen,int& signature_result) ; + virtual bool askForDeferredSelfSignature(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen, int& signature_result, std::string reason = "") ; /* Notify from GUI */ void notifyChatFontChanged(); diff --git a/retroshare-nogui/src/notifytxt.cc b/retroshare-nogui/src/notifytxt.cc index 4327700ff..fbd9decaf 100644 --- a/retroshare-nogui/src/notifytxt.cc +++ b/retroshare-nogui/src/notifytxt.cc @@ -101,9 +101,9 @@ bool NotifyTxt::askForPluginConfirmation(const std::string& plugin_file_name, co return a == 'y' ; } -bool NotifyTxt::askForPassword(const std::string& question, bool /* prev_is_bad */, std::string& password,bool& cancel) +bool NotifyTxt::askForPassword(const std::string& title, const std::string& question, bool /* prev_is_bad */, std::string& password,bool& cancel) { - std::string question1="Please enter your PGP password for key:\n " + question + " :"; + std::string question1=title + "\nPlease enter your PGP password for key:\n " + question + " :"; char *passwd = getpass(question1.c_str()) ; password = passwd; cancel = false ; diff --git a/retroshare-nogui/src/notifytxt.h b/retroshare-nogui/src/notifytxt.h index 72a6f5771..6fc88bdf8 100644 --- a/retroshare-nogui/src/notifytxt.h +++ b/retroshare-nogui/src/notifytxt.h @@ -41,7 +41,7 @@ class NotifyTxt: public NotifyClient virtual void notifyListChange(int list, int type); virtual void notifyErrorMsg(int list, int sev, std::string msg); virtual void notifyChat(); - virtual bool askForPassword(const std::string& question, bool prev_is_bad, std::string& password,bool& cancel); + virtual bool askForPassword(const std::string& title, const std::string& question, bool prev_is_bad, std::string& password,bool& cancel); virtual bool askForPluginConfirmation(const std::string& plugin_file, const std::string& plugin_hash); virtual void notifyTurtleSearchResult(uint32_t search_id,const std::list& found_files); diff --git a/retroshare-nogui/src/retroshare.cc b/retroshare-nogui/src/retroshare.cc index 7ad45b0eb..75b9e17d8 100644 --- a/retroshare-nogui/src/retroshare.cc +++ b/retroshare-nogui/src/retroshare.cc @@ -442,7 +442,7 @@ void generatePasswordHash() std::string passwd1,passwd2 ; bool cancel ; - if(!NotifyTxt().askForPassword("Type your password (at least 8 chars) : ",false,passwd1,cancel)) exit(1) ; + if(!NotifyTxt().askForPassword("","Type your password (at least 8 chars) : ",false,passwd1,cancel)) exit(1) ; if(passwd1.length() < 8) { @@ -450,7 +450,7 @@ void generatePasswordHash() exit(1); } - if(!NotifyTxt().askForPassword("Type your password (checking) : ",false,passwd2,cancel)) exit(1) ; + if(!NotifyTxt().askForPassword("","Type your password (checking) : ",false,passwd2,cancel)) exit(1) ; if(passwd1 != passwd2) { diff --git a/tests/unittests/libretroshare/gxs/nxs_test/nxsdummyservices.cc b/tests/unittests/libretroshare/gxs/nxs_test/nxsdummyservices.cc index 38aa9f5d7..7b22d4e3a 100644 --- a/tests/unittests/libretroshare/gxs/nxs_test/nxsdummyservices.cc +++ b/tests/unittests/libretroshare/gxs/nxs_test/nxsdummyservices.cc @@ -155,7 +155,8 @@ bool rs_nxs_test::RsDummyPgpUtils::askForDeferredSelfSignature(const void* /*dat const uint32_t /*len*/, unsigned char* /*sign*/, unsigned int* /*signlen*/, - int& /*signature_result*/ + int& /*signature_result*/, + std::string /*reason*/ ) { return true; } diff --git a/tests/unittests/libretroshare/gxs/nxs_test/nxsdummyservices.h b/tests/unittests/libretroshare/gxs/nxs_test/nxsdummyservices.h index c8d43d944..23420bad1 100644 --- a/tests/unittests/libretroshare/gxs/nxs_test/nxsdummyservices.h +++ b/tests/unittests/libretroshare/gxs/nxs_test/nxsdummyservices.h @@ -155,7 +155,7 @@ namespace rs_nxs_test bool parseSignature(unsigned char *sign, unsigned int signlen, RsPgpId& issuer) const; bool VerifySignBin(const void *data, uint32_t len, unsigned char *sign, unsigned int signlen, const PGPFingerprintType& withfingerprint); - bool askForDeferredSelfSignature(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen,int& signature_result ); + bool askForDeferredSelfSignature(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen, int& signature_result , std::string reason = ""); private: diff --git a/tests/unittests/libretroshare/services/gxs/FakePgpAuxUtils.cc b/tests/unittests/libretroshare/services/gxs/FakePgpAuxUtils.cc index 8bcda2551..2b31d53d1 100644 --- a/tests/unittests/libretroshare/services/gxs/FakePgpAuxUtils.cc +++ b/tests/unittests/libretroshare/services/gxs/FakePgpAuxUtils.cc @@ -106,7 +106,7 @@ bool FakePgpAuxUtils::getGPGAllList(std::list &ids) return true; } -bool FakePgpAuxUtils::askForDeferredSelfSignature(const void* /*data*/, const uint32_t /*len*/, unsigned char *sign, unsigned int *signlen,int& signature_result ) +bool FakePgpAuxUtils::askForDeferredSelfSignature(const void* /*data*/, const uint32_t /*len*/, unsigned char *sign, unsigned int *signlen,int& signature_result, std::string /*reason = ""*/ ) { for(int i = 0; i < *signlen; i++) { diff --git a/tests/unittests/libretroshare/services/gxs/FakePgpAuxUtils.h b/tests/unittests/libretroshare/services/gxs/FakePgpAuxUtils.h index 6f40d622b..9866c3ee3 100644 --- a/tests/unittests/libretroshare/services/gxs/FakePgpAuxUtils.h +++ b/tests/unittests/libretroshare/services/gxs/FakePgpAuxUtils.h @@ -38,7 +38,7 @@ public: virtual bool parseSignature(unsigned char *sign, unsigned int signlen, RsPgpId& issuer) const; virtual bool VerifySignBin(const void *data, uint32_t len, unsigned char *sign, unsigned int signlen, const PGPFingerprintType& withfingerprint); - virtual bool askForDeferredSelfSignature(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen,int& signature_result ); + virtual bool askForDeferredSelfSignature(const void *data, const uint32_t len, unsigned char *sign, unsigned int *signlen, int& signature_result , std::string reason); virtual void addPeerListToPgpList(const std::list &ids); virtual void addPeerIdToPgpList(const RsPeerId &id); From d1645e97bd9b6da609cacca837167684d3fd4d20 Mon Sep 17 00:00:00 2001 From: defnax Date: Tue, 9 Aug 2016 19:38:56 +0200 Subject: [PATCH 113/158] moved auto-ban checkbox to a better position --- retroshare-gui/src/gui/Identity/IdDialog.ui | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/retroshare-gui/src/gui/Identity/IdDialog.ui b/retroshare-gui/src/gui/Identity/IdDialog.ui index 234d88a35..abd550fc7 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.ui +++ b/retroshare-gui/src/gui/Identity/IdDialog.ui @@ -278,7 +278,7 @@ Reputation
- AlignLeft|AlignVCenter + AlignLeading|AlignVCenter
@@ -534,13 +534,6 @@ Reputation - - - - Auto-Ban all identities from this node - - - @@ -638,6 +631,13 @@ p, li { white-space: pre-wrap; } + + + + Auto-Ban all identities from this node + + +
From 8a5c07b5e248b7c62399b51b12a761be59f7f7e9 Mon Sep 17 00:00:00 2001 From: Phenom Date: Fri, 5 Aug 2016 18:15:21 +0200 Subject: [PATCH 114/158] Copy RsTreeWidget Header ContextMenu to Item ContextMenu. --- retroshare-gui/src/gui/Identity/IdDialog.cpp | 159 +++++++++++------- retroshare-gui/src/gui/common/FriendList.cpp | 80 ++++----- .../src/gui/common/FriendSelectionWidget.cpp | 22 +-- .../src/gui/common/RSTreeWidget.cpp | 91 +++++++--- retroshare-gui/src/gui/common/RSTreeWidget.h | 10 +- 5 files changed, 221 insertions(+), 141 deletions(-) diff --git a/retroshare-gui/src/gui/Identity/IdDialog.cpp b/retroshare-gui/src/gui/Identity/IdDialog.cpp index bfcb3a54a..9fd7a37ff 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDialog.cpp @@ -25,6 +25,7 @@ #include #include +#include #include "IdDialog.h" #include "ui_IdDialog.h" @@ -224,8 +225,8 @@ IdDialog::IdDialog(QWidget *parent) : ui->splitter->setSizes(sizes);*/ /* Add filter types */ - QMenu *idTWHMenu = new QMenu(tr("Show"), this); - ui->idTreeWidget->addHeaderContextMenuMenu(idTWHMenu); + QMenu *idTWHMenu = new QMenu(tr("Show Items"), this); + ui->idTreeWidget->addContextMenuMenu(idTWHMenu); QActionGroup *idTWHActionGroup = new QActionGroup(this); QAction *idTWHAction = new QAction(QIcon(),tr("All"), this); @@ -2052,7 +2053,7 @@ void IdDialog::loadRequest(const TokenQueue * queue, const TokenRequest &req) void IdDialog::IdListCustomPopupMenu( QPoint ) { - QMenu contextMnu( this ); + QMenu *contextMenu = new QMenu(this); std::list own_identities ; @@ -2112,77 +2113,105 @@ void IdDialog::IdListCustomPopupMenu( QPoint ) ++n_is_not_a_contact ; } - if(root_node_present) // don't show menu if some of the root nodes are present - return ; - - if(!one_item_owned_by_you) - { - if(n_selected_items == 1) // if only one item is selected, allow to chat with this item + if(!root_node_present) // don't show menu if some of the root nodes are present { - if(own_identities.size() <= 1) - { - QAction *action = contextMnu.addAction(QIcon(":/images/chat_24.png"), tr("Chat with this person"), this, SLOT(chatIdentity())); - if(own_identities.empty()) - action->setEnabled(false) ; - else - action->setData(QString::fromStdString((own_identities.front()).toStdString())) ; - } - else - { - QMenu *mnu = contextMnu.addMenu(QIcon(":/images/chat_24.png"),tr("Chat with this person as...")) ; + if(!one_item_owned_by_you) + { + QWidget *widget = new QWidget(contextMenu); + widget->setStyleSheet( ".QWidget{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #FEFEFE, stop:1 #E8E8E8); border: 1px solid #CCCCCC;}"); - for(std::list::const_iterator it=own_identities.begin();it!=own_identities.end();++it) - { - RsIdentityDetails idd ; - rsIdentity->getIdDetails(*it,idd) ; + // create menu header + QHBoxLayout *hbox = new QHBoxLayout(widget); + hbox->setMargin(0); + hbox->setSpacing(6); - QPixmap pixmap ; + QLabel *iconLabel = new QLabel(widget); + QPixmap pix = QPixmap(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5); + iconLabel->setPixmap(pix); + iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width()); + hbox->addWidget(iconLabel); - if(idd.mAvatar.mSize == 0 || !pixmap.loadFromData(idd.mAvatar.mData, idd.mAvatar.mSize, "PNG")) - pixmap = QPixmap::fromImage(GxsIdDetails::makeDefaultIcon(*it)) ; + QLabel *textLabel = new QLabel("" + ui->titleBarLabel->text() + "", widget); + hbox->addWidget(textLabel); + + QSpacerItem *spacerItem = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + hbox->addItem(spacerItem); + + widget->setLayout(hbox); + + QWidgetAction *widgetAction = new QWidgetAction(this); + widgetAction->setDefaultWidget(widget); + contextMenu->addAction(widgetAction); + + if(n_selected_items == 1) // if only one item is selected, allow to chat with this item + { + if(own_identities.size() <= 1) + { + QAction *action = contextMenu->addAction(QIcon(":/images/chat_24.png"), tr("Chat with this person"), this, SLOT(chatIdentity())); + + if(own_identities.empty()) + action->setEnabled(false) ; + else + action->setData(QString::fromStdString((own_identities.front()).toStdString())) ; + } + else + { + QMenu *mnu = contextMenu->addMenu(QIcon(":/images/chat_24.png"),tr("Chat with this person as...")) ; + + for(std::list::const_iterator it=own_identities.begin();it!=own_identities.end();++it) + { + RsIdentityDetails idd ; + rsIdentity->getIdDetails(*it,idd) ; + + QPixmap pixmap ; + + if(idd.mAvatar.mSize == 0 || !pixmap.loadFromData(idd.mAvatar.mData, idd.mAvatar.mSize, "PNG")) + pixmap = QPixmap::fromImage(GxsIdDetails::makeDefaultIcon(*it)) ; + + QAction *action = mnu->addAction(QIcon(pixmap), QString("%1 (%2)").arg(QString::fromUtf8(idd.mNickname.c_str()), QString::fromStdString((*it).toStdString())), this, SLOT(chatIdentity())); + action->setData(QString::fromStdString((*it).toStdString())) ; + } + } + } + + // always allow to send messages + contextMenu->addAction(QIcon(":/images/mail_new.png"), tr("Send message"), this, SLOT(sendMsg())); + + contextMenu->addSeparator(); + + if(n_is_a_contact == 0) + contextMenu->addAction(QIcon(), tr("Add to Contacts"), this, SLOT(addtoContacts())); + + if(n_is_not_a_contact == 0) + contextMenu->addAction(QIcon(":/images/cancel.png"), tr("Remove from Contacts"), this, SLOT(removefromContacts())); + + contextMenu->addSeparator(); + + if(n_positive_reputations == 0) // only unban when all items are banned + contextMenu->addAction(QIcon(":/images/vote_up.png"), tr("Set positive opinion"), this, SLOT(positivePerson())); + + if(n_neutral_reputations == 0) // only unban when all items are banned + contextMenu->addAction(QIcon(":/images/vote_neutral.png"), tr("Set neutral opinion"), this, SLOT(neutralPerson())); + + if(n_negative_reputations == 0) + contextMenu->addAction(QIcon(":/images/vote_down.png"), tr("Set negative opinion"), this, SLOT(negativePerson())); + } + + if(one_item_owned_by_you && n_selected_items==1) + { + contextMenu->addSeparator(); + + contextMenu->addAction(ui->editIdentity); + contextMenu->addAction(ui->removeIdentity); + } - QAction *action = mnu->addAction(QIcon(pixmap), QString("%1 (%2)").arg(QString::fromUtf8(idd.mNickname.c_str()), QString::fromStdString((*it).toStdString())), this, SLOT(chatIdentity())); - action->setData(QString::fromStdString((*it).toStdString())) ; - } - } } - // always allow to send messages - contextMnu.addAction(QIcon(":/images/mail_new.png"), tr("Send message"), this, SLOT(sendMsg())); + contextMenu = ui->idTreeWidget->createStandardContextMenu(contextMenu); - contextMnu.addSeparator(); - - if(n_is_a_contact == 0) - contextMnu.addAction(QIcon(), tr("Add to Contacts"), this, SLOT(addtoContacts())); - - if(n_is_not_a_contact == 0) - contextMnu.addAction(QIcon(":/images/cancel.png"), tr("Remove from Contacts"), this, SLOT(removefromContacts())); - - contextMnu.addSeparator(); - - if(n_positive_reputations == 0) // only unban when all items are banned - contextMnu.addAction(QIcon(":/images/vote_up.png"), tr("Set positive opinion"), this, SLOT(positivePerson())); - - if(n_neutral_reputations == 0) // only unban when all items are banned - contextMnu.addAction(QIcon(":/images/vote_neutral.png"), tr("Set neutral opinion"), this, SLOT(neutralPerson())); - - if(n_negative_reputations == 0) - contextMnu.addAction(QIcon(":/images/vote_down.png"), tr("Set negative opinion"), this, SLOT(negativePerson())); - } - - if(one_item_owned_by_you && n_selected_items==1) - { - contextMnu.addSeparator(); - - contextMnu.addAction(ui->editIdentity); - contextMnu.addAction(ui->removeIdentity); - } - - - contextMnu.addSeparator(); - - contextMnu.exec(QCursor::pos()); + contextMenu->exec(QCursor::pos()); + delete contextMenu; } void IdDialog::chatIdentity() diff --git a/retroshare-gui/src/gui/common/FriendList.cpp b/retroshare-gui/src/gui/common/FriendList.cpp index 126e8719b..e61e8a568 100644 --- a/retroshare-gui/src/gui/common/FriendList.cpp +++ b/retroshare-gui/src/gui/common/FriendList.cpp @@ -140,7 +140,7 @@ FriendList::FriendList(QWidget *parent) : mActionSortByState = new QAction(tr("Sort by state"), this); mActionSortByState->setCheckable(true); connect(mActionSortByState, SIGNAL(toggled(bool)), this, SLOT(sortByState(bool))); - ui->peerTreeWidget->addHeaderContextMenuAction(mActionSortByState); + ui->peerTreeWidget->addContextMenuAction(mActionSortByState); /* Set sort */ sortByColumn(COLUMN_NAME, Qt::AscendingOrder); @@ -282,9 +282,9 @@ void FriendList::peerTreeWidgetCustomPopupMenu() { QTreeWidgetItem *c = getCurrentPeer(); - QMenu contextMnu(this); + QMenu *contextMenu = new QMenu(this); - QWidget *widget = new QWidget(&contextMnu); + QWidget *widget = new QWidget(contextMenu); widget->setStyleSheet( ".QWidget{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #FEFEFE, stop:1 #E8E8E8); border: 1px solid #CCCCCC;}"); // create menu header @@ -293,8 +293,9 @@ void FriendList::peerTreeWidgetCustomPopupMenu() hbox->setSpacing(6); QLabel *iconLabel = new QLabel(widget); - iconLabel->setPixmap(QPixmap(":/images/user/friends24.png")); - iconLabel->setMaximumSize(iconLabel->frameSize().height() + 24, 24); + QPixmap pix = QPixmap(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5); + iconLabel->setPixmap(pix); + iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width()); hbox->addWidget(iconLabel); QLabel *textLabel = new QLabel("RetroShare", widget); @@ -307,7 +308,7 @@ void FriendList::peerTreeWidgetCustomPopupMenu() QWidgetAction *widgetAction = new QWidgetAction(this); widgetAction->setDefaultWidget(widget); - contextMnu.addAction(widgetAction); + contextMenu->addAction(widgetAction); // create menu entries if (c) @@ -337,23 +338,23 @@ void FriendList::peerTreeWidgetCustomPopupMenu() { bool standard = c->data(COLUMN_DATA, ROLE_STANDARD).toBool(); - contextMnu.addAction(QIcon(IMAGE_MSG), tr("Send message to whole group"), this, SLOT(msgfriend())); - contextMnu.addSeparator(); - contextMnu.addAction(QIcon(IMAGE_EDIT), tr("Edit Group"), this, SLOT(editGroup())); + contextMenu->addAction(QIcon(IMAGE_MSG), tr("Send message to whole group"), this, SLOT(msgfriend())); + contextMenu->addSeparator(); + contextMenu->addAction(QIcon(IMAGE_EDIT), tr("Edit Group"), this, SLOT(editGroup())); - QAction *action = contextMnu.addAction(QIcon(IMAGE_REMOVE), tr("Remove Group"), this, SLOT(removeGroup())); + QAction *action = contextMenu->addAction(QIcon(IMAGE_REMOVE), tr("Remove Group"), this, SLOT(removeGroup())); action->setDisabled(standard); } break; case TYPE_GPG: { - contextMnu.addAction(QIcon(IMAGE_CHAT), tr("Chat"), this, SLOT(chatfriendproxy())); - contextMnu.addAction(QIcon(IMAGE_MSG), tr("Send message"), this, SLOT(msgfriend())); + contextMenu->addAction(QIcon(IMAGE_CHAT), tr("Chat"), this, SLOT(chatfriendproxy())); + contextMenu->addAction(QIcon(IMAGE_MSG), tr("Send message"), this, SLOT(msgfriend())); - contextMnu.addSeparator(); + contextMenu->addSeparator(); - contextMnu.addAction(QIcon(IMAGE_FRIENDINFO), tr("Details"), this, SLOT(configurefriend())); - contextMnu.addAction(QIcon(IMAGE_DENYFRIEND), tr("Deny"), this, SLOT(removefriend())); + contextMenu->addAction(QIcon(IMAGE_FRIENDINFO), tr("Details"), this, SLOT(configurefriend())); + contextMenu->addAction(QIcon(IMAGE_DENYFRIEND), tr("Deny"), this, SLOT(removefriend())); if(mShowGroups) { @@ -375,7 +376,7 @@ void FriendList::peerTreeWidgetCustomPopupMenu() if (std::find(groupIt->peerIds.begin(), groupIt->peerIds.end(), gpgId) == groupIt->peerIds.end()) { if (parent) { if (addToGroupMenu == NULL) { - addToGroupMenu = new QMenu(tr("Add to group"), &contextMnu); + addToGroupMenu = new QMenu(tr("Add to group"), contextMenu); } QAction* addToGroupAction = new QAction(GroupDefs::name(*groupIt), addToGroupMenu); addToGroupAction->setData(QString::fromStdString(groupIt->id.toStdString())); @@ -384,7 +385,7 @@ void FriendList::peerTreeWidgetCustomPopupMenu() } if (moveToGroupMenu == NULL) { - moveToGroupMenu = new QMenu(tr("Move to group"), &contextMnu); + moveToGroupMenu = new QMenu(tr("Move to group"), contextMenu); } QAction* moveToGroupAction = new QAction(GroupDefs::name(*groupIt), moveToGroupMenu); moveToGroupAction->setData(QString::fromStdString(groupIt->id.toStdString())); @@ -395,7 +396,7 @@ void FriendList::peerTreeWidgetCustomPopupMenu() } } - QMenu *groupsMenu = contextMnu.addMenu(QIcon(IMAGE_GROUP16), tr("Groups")); + QMenu *groupsMenu = contextMenu->addMenu(QIcon(IMAGE_GROUP16), tr("Groups")); groupsMenu->addAction(QIcon(IMAGE_EXPAND), tr("Create new group"), this, SLOT(createNewGroup())); if (addToGroupMenu || moveToGroupMenu || foundGroup) { @@ -427,40 +428,43 @@ void FriendList::peerTreeWidgetCustomPopupMenu() case TYPE_SSL: { - contextMnu.addAction(QIcon(IMAGE_CHAT), tr("Chat"), this, SLOT(chatfriendproxy())); - contextMnu.addAction(QIcon(IMAGE_MSG), tr("Send message"), this, SLOT(msgfriend())); + contextMenu->addAction(QIcon(IMAGE_CHAT), tr("Chat"), this, SLOT(chatfriendproxy())); + contextMenu->addAction(QIcon(IMAGE_MSG), tr("Send message"), this, SLOT(msgfriend())); - contextMnu.addSeparator(); + contextMenu->addSeparator(); - contextMnu.addAction(QIcon(IMAGE_FRIENDINFO), tr("Details"), this, SLOT(configurefriend())); + contextMenu->addAction(QIcon(IMAGE_FRIENDINFO), tr("Details"), this, SLOT(configurefriend())); if (type == TYPE_GPG || type == TYPE_SSL) { - contextMnu.addAction(QIcon(IMAGE_EXPORTFRIEND), tr("Recommend this Friend to..."), this, SLOT(recommendfriend())); + contextMenu->addAction(QIcon(IMAGE_EXPORTFRIEND), tr("Recommend this Friend to..."), this, SLOT(recommendfriend())); } - contextMnu.addAction(QIcon(IMAGE_CONNECT), tr("Attempt to connect"), this, SLOT(connectfriend())); + contextMenu->addAction(QIcon(IMAGE_CONNECT), tr("Attempt to connect"), this, SLOT(connectfriend())); - contextMnu.addAction(QIcon(IMAGE_COPYLINK), tr("Copy certificate link"), this, SLOT(copyFullCertificate())); + contextMenu->addAction(QIcon(IMAGE_COPYLINK), tr("Copy certificate link"), this, SLOT(copyFullCertificate())); - //this is a SSL key - contextMnu.addAction(QIcon(IMAGE_REMOVEFRIEND), tr("Remove Friend Node"), this, SLOT(removefriend())); + //this is a SSL key + contextMenu->addAction(QIcon(IMAGE_REMOVEFRIEND), tr("Remove Friend Node"), this, SLOT(removefriend())); } } } - contextMnu.addSeparator(); + contextMenu->addSeparator(); - QAction *action = contextMnu.addAction(QIcon(IMAGE_PASTELINK), tr("Paste certificate link"), this, SLOT(pastePerson())); - if (RSLinkClipboard::empty(RetroShareLink::TYPE_CERTIFICATE)) - action->setDisabled(true); + QAction *action = contextMenu->addAction(QIcon(IMAGE_PASTELINK), tr("Paste certificate link"), this, SLOT(pastePerson())); + if (RSLinkClipboard::empty(RetroShareLink::TYPE_CERTIFICATE)) + action->setDisabled(true); - contextMnu.addAction(QIcon(IMAGE_EXPAND), tr("Expand all"), ui->peerTreeWidget, SLOT(expandAll())); - contextMnu.addAction(QIcon(IMAGE_COLLAPSE), tr("Collapse all"), ui->peerTreeWidget, SLOT(collapseAll())); + contextMenu->addAction(QIcon(IMAGE_EXPAND), tr("Expand all"), ui->peerTreeWidget, SLOT(expandAll())); + contextMenu->addAction(QIcon(IMAGE_COLLAPSE), tr("Collapse all"), ui->peerTreeWidget, SLOT(collapseAll())); - contextMnu.exec(QCursor::pos()); + contextMenu = ui->peerTreeWidget->createStandardContextMenu(contextMenu); + + contextMenu->exec(QCursor::pos()); + delete contextMenu; } void FriendList::createNewGroup() @@ -2284,16 +2288,16 @@ void FriendList::addPeerToExpand(const std::string &gpgId) void FriendList::createDisplayMenu() { - QMenu *displayMenu = new QMenu(tr("Show"), this); + QMenu *displayMenu = new QMenu(tr("Show Items"), this); connect(displayMenu, SIGNAL(aboutToShow()), this, SLOT(updateMenu())); displayMenu->addAction(ui->actionHideOfflineFriends); displayMenu->addAction(ui->actionShowState); displayMenu->addAction(ui->actionShowGroups); - ui->peerTreeWidget->addHeaderContextMenuMenu(displayMenu); - ui->peerTreeWidget->addHeaderContextMenuAction(ui->actionExportFriendlist); - ui->peerTreeWidget->addHeaderContextMenuAction(ui->actionImportFriendlist); + ui->peerTreeWidget->addContextMenuMenu(displayMenu); + ui->peerTreeWidget->addContextMenuAction(ui->actionExportFriendlist); + ui->peerTreeWidget->addContextMenuAction(ui->actionImportFriendlist); } void FriendList::updateMenu() diff --git a/retroshare-gui/src/gui/common/FriendSelectionWidget.cpp b/retroshare-gui/src/gui/common/FriendSelectionWidget.cpp index 1f9d694fd..dce1b39f4 100644 --- a/retroshare-gui/src/gui/common/FriendSelectionWidget.cpp +++ b/retroshare-gui/src/gui/common/FriendSelectionWidget.cpp @@ -108,7 +108,7 @@ FriendSelectionWidget::FriendSelectionWidget(QWidget *parent) mActionSortByState = new QAction(tr("Sort by state"), this); mActionSortByState->setCheckable(true); connect(mActionSortByState, SIGNAL(toggled(bool)), this, SLOT(sortByState(bool))); - ui->friendList->addHeaderContextMenuAction(mActionSortByState); + ui->friendList->addContextMenuAction(mActionSortByState); /* initialize list */ ui->friendList->setColumnCount(COLUMN_COUNT); @@ -808,16 +808,16 @@ void FriendSelectionWidget::addContextMenuAction(QAction *action) void FriendSelectionWidget::contextMenuRequested(const QPoint &/*pos*/) { - QMenu contextMenu(this); + QMenu *contextMenu = new QMenu(this); if (mListModus == MODUS_CHECK) { - contextMenu.addAction(QIcon(), tr("Mark all"), this, SLOT(selectAll())); - contextMenu.addAction(QIcon(), tr("Mark none"), this, SLOT(deselectAll())); + contextMenu->addAction(QIcon(), tr("Mark all"), this, SLOT(selectAll())); + contextMenu->addAction(QIcon(), tr("Mark none"), this, SLOT(deselectAll())); } if (!mContextMenuActions.isEmpty()) { bool addSeparator = false; - if (!contextMenu.isEmpty()) { + if (!contextMenu->isEmpty()) { // Check for visible action foreach (QAction *action, mContextMenuActions) { if (action->isVisible()) { @@ -828,17 +828,19 @@ void FriendSelectionWidget::contextMenuRequested(const QPoint &/*pos*/) } if (addSeparator) { - contextMenu.addSeparator(); + contextMenu->addSeparator(); } - contextMenu.addActions(mContextMenuActions); + contextMenu->addActions(mContextMenuActions); } - if (contextMenu.isEmpty()) { - return; + contextMenu = ui->friendList->createStandardContextMenu(contextMenu); + + if (!contextMenu->isEmpty()) { + contextMenu->exec(QCursor::pos()); } - contextMenu.exec(QCursor::pos()); + delete contextMenu; } void FriendSelectionWidget::itemDoubleClicked(QTreeWidgetItem *item, int /*column*/) diff --git a/retroshare-gui/src/gui/common/RSTreeWidget.cpp b/retroshare-gui/src/gui/common/RSTreeWidget.cpp index 404b98217..ab72448d1 100644 --- a/retroshare-gui/src/gui/common/RSTreeWidget.cpp +++ b/retroshare-gui/src/gui/common/RSTreeWidget.cpp @@ -18,13 +18,16 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA 02110-1301, USA. ****************************************************************/ - -#include -#include -#include -#include - #include "RSTreeWidget.h" + +#include +#include +#include +#include +#include +#include +#include + #include "gui/settings/rsharesettings.h" RSTreeWidget::RSTreeWidget(QWidget *parent) : QTreeWidget(parent) @@ -164,21 +167,54 @@ void RSTreeWidget::setColumnCustomizable(int column, bool customizable) mColumnCustomizable[column] = customizable; } -void RSTreeWidget::addHeaderContextMenuAction(QAction *action) +void RSTreeWidget::addContextMenuAction(QAction *action) { - mHeaderContextMenuActions.push_back(action); + mContextMenuActions.push_back(action); } -void RSTreeWidget::addHeaderContextMenuMenu(QMenu *menu) +void RSTreeWidget::addContextMenuMenu(QMenu *menu) { - mHeaderContextMenuMenus.push_back(menu); + mContextMenuMenus.push_back(menu); } -void RSTreeWidget::headerContextMenuRequested(const QPoint &pos) +QMenu *RSTreeWidget::createStandardContextMenu(QMenu *contextMenu) { - QMenu contextMenu(this); + if (!contextMenu){ + contextMenu = new QMenu(this); + contextMenu->addSeparator(); + } + + if(!mContextMenuActions.isEmpty() || mEnableColumnCustomize ||!mContextMenuActions.isEmpty() || !mContextMenuMenus.isEmpty()) { + QWidget *widget = new QWidget(contextMenu); + widget->setStyleSheet( ".QWidget{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #FEFEFE, stop:1 #E8E8E8); border: 1px solid #CCCCCC;}"); + + // create menu header + QHBoxLayout *hbox = new QHBoxLayout(widget); + hbox->setMargin(0); + hbox->setSpacing(6); + + QLabel *iconLabel = new QLabel(widget); + QPixmap pix = QPixmap(":/images/settings.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5); + iconLabel->setPixmap(pix); + iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width()); + hbox->addWidget(iconLabel); + + QLabel *textLabel = new QLabel("" + tr("Tree View Options") + "", widget); + hbox->addWidget(textLabel); + + QSpacerItem *spacerItem = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum); + hbox->addItem(spacerItem); + + widget->setLayout(hbox); + + QWidgetAction *widgetAction = new QWidgetAction(this); + widgetAction->setDefaultWidget(widget); + contextMenu->addAction(widgetAction); + } if (mEnableColumnCustomize) { + QMenu *headerMenu = contextMenu->addMenu(QIcon(),tr("Show Headers")); + QTreeWidgetItem *item = headerItem(); int columnCount = item->columnCount(); for (int column = 0; column < columnCount; ++column) { @@ -186,18 +222,18 @@ void RSTreeWidget::headerContextMenuRequested(const QPoint &pos) if (it != mColumnCustomizable.end() && *it == false) { continue; } - QAction *action = contextMenu.addAction(QIcon(), item->text(column), this, SLOT(columnVisible())); + QAction *action = headerMenu->addAction(QIcon(), item->text(column), this, SLOT(columnVisible())); action->setCheckable(true); action->setData(column); action->setChecked(!isColumnHidden(column)); } } - if (!mHeaderContextMenuActions.isEmpty()) { + if (!mContextMenuActions.isEmpty()) { bool addSeparator = false; - if (!contextMenu.isEmpty()) { + if (!contextMenu->isEmpty()) { // Check for visible action - foreach (QAction *action, mHeaderContextMenuActions) { + foreach (QAction *action, mContextMenuActions) { if (action->isVisible()) { addSeparator = true; break; @@ -206,24 +242,31 @@ void RSTreeWidget::headerContextMenuRequested(const QPoint &pos) } if (addSeparator) { - contextMenu.addSeparator(); + contextMenu->addSeparator(); } - contextMenu.addActions(mHeaderContextMenuActions); + contextMenu->addActions(mContextMenuActions); } - if (!mHeaderContextMenuMenus.isEmpty()) { - foreach(QMenu *menu, mHeaderContextMenuMenus) { - contextMenu.addSeparator(); - contextMenu.addMenu(menu); + if (!mContextMenuMenus.isEmpty()) { + foreach(QMenu *menu, mContextMenuMenus) { + contextMenu->addSeparator(); + contextMenu->addMenu(menu); } } - if (contextMenu.isEmpty()) { + return contextMenu; +} + +void RSTreeWidget::headerContextMenuRequested(const QPoint &pos) +{ + QMenu *contextMenu = createStandardContextMenu(NULL); + if (contextMenu->isEmpty()) { return; } - contextMenu.exec(mapToGlobal(pos)); + contextMenu->exec(mapToGlobal(pos)); + delete contextMenu; } void RSTreeWidget::columnVisible() diff --git a/retroshare-gui/src/gui/common/RSTreeWidget.h b/retroshare-gui/src/gui/common/RSTreeWidget.h index 5fd365244..cffa9975f 100644 --- a/retroshare-gui/src/gui/common/RSTreeWidget.h +++ b/retroshare-gui/src/gui/common/RSTreeWidget.h @@ -46,9 +46,11 @@ public: void resort(); // Add QAction to context menu (action won't be deleted) - void addHeaderContextMenuAction(QAction *action); + void addContextMenuAction(QAction *action); // Add QMenu to context menu (menu won't be deleted) - void addHeaderContextMenuMenu(QMenu *menu); + void addContextMenuMenu(QMenu *menu); + // Get Default context menu (Columns choice and menus added) + QMenu *createStandardContextMenu(QMenu *menu); signals: void signalMouseMiddleButtonClicked(QTreeWidgetItem *item); @@ -70,8 +72,8 @@ private: bool mEnableColumnCustomize; quint32 mSettingsVersion; QMap mColumnCustomizable; - QList mHeaderContextMenuActions; - QList mHeaderContextMenuMenus; + QList mContextMenuActions; + QList mContextMenuMenus; }; #endif From 1fe7dce424a79248790293974abec4a0b53fcb7e Mon Sep 17 00:00:00 2001 From: defnax Date: Wed, 10 Aug 2016 00:22:23 +0200 Subject: [PATCH 115/158] Set icons for the voting combo box --- retroshare-gui/src/gui/Identity/IdDialog.ui | 33 +++++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/Identity/IdDialog.ui b/retroshare-gui/src/gui/Identity/IdDialog.ui index abd550fc7..3543ebc2d 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.ui +++ b/retroshare-gui/src/gui/Identity/IdDialog.ui @@ -7,7 +7,7 @@ 0 0 800 - 872 + 590 @@ -587,24 +587,38 @@ p, li { white-space: pre-wrap; } 0 + + + 20 + 20 + + Negative - - ../icons/yellow_biohazard64.png../icons/yellow_biohazard64.png + + :/images/vote_down.png:/images/vote_down.png Neutral + + + :/images/vote_neutral.png:/images/vote_neutral.png + Positive + + + :/images/vote_up.png:/images/vote_up.png +
@@ -638,6 +652,19 @@ p, li { white-space: pre-wrap; } + + + + Qt::Vertical + + + + 128 + 40 + + + +
From f3b8843384e1734c0ee640a42d8174234fdf3e26 Mon Sep 17 00:00:00 2001 From: thunder2 Date: Fri, 12 Aug 2016 10:03:47 +0200 Subject: [PATCH 116/158] Fixed QMAKE_PRE_LINK for Windows compile without MSYS2 --- retroshare-gui/src/retroshare-gui.pro | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/retroshare-gui/src/retroshare-gui.pro b/retroshare-gui/src/retroshare-gui.pro index b4f28dc0f..d21d35eb8 100644 --- a/retroshare-gui/src/retroshare-gui.pro +++ b/retroshare-gui/src/retroshare-gui.pro @@ -204,7 +204,11 @@ win32 { LIBS += -Wl,--export-all-symbols,--out-implib,lib/libretroshare-gui.a # create lib directory - QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib || $(MKDIR) lib + isEmpty(QMAKE_SH) { + QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib $(MKDIR) lib + } else { + QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib || $(MKDIR) lib + } DEFINES *= WINDOWS_SYS WIN32_LEAN_AND_MEAN _USE_32BIT_TIME_T From 81d42f0a890bdd7917017de94423b479cbe05aaa Mon Sep 17 00:00:00 2001 From: thunder2 Date: Fri, 12 Aug 2016 14:14:09 +0200 Subject: [PATCH 117/158] Fixed MSYS2AUTOMAKE path in msys2_build_libs/Makefile --- msys2_build_libs/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/msys2_build_libs/Makefile b/msys2_build_libs/Makefile index b0ac66cb2..e7f940780 100755 --- a/msys2_build_libs/Makefile +++ b/msys2_build_libs/Makefile @@ -1,5 +1,5 @@ SQLCIPHER_VERSION=3.3.1 -MSYS2AUTOMAKE=/c/msys64/usr/share/automake-1.15 +MSYS2AUTOMAKE=/usr/share/automake-1.15 BLD=../build-libs DLD=../downloads From ab82c4a73c97c0dc669018881c7d186e705dca5e Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 12 Aug 2016 15:24:40 +0200 Subject: [PATCH 118/158] added missing return in PGPKeyUtil, causing corruption of keys in some--possible rare--situations --- libretroshare/src/pgp/pgpkeyutil.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libretroshare/src/pgp/pgpkeyutil.cc b/libretroshare/src/pgp/pgpkeyutil.cc index b4e2161c2..e4a3c5b07 100644 --- a/libretroshare/src/pgp/pgpkeyutil.cc +++ b/libretroshare/src/pgp/pgpkeyutil.cc @@ -258,6 +258,8 @@ uint32_t PGPKeyParser::write_125Size(unsigned char *data,uint32_t size) { data[0] = (size >> 8) + 192 ; data[1] = (size & 255) - 192 ; + + return 2 ; } data[0] = 0xff ; From 0e1c0c2eb3493672c3b612304510821dabac262a Mon Sep 17 00:00:00 2001 From: defnax Date: Fri, 12 Aug 2016 22:19:44 +0200 Subject: [PATCH 119/158] Added search filter for participants list. --- .../src/gui/chat/ChatLobbyDialog.cpp | 21 ++++++ retroshare-gui/src/gui/chat/ChatLobbyDialog.h | 3 + .../src/gui/chat/ChatLobbyDialog.ui | 64 +++++++++++++++++-- 3 files changed, 83 insertions(+), 5 deletions(-) diff --git a/retroshare-gui/src/gui/chat/ChatLobbyDialog.cpp b/retroshare-gui/src/gui/chat/ChatLobbyDialog.cpp index bd9a5f3d5..ac0578cbf 100644 --- a/retroshare-gui/src/gui/chat/ChatLobbyDialog.cpp +++ b/retroshare-gui/src/gui/chat/ChatLobbyDialog.cpp @@ -76,6 +76,8 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::Wi connect(ui.participantsList, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(participantsTreeWidgetCustomPopupMenu(QPoint))); connect(ui.participantsList, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(participantsTreeWidgetDoubleClicked(QTreeWidgetItem*,int))); + connect(ui.filterLineEdit, SIGNAL(textChanged(QString)), this, SLOT(filterChanged(QString))); + int S = QFontMetricsF(font()).height() ; ui.participantsList->setIconSize(QSize(1.3*S,1.3*S)); @@ -108,6 +110,11 @@ ChatLobbyDialog::ChatLobbyDialog(const ChatLobbyId& lid, QWidget *parent, Qt::Wi connect(actionSortByName, SIGNAL(triggered()), this, SLOT(sortParcipants())); connect(actionSortByActivity, SIGNAL(triggered()), this, SLOT(sortParcipants())); + + /* Add filter actions */ + QTreeWidgetItem *headerItem = ui.participantsList->headerItem(); + QString headerText = headerItem->text(COLUMN_NAME ); + ui.filterLineEdit->addFilter(QIcon(), headerText, COLUMN_NAME , QString("%1 %2").arg(tr("Search"), headerText)); // Add a button to invite friends. // @@ -557,6 +564,7 @@ void ChatLobbyDialog::updateParticipantsList() } ui.participantsList->setSortingEnabled(true); sortParcipants(); + filterIds(); } /** @@ -857,3 +865,16 @@ void ChatLobbyDialog::sortParcipants() } } + +void ChatLobbyDialog::filterChanged(const QString& /*text*/) +{ + filterIds(); +} + +void ChatLobbyDialog::filterIds() +{ + int filterColumn = ui.filterLineEdit->currentFilter(); + QString text = ui.filterLineEdit->text(); + + ui.participantsList->filterItems(filterColumn, text); +} diff --git a/retroshare-gui/src/gui/chat/ChatLobbyDialog.h b/retroshare-gui/src/gui/chat/ChatLobbyDialog.h index 61758899e..0dc9a7497 100644 --- a/retroshare-gui/src/gui/chat/ChatLobbyDialog.h +++ b/retroshare-gui/src/gui/chat/ChatLobbyDialog.h @@ -53,6 +53,7 @@ private slots: void participantsTreeWidgetCustomPopupMenu( QPoint point ); void inviteFriends() ; void leaveLobby() ; + void filterChanged(const QString &text); signals: void lobbyLeave(ChatLobbyId) ; @@ -83,6 +84,8 @@ protected slots: private: void updateParticipantsList(); + + void filterIds(); QString getParticipantName(const RsGxsId& id) const; void muteParticipant(const RsGxsId& id); diff --git a/retroshare-gui/src/gui/chat/ChatLobbyDialog.ui b/retroshare-gui/src/gui/chat/ChatLobbyDialog.ui index e31d9bc52..acc30b281 100644 --- a/retroshare-gui/src/gui/chat/ChatLobbyDialog.ui +++ b/retroshare-gui/src/gui/chat/ChatLobbyDialog.ui @@ -14,7 +14,16 @@ MainWindow - + + 0 + + + 0 + + + 0 + + 0 @@ -57,16 +66,43 @@ 0 - 3 + 0 0 - 3 + 0 - + + + QFrame::Box + + + QFrame::Sunken + + + + 2 + + + 2 + + + 2 + + + 2 + + + + + + + + + 0 @@ -114,6 +150,11 @@ Participants + + + Name + + @@ -128,13 +169,26 @@ + + LineEditClear + QLineEdit +
gui/common/LineEditClear.h
+
ChatWidget QWidget
gui/chat/ChatWidget.h
1
+ + RSTreeWidget + QTreeWidget +
gui/common/RSTreeWidget.h
+
- + + + + From f71aad4b9cd73019638b631e292bde86a615730f Mon Sep 17 00:00:00 2001 From: Phenom Date: Tue, 9 Aug 2016 23:32:25 +0200 Subject: [PATCH 120/158] Add Chat Load Embedded Images Option like forum and message. --- retroshare-gui/src/gui/chat/ChatWidget.cpp | 8 +++++--- retroshare-gui/src/gui/chat/ChatWidget.ui | 16 ++++++++++++++++ retroshare-gui/src/gui/settings/ChatPage.cpp | 2 ++ retroshare-gui/src/gui/settings/ChatPage.ui | 7 +++++++ .../src/gui/settings/rsharesettings.cpp | 12 ++++++++++++ retroshare-gui/src/gui/settings/rsharesettings.h | 3 +++ 6 files changed, 45 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/chat/ChatWidget.cpp b/retroshare-gui/src/gui/chat/ChatWidget.cpp index 1540722bd..2fcf49f81 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.cpp +++ b/retroshare-gui/src/gui/chat/ChatWidget.cpp @@ -120,7 +120,7 @@ ChatWidget::ChatWidget(QWidget *parent) : ui->actionSearchWithoutLimit->setText(tr("Don't stop to color after")+" "+QString::number(uiMaxSearchLimitColor)+" "+tr("items found (need more CPU)")); - ui->markButton->setVisible(false); + ui->markButton->setVisible(false); ui->leSearch->setVisible(false); ui->searchBefore->setVisible(false); ui->searchBefore->setToolTip(tr("Find Previous
Ctrl+Shift+G")); @@ -194,8 +194,10 @@ ChatWidget::ChatWidget(QWidget *parent) : ui->pushtoolsButton->setMenu(menu); menu->addMenu(fontmenu); - ui->actionSendAsPlainText->setChecked(Settings->getChatSendAsPlainTextByDef()); - + ui->actionSendAsPlainText->setChecked(Settings->getChatSendAsPlainTextByDef()); + + ui->textBrowser->resetImagesStatus(Settings->getChatLoadEmbeddedImages()); + ui->textBrowser->setImageBlockWidget(ui->imageBlockWidget); ui->textBrowser->installEventFilter(this); ui->textBrowser->viewport()->installEventFilter(this); ui->chatTextEdit->installEventFilter(this); diff --git a/retroshare-gui/src/gui/chat/ChatWidget.ui b/retroshare-gui/src/gui/chat/ChatWidget.ui index e1e5cf0b8..1b9f57b71 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.ui +++ b/retroshare-gui/src/gui/chat/ChatWidget.ui @@ -206,6 +206,16 @@ border-image: url(:/images/closepressed.png) + + + + + 0 + 0 + + + + @@ -1007,6 +1017,12 @@ border-image: url(:/images/closepressed.png) QTextEdit
gui/common/MimeTextEdit.h
+ + RSImageBlockWidget + QWidget +
gui/common/RSImageBlockWidget.h
+ 1 +
diff --git a/retroshare-gui/src/gui/settings/ChatPage.cpp b/retroshare-gui/src/gui/settings/ChatPage.cpp index a53d62293..e4e32abdf 100644 --- a/retroshare-gui/src/gui/settings/ChatPage.cpp +++ b/retroshare-gui/src/gui/settings/ChatPage.cpp @@ -130,6 +130,7 @@ ChatPage::save(QString &/*errmsg*/) Settings->setChatSendMessageWithCtrlReturn(ui.sendMessageWithCtrlReturn->isChecked()); Settings->setChatSendAsPlainTextByDef(ui.sendAsPlainTextByDef->isChecked()); + Settings->setChatLoadEmbeddedImages(ui.loadEmbeddedImages->isChecked()); Settings->setChatSearchCharToStartSearch(ui.sbSearch_CharToStart->value()); Settings->setChatSearchCaseSensitively(ui.cbSearch_CaseSensitively->isChecked()); @@ -238,6 +239,7 @@ ChatPage::load() ui.sendMessageWithCtrlReturn->setChecked(Settings->getChatSendMessageWithCtrlReturn()); ui.sendAsPlainTextByDef->setChecked(Settings->getChatSendAsPlainTextByDef()); + ui.loadEmbeddedImages->setChecked(Settings->getChatLoadEmbeddedImages()); ui.sbSearch_CharToStart->setValue(Settings->getChatSearchCharToStartSearch()); ui.cbSearch_CaseSensitively->setChecked(Settings->getChatSearchCaseSensitively()); diff --git a/retroshare-gui/src/gui/settings/ChatPage.ui b/retroshare-gui/src/gui/settings/ChatPage.ui index 706339756..d9569af3f 100644 --- a/retroshare-gui/src/gui/settings/ChatPage.ui +++ b/retroshare-gui/src/gui/settings/ChatPage.ui @@ -218,6 +218,13 @@
+ + + + Load embedded images + + + diff --git a/retroshare-gui/src/gui/settings/rsharesettings.cpp b/retroshare-gui/src/gui/settings/rsharesettings.cpp index 4011f4a9b..530ffd766 100644 --- a/retroshare-gui/src/gui/settings/rsharesettings.cpp +++ b/retroshare-gui/src/gui/settings/rsharesettings.cpp @@ -345,6 +345,8 @@ static QString getKeyForLastDir(RshareSettings::enumLastDir type) return "Messages"; case RshareSettings::LASTDIR_SOUNDS: return "SOUNDS"; + case RshareSettings::LASTDIR_PLUGIN: + return "PLUGIN"; } return ""; } @@ -601,6 +603,16 @@ QRgb RshareSettings::getChatSearchFoundColor() return valueFromGroup("Chat", "SearchMaxSearchFoundColor", QString::number(QColor(255,255,150).rgba())).toUInt(); } +bool RshareSettings::getChatLoadEmbeddedImages() +{ + return valueFromGroup("Chat", "LoadEmbeddedImages", true).toBool(); +} + +void RshareSettings::setChatLoadEmbeddedImages(bool value) +{ + setValueToGroup("Chat", "LoadEmbeddedImages", value); +} + RshareSettings::enumToasterPosition RshareSettings::getToasterPosition() { return (enumToasterPosition) value("ToasterPosition", TOASTERPOS_BOTTOMRIGHT).toInt(); diff --git a/retroshare-gui/src/gui/settings/rsharesettings.h b/retroshare-gui/src/gui/settings/rsharesettings.h index a7719c6d0..a693deaf3 100644 --- a/retroshare-gui/src/gui/settings/rsharesettings.h +++ b/retroshare-gui/src/gui/settings/rsharesettings.h @@ -237,6 +237,9 @@ public: void setChatSearchFoundColor(QRgb rgbValue); QRgb getChatSearchFoundColor(); + bool getChatLoadEmbeddedImages(); + void setChatLoadEmbeddedImages(bool value); + enumToasterPosition getToasterPosition(); void setToasterPosition(enumToasterPosition position); From fcad9d99abdbd14b6592505f5756d58b12ceebff Mon Sep 17 00:00:00 2001 From: Phenom Date: Sat, 13 Aug 2016 10:42:42 +0200 Subject: [PATCH 121/158] Fix RSTextBrowser::loadResource if image comes from stylesheet. --- .../src/gui/common/RSTextBrowser.cpp | 50 +++++++++++-------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/retroshare-gui/src/gui/common/RSTextBrowser.cpp b/retroshare-gui/src/gui/common/RSTextBrowser.cpp index 87f77c437..edeaa473e 100644 --- a/retroshare-gui/src/gui/common/RSTextBrowser.cpp +++ b/retroshare-gui/src/gui/common/RSTextBrowser.cpp @@ -6,6 +6,8 @@ #include "RSTextBrowser.h" #include "RSImageBlockWidget.h" +#include //To get RsAccounts + RSTextBrowser::RSTextBrowser(QWidget *parent) : QTextBrowser(parent) { @@ -74,29 +76,37 @@ void RSTextBrowser::paintEvent(QPaintEvent *event) QVariant RSTextBrowser::loadResource(int type, const QUrl &name) { - // case 1: always trust the image if it comes from an internal resource - - if(name.scheme().compare("qrc",Qt::CaseInsensitive)==0 && type == QTextDocument::ImageResource) - return QTextBrowser::loadResource(type, name); - - // case 2: only display if the user allows it. Data resources can be bad (svg bombs) but we filter them out globally at the network layer. - // It would be good to add here a home-made resource loader that only loads images and not svg crap, just in case. - - if(name.scheme().compare("data",Qt::CaseInsensitive)==0 && mShowImages) - return QTextBrowser::loadResource(type, name); - - // case 3: otherwise, do not display - - std::cerr << "TEXTBROWSER: refusing load ressource request: type=" << type << " scheme=" << name.scheme().toStdString() << ", url=" << name.toString().toStdString() << std::endl; - - if (mImageBlockWidget) - mImageBlockWidget->show(); + // case 1: always trust the image if it comes from an internal resource. - //https://git.merproject.org/lbt/qtbase/commit/6d13e9f29597e0d557857e3f80173faba5368424 + if(name.scheme().compare("qrc",Qt::CaseInsensitive)==0 && type == QTextDocument::ImageResource) + return QTextBrowser::loadResource(type, name); + + // case 2: always trust the image if it comes from local Config or Data directories. + + if(name.scheme().compare("file",Qt::CaseInsensitive)==0 && type == QTextDocument::ImageResource) { + if (name.path().startsWith(QString::fromUtf8(RsAccounts::ConfigDirectory().c_str()).prepend("/"),Qt::CaseInsensitive) + || name.path().startsWith(QString::fromUtf8(RsAccounts::DataDirectory().c_str()).prepend("/"),Qt::CaseInsensitive)) + return QTextBrowser::loadResource(type, name); + } + + // case 3: only display if the user allows it. Data resources can be bad (svg bombs) but we filter them out globally at the network layer. + // It would be good to add here a home-made resource loader that only loads images and not svg crap, just in case. + + if(name.scheme().compare("data",Qt::CaseInsensitive)==0 && mShowImages) + return QTextBrowser::loadResource(type, name); + + // case 4: otherwise, do not display + + std::cerr << "TEXTBROWSER: refusing load ressource request: type=" << type << " scheme=" << name.scheme().toStdString() << ", url=" << name.toString().toStdString() << std::endl; + + if (mImageBlockWidget) + mImageBlockWidget->show(); + + //https://git.merproject.org/lbt/qtbase/commit/6d13e9f29597e0d557857e3f80173faba5368424 #if QT_VERSION >= QT_VERSION_CHECK (5, 0, 0) - return QPixmap(":/qt-project.org/styles/commonstyle/images/file-16.png"); + return QPixmap(":/qt-project.org/styles/commonstyle/images/file-16.png"); #else - return QPixmap(":/trolltech/styles/commonstyle/images/file-16.png"); + return QPixmap(":/trolltech/styles/commonstyle/images/file-16.png"); #endif } From b0b4320c0b9fa70a5fa20620933bcb68d7e6b5e5 Mon Sep 17 00:00:00 2001 From: defnax Date: Sat, 13 Aug 2016 16:20:58 +0200 Subject: [PATCH 122/158] decrease chat bar widget icon size --- retroshare-gui/src/gui/chat/ChatWidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/chat/ChatWidget.cpp b/retroshare-gui/src/gui/chat/ChatWidget.cpp index 2fcf49f81..08e097578 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.cpp +++ b/retroshare-gui/src/gui/chat/ChatWidget.cpp @@ -62,7 +62,7 @@ #include -#define FMM 2.8//fontMetricsMultiplicator +#define FMM 2.5//fontMetricsMultiplicator /***** * #define CHAT_DEBUG 1 From f1847a954fa4f0f2c086962670a43b7e9d3ccc3d Mon Sep 17 00:00:00 2001 From: thunder2 Date: Sun, 14 Aug 2016 14:11:01 +0200 Subject: [PATCH 123/158] Changed check for MSYS2 environment for Windows compile --- plugins/FeedReader/FeedReader.pro | 13 ++++++------- retroshare.pri | 15 +++++---------- 2 files changed, 11 insertions(+), 17 deletions(-) diff --git a/plugins/FeedReader/FeedReader.pro b/plugins/FeedReader/FeedReader.pro index 64c698fe6..022412a3f 100644 --- a/plugins/FeedReader/FeedReader.pro +++ b/plugins/FeedReader/FeedReader.pro @@ -91,14 +91,13 @@ win32 { #Have to reorder libs, else got /libs/lib/libcrypto.a(bio_lib.o):bio_lib.c:(.text+0x0): multiple definition of `BIO_new' LIBS = -lcurl -lxml2 -lz -lxslt -lws2_32 -lwldap32 -lssl -lcrypto -lgdi32 $${LIBS} - exists(C:/msys32/mingw32/include) { - message(msys2 xml2 is installed.) - INC_DIR += "C:/msys32/mingw32/include/libxml2" - } - exists(C:/msys64/mingw32/include) { - message(msys2 xml2 is installed.) - INC_DIR += "C:/msys64/mingw32/include/libxml2" + + # Check for msys2 + !isEmpty(PREFIX_MSYS2) { + message(Use msys2 xml2.) + INC_DIR += "$${PREFIX_MSYS2}/include/libxml2" } + DEPENDPATH += . $$INC_DIR INCLUDEPATH += . $$INC_DIR } diff --git a/retroshare.pri b/retroshare.pri index f8d57ca78..9a864a5ea 100644 --- a/retroshare.pri +++ b/retroshare.pri @@ -45,16 +45,11 @@ win32 { isEmpty(INC_DIR) { INC_DIR = "$${PREFIX}/include" } isEmpty(LIB_DIR) { LIB_DIR = "$${PREFIX}/lib" } } - exists(C:/msys32/mingw32/include) { - message(msys2 32b is installed.) - PREFIX_MSYS2 = "C:/msys32/mingw32" - BIN_DIR += "$${PREFIX_MSYS2}/bin" - INC_DIR += "$${PREFIX_MSYS2}/include" - LIB_DIR += "$${PREFIX_MSYS2}/lib" - } - exists(C:/msys64/mingw32/include) { - message(msys2 64b is installed.) - PREFIX_MSYS2 = "C:/msys64/mingw32" + + # Check for msys2 + PREFIX_MSYS2 = $$(MINGW_PREFIX) + !isEmpty(PREFIX_MSYS2) { + message(msys2 is installed.) BIN_DIR += "$${PREFIX_MSYS2}/bin" INC_DIR += "$${PREFIX_MSYS2}/include" LIB_DIR += "$${PREFIX_MSYS2}/lib" From 3640e329742d69c306002859cd3170a1bc3c0b47 Mon Sep 17 00:00:00 2001 From: thunder2 Date: Mon, 15 Aug 2016 11:49:36 +0200 Subject: [PATCH 124/158] Updated build of external libraries for Windows compile --- plugins/VOIP/VOIP.pro | 6 +- win_build_libs/Makefile | 122 ++++++++++++++------------ win_build_libs/build_ext.sh | 169 ------------------------------------ 3 files changed, 69 insertions(+), 228 deletions(-) delete mode 100755 win_build_libs/build_ext.sh diff --git a/plugins/VOIP/VOIP.pro b/plugins/VOIP/VOIP.pro index c89ec4396..72b2d1d5e 100644 --- a/plugins/VOIP/VOIP.pro +++ b/plugins/VOIP/VOIP.pro @@ -35,13 +35,13 @@ win32 { DEPENDPATH += . $$INC_DIR INCLUDEPATH += . $$INC_DIR - OPENCV_VERSION = "249" + OPENCV_VERSION = "2413" USE_PRECOMPILED_LIBS = for(lib, LIB_DIR) { #message(Scanning $$lib) - exists( $$lib/opencv/libopencv_core249.a) { + exists( $$lib/opencv/libopencv_core$${OPENCV_VERSION}.a) { isEmpty(USE_PRECOMPILED_LIBS) { - message(Get pre-compiled opencv 249 libraries here:) + message(Get pre-compiled opencv $$OPENCV_VERSION libraries here:) message($$lib) LIBS += -L"$$lib/opencv" LIBS += -lopencv_core$$OPENCV_VERSION -lopencv_highgui$$OPENCV_VERSION -lopencv_imgproc$$OPENCV_VERSION diff --git a/win_build_libs/Makefile b/win_build_libs/Makefile index 250dca2e2..fc619d7bc 100755 --- a/win_build_libs/Makefile +++ b/win_build_libs/Makefile @@ -1,20 +1,36 @@ +CURL=curl.exe ZLIB_VERSION=1.2.3 BZIP2_VERSION=1.0.6 -MINIUPNPC_VERSION=1.3 -OPENSSL_VERSION=1.0.1h -SPEEX_VERSION=1.2rc1 -OPENCV_VERSION=2.4.9 -LIBXML2_VERSION=2.9.1 +MINIUPNPC_VERSION=2.0 +OPENSSL_VERSION=1.0.2h +SPEEX_VERSION=1.2rc2 +SPEEXDSP_VERSION=1.2rc3 +OPENCV_VERSION=2.4.13 +LIBXML2_VERSION=2.9.3 LIBXSLT_VERSION=1.1.28 -CURL_VERSION=7.34.0 -LIBSSH_VERSION=0.5.4 -PROTOBUF_VERSION=2.4.1 +CURL_VERSION=7.46.0 TCL_VERSION=8.6.2 SQLCIPHER_VERSION=2.2.1 -LIBMICROHTTPD_VERSION=0.9.42 -FFMPEG_VERSION=2.7.2 +LIBMICROHTTPD_VERSION=0.9.46 +FFMPEG_VERSION=3.1.2 -all: dirs zlib bzip2 miniupnpc openssl speex opencv libxml2 libxslt curl sqlcipher libmicrohttpd ffmpeg copylibs +all: dirs zlib bzip2 miniupnpc openssl speex speexdsp opencv libxml2 libxslt curl sqlcipher libmicrohttpd ffmpeg copylibs + +download: \ + zlib-$(ZLIB_VERSION).tar.gz \ + bzip2-$(BZIP2_VERSION).tar.gz \ + miniupnpc-$(MINIUPNPC_VERSION).tar.gz \ + openssl-$(OPENSSL_VERSION).tar.gz \ + speex-$(SPEEX_VERSION).tar.gz \ + speexdsp-$(SPEEXDSP_VERSION).tar.gz \ + opencv-$(OPENCV_VERSION).tar.gz \ + libxml2-$(LIBXML2_VERSION).tar.gz \ + libxslt-$(LIBXSLT_VERSION).tar.gz \ + curl-$(CURL_VERSION).tar.gz \ + tcl$(TCL_VERSION)-src.tar.gz \ + sqlcipher-$(SQLCIPHER_VERSION).tar.gz \ + libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz \ + ffmpeg-$(FFMPEG_VERSION).tar.gz dirs: mkdir -p libs/include @@ -22,7 +38,7 @@ dirs: mkdir -p libs/bin zlib-$(ZLIB_VERSION).tar.gz: - curl.exe -L http://sourceforge.net/projects/libpng/files/zlib/$(ZLIB_VERSION)/zlib-$(ZLIB_VERSION).tar.gz/download -o zlib-$(ZLIB_VERSION).tar.gz + $(CURL) -L -k http://sourceforge.net/projects/libpng/files/zlib/$(ZLIB_VERSION)/zlib-$(ZLIB_VERSION).tar.gz/download -o zlib-$(ZLIB_VERSION).tar.gz zlib: zlib-$(ZLIB_VERSION).tar.gz tar xvf zlib-$(ZLIB_VERSION).tar.gz @@ -36,7 +52,7 @@ zlib: zlib-$(ZLIB_VERSION).tar.gz touch zlib bzip2-$(BZIP2_VERSION).tar.gz: - curl.exe http://bzip.org/$(BZIP2_VERSION)/bzip2-$(BZIP2_VERSION).tar.gz -o bzip2-$(BZIP2_VERSION).tar.gz + $(CURL) http://bzip.org/$(BZIP2_VERSION)/bzip2-$(BZIP2_VERSION).tar.gz -o bzip2-$(BZIP2_VERSION).tar.gz bzip2: bzip2-$(BZIP2_VERSION).tar.gz tar xvf bzip2-$(BZIP2_VERSION).tar.gz @@ -48,34 +64,36 @@ bzip2: bzip2-$(BZIP2_VERSION).tar.gz touch bzip2 miniupnpc-$(MINIUPNPC_VERSION).tar.gz: - curl.exe -L http://miniupnp.free.fr/files/download.php?file=miniupnpc-$(MINIUPNPC_VERSION).tar.gz -o miniupnpc-$(MINIUPNPC_VERSION).tar.gz + $(CURL) -L http://miniupnp.free.fr/files/download.php?file=miniupnpc-$(MINIUPNPC_VERSION).tar.gz -o miniupnpc-$(MINIUPNPC_VERSION).tar.gz miniupnpc: miniupnpc-$(MINIUPNPC_VERSION).tar.gz tar xvf miniupnpc-$(MINIUPNPC_VERSION).tar.gz - cd miniupnpc-$(MINIUPNPC_VERSION) && make -f Makefile.mingw init libminiupnpc.a miniupnpc.dll + cd miniupnpc-$(MINIUPNPC_VERSION) && CC=gcc && export CC && make -f Makefile.mingw init libminiupnpc.a miniupnpc.dll mkdir -p libs/include/miniupnpc && cp miniupnpc-$(MINIUPNPC_VERSION)/*.h libs/include/miniupnpc/ - cp miniupnpc-$(MINIUPNPC_VERSION)/libminiupnpc.a libs/lib/ + cp miniupnpc-$(MINIUPNPC_VERSION)/miniupnpc.lib libs/lib/ cp miniupnpc-$(MINIUPNPC_VERSION)/miniupnpc.dll libs/bin/ rm -r -f miniupnpc-$(MINIUPNPC_VERSION) touch miniupnpc openssl-$(OPENSSL_VERSION).tar.gz: - curl.exe -k https://www.openssl.org/source/openssl-1.0.1h.tar.gz -o openssl-1.0.1h.tar.gz + $(CURL) -k https://www.openssl.org/source/openssl-$(OPENSSL_VERSION).tar.gz -o openssl-$(OPENSSL_VERSION).tar.gz openssl: openssl-$(OPENSSL_VERSION).tar.gz tar xvf openssl-$(OPENSSL_VERSION).tar.gz #cd openssl-$(OPENSSL_VERSION) && ./config --prefix="`pwd`/../libs" #cd openssl-$(OPENSSL_VERSION) && make install - cd openssl-$(OPENSSL_VERSION) && ./config + cd openssl-$(OPENSSL_VERSION) && ./config shared cd openssl-$(OPENSSL_VERSION) && make mkdir -p libs/include/openssl && cp openssl-$(OPENSSL_VERSION)/include/openssl/*.h libs/include/openssl/ - cp openssl-$(OPENSSL_VERSION)/libcrypto.a libs/lib/ - cp openssl-$(OPENSSL_VERSION)/libssl.a libs/lib/ + cp openssl-$(OPENSSL_VERSION)/libeay32.dll libs/bin/ + cp openssl-$(OPENSSL_VERSION)/ssleay32.dll libs/bin/ + cp openssl-$(OPENSSL_VERSION)/libcrypto.dll.a libs/lib/ + cp openssl-$(OPENSSL_VERSION)/libssl.dll.a libs/lib/ rm -r -f openssl-$(OPENSSL_VERSION) touch openssl speex-$(SPEEX_VERSION).tar.gz: - curl.exe http://downloads.xiph.org/releases/speex/speex-$(SPEEX_VERSION).tar.gz -o speex-$(SPEEX_VERSION).tar.gz + $(CURL) http://downloads.xiph.org/releases/speex/speex-$(SPEEX_VERSION).tar.gz -o speex-$(SPEEX_VERSION).tar.gz speex: speex-$(SPEEX_VERSION).tar.gz tar xvf speex-$(SPEEX_VERSION).tar.gz @@ -84,12 +102,23 @@ speex: speex-$(SPEEX_VERSION).tar.gz cd speex-$(SPEEX_VERSION) && make mkdir -p libs/include/speex && cp speex-$(SPEEX_VERSION)/include/speex/*.h libs/include/speex/ cp speex-$(SPEEX_VERSION)/libspeex/.libs/libspeex.a libs/lib - cp speex-$(SPEEX_VERSION)/libspeex/.libs/libspeexdsp.a libs/lib rm -r -f speex-$(SPEEX_VERSION) touch speex +speexdsp-$(SPEEXDSP_VERSION).tar.gz: + $(CURL) http://downloads.xiph.org/releases/speex/speexdsp-$(SPEEXDSP_VERSION).tar.gz -o speexdsp-$(SPEEXDSP_VERSION).tar.gz + +speexdsp: speexdsp-$(SPEEXDSP_VERSION).tar.gz + tar xvf speexdsp-$(SPEEXDSP_VERSION).tar.gz + cd speexdsp-$(SPEEXDSP_VERSION) && ./configure + cd speexdsp-$(SPEEXDSP_VERSION) && make + mkdir -p libs/include/speex && cp speexdsp-$(SPEEXDSP_VERSION)/include/speex/*.h libs/include/speex/ + cp speexdsp-$(SPEEXDSP_VERSION)/libspeexdsp/.libs/libspeexdsp.a libs/lib + rm -r -f speexdsp-$(SPEEXDSP_VERSION) + touch speexdsp + opencv-$(OPENCV_VERSION).tar.gz: - curl.exe -L -k https://github.com/Itseez/opencv/archive/$(OPENCV_VERSION).tar.gz -o opencv-$(OPENCV_VERSION).tar.gz + $(CURL) -L -k https://github.com/Itseez/opencv/archive/$(OPENCV_VERSION).tar.gz -o opencv-$(OPENCV_VERSION).tar.gz opencv: opencv-$(OPENCV_VERSION).tar.gz tar xvf opencv-$(OPENCV_VERSION).tar.gz @@ -98,18 +127,12 @@ opencv: opencv-$(OPENCV_VERSION).tar.gz cd opencv-$(OPENCV_VERSION)/build && cmake .. -G"MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX="`pwd`/install" cd opencv-$(OPENCV_VERSION)/build && make install cp -r opencv-$(OPENCV_VERSION)/build/install/include/* libs/include/ - mkdir -p libs/lib/opencv - if [ -d "opencv-$(OPENCV_VERSION)/build/install/x86" ]; then \ - cp -r opencv-$(OPENCV_VERSION)/build/install/x86/mingw/staticlib/* libs/lib/opencv/ ; \ - fi - if [ -d "opencv-$(OPENCV_VERSION)/build/install/x64" ]; then \ - cp -r opencv-$(OPENCV_VERSION)/build/install/x64/mingw/staticlib/* libs/lib/opencv/ ; \ - fi + mkdir -p libs/lib/opencv && cp -r opencv-$(OPENCV_VERSION)/build/install/x86/mingw/staticlib/* libs/lib/opencv/ rm -r -f opencv-$(OPENCV_VERSION) touch opencv libxml2-$(LIBXML2_VERSION).tar.gz: - curl.exe ftp://xmlsoft.org/libxml2/libxml2-$(LIBXML2_VERSION).tar.gz -o libxml2-$(LIBXML2_VERSION).tar.gz + $(CURL) ftp://xmlsoft.org/libxml2/libxml2-$(LIBXML2_VERSION).tar.gz -o libxml2-$(LIBXML2_VERSION).tar.gz libxml2: libxml2-$(LIBXML2_VERSION).tar.gz tar xvf libxml2-$(LIBXML2_VERSION).tar.gz @@ -121,7 +144,7 @@ libxml2: libxml2-$(LIBXML2_VERSION).tar.gz touch libxml2 libxslt-$(LIBXSLT_VERSION).tar.gz: - curl.exe ftp://xmlsoft.org/libxml2/libxslt-$(LIBXSLT_VERSION).tar.gz -o libxslt-$(LIBXSLT_VERSION).tar.gz + $(CURL) ftp://xmlsoft.org/libxml2/libxslt-$(LIBXSLT_VERSION).tar.gz -o libxslt-$(LIBXSLT_VERSION).tar.gz libxslt: libxml2-$(LIBXML2_VERSION).tar.gz libxslt-$(LIBXSLT_VERSION).tar.gz tar xvf libxml2-$(LIBXML2_VERSION).tar.gz @@ -137,11 +160,11 @@ libxslt: libxml2-$(LIBXML2_VERSION).tar.gz libxslt-$(LIBXSLT_VERSION).tar.gz touch libxslt curl-$(CURL_VERSION).tar.gz: - curl.exe http://curl.haxx.se/download/curl-$(CURL_VERSION).tar.gz -o curl-$(CURL_VERSION).tar.gz + $(CURL) -L -k http://curl.haxx.se/download/curl-$(CURL_VERSION).tar.gz -o curl-$(CURL_VERSION).tar.gz curl: curl-$(CURL_VERSION).tar.gz tar xvf curl-$(CURL_VERSION).tar.gz - cd curl-$(CURL_VERSION) && LIBS="-L`pwd`/../libs/lib $$LIBS" && export LIBS && ./configure --disable-shared --with-ssl="`pwd`/../libs" + cd curl-$(CURL_VERSION) && ./configure --disable-shared --with-ssl="`pwd`/../libs" #cd curl-$(CURL_VERSION) && make install exec_prefix="`pwd`/../libs" cd curl-$(CURL_VERSION) && make mkdir -p libs/include/curl && cp curl-$(CURL_VERSION)/include/curl/*.h libs/include/curl/ @@ -150,10 +173,10 @@ curl: curl-$(CURL_VERSION).tar.gz touch curl tcl$(TCL_VERSION)-src.tar.gz: - curl.exe -L http://prdownloads.sourceforge.net/tcl/tcl$(TCL_VERSION)-src.tar.gz -o tcl$(TCL_VERSION)-src.tar.gz + $(CURL) -L http://prdownloads.sourceforge.net/tcl/tcl$(TCL_VERSION)-src.tar.gz -o tcl$(TCL_VERSION)-src.tar.gz sqlcipher-$(SQLCIPHER_VERSION).tar.gz: - curl.exe -L -k https://github.com/sqlcipher/sqlcipher/archive/v$(SQLCIPHER_VERSION).tar.gz -o sqlcipher-$(SQLCIPHER_VERSION).tar.gz + $(CURL) -L -k https://github.com/sqlcipher/sqlcipher/archive/v$(SQLCIPHER_VERSION).tar.gz -o sqlcipher-$(SQLCIPHER_VERSION).tar.gz sqlcipher: tcl$(TCL_VERSION)-src.tar.gz sqlcipher-$(SQLCIPHER_VERSION).tar.gz # tcl @@ -166,7 +189,7 @@ sqlcipher: tcl$(TCL_VERSION)-src.tar.gz sqlcipher-$(SQLCIPHER_VERSION).tar.gz cd sqlcipher-$(SQLCIPHER_VERSION) && ln -s ../tcl$(TCL_VERSION)/build/tclsh86.exe tclsh mkdir -p tcl$(TCL_VERSION)/lib ln -s `pwd`/tcl$(TCL_VERSION)/library `pwd`/tcl$(TCL_VERSION)/lib/tcl8.6 - cd sqlcipher-$(SQLCIPHER_VERSION) && PATH=$$PATH:`pwd`/../tcl$(TCL_VERSION)/build && LIBS="-L`pwd`/../libs/lib -lgdi32 $$LIBS" && export LIBS && ./configure --disable-shared --enable-static --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC -I`pwd`/../libs/include -I`pwd`/../tcl$(TCL_VERSION)/generic" LDFLAGS="-L`pwd`/../libs/lib -lcrypto -lgdi32" --with-tcl="`pwd`/../tcl$(TCL_VERSION)/build" && make install prefix="`pwd`/install" + cd sqlcipher-$(SQLCIPHER_VERSION) && PATH=.:$$PATH:`pwd`/../tcl$(TCL_VERSION)/build && LIBS="-L`pwd`/../libs/lib -lgdi32 $$LIBS" && export LIBS && ./configure --disable-shared --enable-static --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC -I`pwd`/../libs/include -I`pwd`/../tcl$(TCL_VERSION)/generic" LDFLAGS="-L`pwd`/../libs/lib -lcrypto -lgdi32" --with-tcl="`pwd`/../tcl$(TCL_VERSION)/build" && make install prefix="`pwd`/install" cp -r sqlcipher-$(SQLCIPHER_VERSION)/install/include/* libs/include/ cp sqlcipher-$(SQLCIPHER_VERSION)/install/lib/libsqlcipher.a libs/lib/ cp sqlcipher-$(SQLCIPHER_VERSION)/install/bin/sqlcipher.exe libs/bin/ @@ -175,35 +198,22 @@ sqlcipher: tcl$(TCL_VERSION)-src.tar.gz sqlcipher-$(SQLCIPHER_VERSION).tar.gz touch sqlcipher libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz: - curl.exe -L -k http://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz -o libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz + $(CURL) -L -k http://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz -o libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz libmicrohttpd: libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz tar xvf libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz - cd libmicrohttpd-$(LIBMICROHTTPD_VERSION) && ./configure - #cd libmicrohttpd-$(LIBMICROHTTPD_VERSION) && make install exec_prefix="`pwd`/../libs" - cd libmicrohttpd-$(LIBMICROHTTPD_VERSION) && make - cp libmicrohttpd-$(LIBMICROHTTPD_VERSION)/src/include/*.h libs/include/ - cp libmicrohttpd-$(LIBMICROHTTPD_VERSION)/src/microhttpd/.libs/*.a libs/lib/ - cp libmicrohttpd-$(LIBMICROHTTPD_VERSION)/src/microhttpd/.libs/*.dll libs/bin/ + cd libmicrohttpd-$(LIBMICROHTTPD_VERSION) && ./configure --disable-shared --enable-static --prefix="`pwd`/../libs" + cd libmicrohttpd-$(LIBMICROHTTPD_VERSION) && make install rm -r -f libmicrohttpd-$(LIBMICROHTTPD_VERSION) touch libmicrohttpd ffmpeg-$(FFMPEG_VERSION).tar.gz: - curl.exe -L -k http://ffmpeg.org/releases/ffmpeg-$(FFMPEG_VERSION).tar.gz -o ffmpeg-$(FFMPEG_VERSION).tar.gz + $(CURL) -L -k https://ffmpeg.org/releases/ffmpeg-$(FFMPEG_VERSION).tar.gz -o ffmpeg-$(FFMPEG_VERSION).tar.gz ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz tar xvf ffmpeg-$(FFMPEG_VERSION).tar.gz - cd ffmpeg-$(FFMPEG_VERSION) && ./configure --enable-shared --disable-yasm - cd ffmpeg-$(FFMPEG_VERSION) && make - mkdir -p libs/include/libavcodec && cp -r ffmpeg-$(FFMPEG_VERSION)/libavcodec/*.h libs/include/libavcodec/ - cp -r ffmpeg-$(FFMPEG_VERSION)/libavcodec/*.a libs/lib/ - cp -r ffmpeg-$(FFMPEG_VERSION)/libavcodec/*.dll libs/bin/ - mkdir -p libs/include/libavutil && cp -r ffmpeg-$(FFMPEG_VERSION)/libavutil/*.h libs/include/libavutil/ - cp -r ffmpeg-$(FFMPEG_VERSION)/libavutil/*.a libs/lib/ - cp -r ffmpeg-$(FFMPEG_VERSION)/libavutil/*.dll libs/bin/ - mkdir -p libs/include/libswresample && cp -r ffmpeg-$(FFMPEG_VERSION)/libswresample/*.h libs/include/libswresample/ - cp -r ffmpeg-$(FFMPEG_VERSION)/libswresample/*.a libs/lib/ - cp -r ffmpeg-$(FFMPEG_VERSION)/libswresample/*.dll libs/bin/ + cd ffmpeg-$(FFMPEG_VERSION) && ./configure --disable-shared --enable-static --disable-programs --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-yasm --disable-everything --enable-encoder=mpeg4 --enable-decoder=mpeg4 --prefix="`pwd`/../libs" + cd ffmpeg-$(FFMPEG_VERSION) && make install rm -r -f ffmpeg-$(FFMPEG_VERSION) touch ffmpeg diff --git a/win_build_libs/build_ext.sh b/win_build_libs/build_ext.sh deleted file mode 100755 index 6c3721cdd..000000000 --- a/win_build_libs/build_ext.sh +++ /dev/null @@ -1,169 +0,0 @@ -cd Build - -mkdir -p libs/include -mkdir -p libs/lib -mkdir -p libs/bin - -[ -s zlib-1.2.3.tar.gz ] || curl -L http://sourceforge.net/projects/libpng/files/zlib/1.2.3/zlib-1.2.3.tar.gz/download -o zlib-1.2.3.tar.gz -if [ -s zlib-1.2.3.tar.gz ]; then - tar xvf zlib-1.2.3.tar.gz - cd zlib-1.2.3 - ./configure - #make install prefix="`pwd`/../libs" - make - cp zlib.h ../libs/include/ - cp zconf.h ../libs/include/ - cp libz.a ../libs/lib/ - cd .. - rm -r -f zlib-1.2.3 -fi - -[ -s bzip2-1.0.6.tar.gz ] || curl http://bzip.org/1.0.6/bzip2-1.0.6.tar.gz -o bzip2-1.0.6.tar.gz -if [ -s bzip2-1.0.6.tar.gz ]; then - tar xvf bzip2-1.0.6.tar.gz - cd bzip2-1.0.6 - #make install PREFIX="`pwd`/../libs" - make - cp bzlib.h ../libs/include/ - cp libbz2.a ../libs/lib/ - cd .. - rm -r -f bzip2-1.0.6 -fi - -[ -s miniupnpc-1.3.tar.gz ] || curl -L http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.3.tar.gz -o miniupnpc-1.3.tar.gz -if [ -s miniupnpc-1.3.tar.gz ]; then - tar xvf miniupnpc-1.3.tar.gz - cd miniupnpc-1.3 - make -f Makefile.mingw init libminiupnpc.a miniupnpc.dll - mkdir -p ../libs/include/miniupnpc && cp *.h ../libs/include/miniupnpc/ - cp libminiupnpc.a ../libs/lib/ - cp miniupnpc.dll ../libs/bin/ - cd .. - rm -r -f miniupnpc-1.3 -fi - -[ -s openssl-1.0.1h.tar.gz ] || curl -k https://www.openssl.org/source/openssl-1.0.1h.tar.gz -o openssl-1.0.1h.tar.gz -if [ -s openssl-1.0.1h.tar.gz ]; then - tar xvf openssl-1.0.1h.tar.gz - cd openssl-1.0.1h - #./config --prefix="`pwd`/../libs" - #make install - ./config - make - mkdir -p ../libs/include/openssl && cp include/openssl/*.h ../libs/include/openssl/ - cp libcrypto.a ../libs/lib/ - cp libssl.a ../libs/lib/ - cd .. - rm -r -f openssl-1.0.1h -fi - -[ -s speex-1.2rc1.tar.gz ] || curl http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz -o speex-1.2rc1.tar.gz -if [ -s speex-1.2rc1.tar.gz ]; then - tar xvf speex-1.2rc1.tar.gz - cd speex-1.2rc1 - ./configure - #make install exec_prefix="`pwd`/../libs" - make - mkdir -p ../libs/include/speex && cp include/speex/*.h ../libs/include/speex/ - cp libspeex/.libs/libspeex.a ../libs/lib - cp libspeex/.libs/libspeexdsp.a ../libs/lib - cd .. - rm -r -f speex-1.2rc1 -fi - -[ -s opencv-2.4.9.tar.gz ] || curl -L -k https://github.com/Itseez/opencv/archive/2.4.9.tar.gz -o opencv-2.4.9.tar.gz -if [ -s opencv-2.4.9.tar.gz ]; then - tar xvf opencv-2.4.9.tar.gz - cd opencv-2.4.9 - mkdir -p build - cd build - #cmake .. -G"MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX="`pwd`/../../libs" - cmake .. -G"MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX="`pwd`/install" - make install - cp -r install/include/* ../../libs/include/ - mkdir -p ../../libs/lib/opencv && cp -r install/x64/mingw/staticlib/* ../../libs/lib/opencv/ - cd ../.. - rm -r -f opencv-2.4.9 -fi - -[ -s libxml2-2.9.1.tar.gz ] || curl ftp://xmlsoft.org/libxml2/libxml2-2.9.1.tar.gz -o libxml2-2.9.1.tar.gz -[ -s libxslt-1.1.28.tar.gz ] || curl ftp://xmlsoft.org/libxml2/libxslt-1.1.28.tar.gz -o libxslt-1.1.28.tar.gz -if [ -s libxml2-2.9.1.tar.gz -a -s libxslt-1.1.28.tar.gz ]; then - tar xvf libxml2-2.9.1.tar.gz - cd libxml2-2.9.1 - ./configure --without-iconv -enable-shared=no - #make install exec_prefix="`pwd`/../libs" - make - mkdir -p ../libs/include/libxml && cp include/libxml/*.h ../libs/include/libxml/ - cp .libs/libxml2.a ../libs/lib/ - cd .. - - tar xvf libxslt-1.1.28.tar.gz - tar xvf libxslt-1.1.28-fix.tar.gz - cd libxslt-1.1.28 - ./configure --with-libxml-src=../libxml2-2.9.1 -enable-shared=no CFLAGS=-DLIBXML_STATIC - make - mkdir -p ../libs/include/libxslt && cp libxslt/*.h ../libs/include/libxslt/ - cp libxslt/.libs/libxslt.a ../libs/lib/ - cp libexslt/.libs/libexslt.a ../libs/lib/ - cd .. - rm -r -f libxml2-2.9.1 - rm -r -f libxslt-1.1.28 -fi - -[ -s curl-7.34.0.tar.gz ] || curl http://curl.haxx.se/download/curl-7.34.0.tar.gz -o curl-7.34.0.tar.gz -if [ -s curl-7.34.0.tar.gz ]; then - tar xvf curl-7.34.0.tar.gz - cd curl-7.34.0 - LIBS_OLD=$LIBS - LIBS="-L`pwd`/../libs/lib $LIBS" - export LIBS - ./configure --disable-shared --with-ssl="`pwd`/../libs" - #make install exec_prefix="`pwd`/../libs" - make - LIBS=$LIBS_OLD - LIBS_OLD= - export LIBS - mkdir -p ../libs/include/curl && cp include/curl/*.h ../libs/include/curl/ - cp lib/.libs/libcurl.a ../libs/lib/ - cd .. - rm -r -f curl-7.34.0 -fi - -[ -s tcl8.6.2-src.tar.gz ] || curl -L http://prdownloads.sourceforge.net/tcl/tcl8.6.2-src.tar.gz -o tcl8.6.2-src.tar.gz -[ -s sqlcipher-2.2.1.tar.gz ] || curl -L -k https://github.com/sqlcipher/sqlcipher/archive/v2.2.1.tar.gz -o sqlcipher-2.2.1.tar.gz -if [ -s tcl8.6.2-src.tar.gz -a -s sqlcipher-2.2.1.tar.gz ]; then - tar xvf tcl8.6.2-src.tar.gz - cd tcl8.6.2 - mkdir -p build - cd build - ../win/configure - make - #make clean - cd ../.. - - tar xvf sqlcipher-2.2.1.tar.gz - cd sqlcipher-2.2.1 - ln -s ../tcl8.6.2/build/tclsh86.exe tclsh - mkdir -p `pwd`/../tcl8.6.2/lib - ln -s `pwd`/../tcl8.6.2/library `pwd`/../tcl8.6.2/lib/tcl8.6 - PATH=$PATH:`pwd`/../tcl8.6.2/build - LIBS_OLD=$LIBS - LIBS="-L`pwd`/../libs/lib -lgdi32 $LIBS" - export LIBS - ./configure --disable-shared --enable-static --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC -I`pwd`/../libs/include -I`pwd`/../tcl8.6.2/generic" LDFLAGS="-L`pwd`/../libs/lib -lcrypto -lgdi32" --with-tcl="`pwd`/../tcl8.6.2/build" - make install prefix="`pwd`/install" - LIBS=$LIBS_OLD - LIBS_OLD= - export LIBS - cp -r install/include/* ../libs/include/ - cp install/lib/libsqlcipher.a ../libs/lib/ - cp install/bin/sqlcipher.exe ../libs/bin/ - rm -r -f `pwd`/../tcl8.6.2/lib - rm tclsh - cd .. - rm -r -f sqlcipher-2.2.1 - rm -r -f tcl8.6.2 -fi - -cd .. From 3200ea57b2fa765cb982d36353e69f47c9b7109a Mon Sep 17 00:00:00 2001 From: Phenom Date: Mon, 15 Aug 2016 16:16:46 +0200 Subject: [PATCH 125/158] Fix MSys2 Windows Compilation after #f1847a9 commit. As used by AppVeyor. --- retroshare.pri | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/retroshare.pri b/retroshare.pri index 9a864a5ea..b09e3ebe8 100644 --- a/retroshare.pri +++ b/retroshare.pri @@ -47,7 +47,19 @@ win32 { } # Check for msys2 - PREFIX_MSYS2 = $$(MINGW_PREFIX) + isEmpty(MINGW_PREFIX) { + exists(C:/msys32/mingw32/include) { + message(MINGW_PREFIX is empty. Set it in your environment variables.) + message(Found it here:C:\msys32\mingw32) + MINGW_PREFIX = "C:\msys32\mingw32" + } + exists(C:/msys64/mingw32/include) { + message(MINGW_PREFIX is empty. Set it in your environment variables.) + message(Found it here:C:\msys64\mingw32) + MINGW_PREFIX = "C:\msys64\mingw32" + } + } + PREFIX_MSYS2 = $${MINGW_PREFIX} !isEmpty(PREFIX_MSYS2) { message(msys2 is installed.) BIN_DIR += "$${PREFIX_MSYS2}/bin" From df44f50f863d07c6f7d968c02a73229550d3e6e2 Mon Sep 17 00:00:00 2001 From: Phenom Date: Mon, 15 Aug 2016 19:53:43 +0200 Subject: [PATCH 126/158] Add Banned Filter in IdDialog. --- retroshare-gui/src/gui/Identity/IdDialog.cpp | 31 +++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/retroshare-gui/src/gui/Identity/IdDialog.cpp b/retroshare-gui/src/gui/Identity/IdDialog.cpp index bfcb3a54a..fbc332022 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDialog.cpp @@ -92,6 +92,7 @@ #define RSID_FILTER_OTHERS 0x0004 #define RSID_FILTER_PSEUDONYMS 0x0008 #define RSID_FILTER_YOURSELF 0x0010 +#define RSID_FILTER_BANNED 0x0020 #define RSID_FILTER_ALL 0xffff #define IMAGE_EDIT ":/images/edit_16.png" @@ -272,6 +273,13 @@ IdDialog::IdDialog(QWidget *parent) : connect(idTWHAction, SIGNAL(toggled(bool)), this, SLOT(filterToggled(bool))); idTWHMenu->addAction(idTWHAction); + idTWHAction = new QAction(QIcon(),tr("Banned"), this); + idTWHAction->setActionGroup(idTWHActionGroup); + idTWHAction->setCheckable(true); + idTWHAction->setData(RSID_FILTER_BANNED); + connect(idTWHAction, SIGNAL(toggled(bool)), this, SLOT(filterToggled(bool))); + idTWHMenu->addAction(idTWHAction); + /* Add filter actions */ QTreeWidgetItem *headerItem = ui->idTreeWidget->headerItem(); QString headerText = headerItem->text(RSID_COL_NICKNAME); @@ -1372,9 +1380,12 @@ void IdDialog::requestIdList() bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item, const RsPgpId &ownPgpId, int accept) { - bool isLinkedToOwnNode = (data.mPgpKnown && (data.mPgpId == ownPgpId)) ; - bool isOwnId = (data.mMeta.mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_ADMIN); - uint32_t item_flags = 0 ; + bool isLinkedToOwnNode = (data.mPgpKnown && (data.mPgpId == ownPgpId)) ; + bool isOwnId = (data.mMeta.mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_ADMIN); + RsIdentityDetails idd ; + rsIdentity->getIdDetails(RsGxsId(data.mMeta.mGroupId),idd) ; + bool isBanned = idd.mReputation.mAssessment == RsReputations::ASSESSMENT_BAD; + uint32_t item_flags = 0 ; /* do filtering */ bool ok = false; @@ -1410,33 +1421,39 @@ bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item, item_flags |= RSID_FILTER_OWNED_BY_YOU ; } + if (isBanned && (accept & RSID_FILTER_BANNED)) + { + ok = true; + item_flags |= RSID_FILTER_BANNED ; + } + if (!ok) return false; if (!item) item = new TreeWidgetItem(); - RsIdentityDetails idd ; - rsIdentity->getIdDetails(RsGxsId(data.mMeta.mGroupId),idd) ; item->setText(RSID_COL_NICKNAME, QString::fromUtf8(data.mMeta.mGroupName.c_str()).left(RSID_MAXIMUM_NICKNAME_SIZE)); item->setText(RSID_COL_KEYID, QString::fromStdString(data.mMeta.mGroupId.toStdString())); - if(idd.mReputation.mAssessment == RsReputations::ASSESSMENT_BAD) + if(isBanned) { item->setForeground(RSID_COL_NICKNAME,QBrush(Qt::red)); item->setForeground(RSID_COL_KEYID,QBrush(Qt::red)); item->setForeground(RSID_COL_IDTYPE,QBrush(Qt::red)); + item->setForeground(RSID_COL_VOTES,QBrush(Qt::red)); } else { item->setForeground(RSID_COL_NICKNAME,QBrush(Qt::black)); item->setForeground(RSID_COL_KEYID,QBrush(Qt::black)); item->setForeground(RSID_COL_IDTYPE,QBrush(Qt::black)); + item->setForeground(RSID_COL_VOTES,QBrush(Qt::black)); } item->setData(RSID_COL_KEYID, Qt::UserRole,QVariant(item_flags)) ; - item->setTextAlignment(RSID_COL_VOTES, Qt::AlignRight); + item->setTextAlignment(RSID_COL_VOTES, Qt::AlignRight | Qt::AlignVCenter); item->setData(RSID_COL_VOTES,Qt::DisplayRole, QString::number(idd.mReputation.mOverallReputationScore - 1.0f,'f',3)); if(isOwnId) From 38a9e1009639ca2df4d5fcb145c41a3dc6e7a400 Mon Sep 17 00:00:00 2001 From: Phenom Date: Mon, 15 Aug 2016 14:19:29 +0200 Subject: [PATCH 127/158] Fix RsCertificate::toStdString by fixing PGPKeyParser::read_125Size. And added some comments, plus values in hexadecimal for better view. --- libretroshare/src/pgp/pgpkeyutil.cc | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/libretroshare/src/pgp/pgpkeyutil.cc b/libretroshare/src/pgp/pgpkeyutil.cc index e4a3c5b07..aedee9131 100644 --- a/libretroshare/src/pgp/pgpkeyutil.cc +++ b/libretroshare/src/pgp/pgpkeyutil.cc @@ -248,25 +248,25 @@ uint64_t PGPKeyParser::read_KeyID(unsigned char *& data) uint32_t PGPKeyParser::write_125Size(unsigned char *data,uint32_t size) { - if(size < 192) + if(size < 0xC0)//192 To know if size is coded with One Char < 0xC0 { data[0] = size ; return 1; } - if(size < 8384) + if(size < 0x20C0)//8384 To know if size is coded with Two Chars < 0xE0 { - data[0] = (size >> 8) + 192 ; - data[1] = (size & 255) - 192 ; + data[0] = (size >> 8) + 0xC0 ; + data[1] = (size & 0xFF) - 0xC0 ;//Warning data[1] could be "negative", recode it using 8bits type - return 2 ; + return 2 ; } - data[0] = 0xff ; - data[1] = (size >> 24) & 255 ; - data[2] = (size >> 16) & 255 ; - data[3] = (size >> 8) & 255 ; - data[4] = (size ) & 255 ; + data[0] = 0xFF ; //Else size is coded with 4 Chars + 1 at 0xFF + data[1] = (size >> 24) & 0xFF ; + data[2] = (size >> 16) & 0xFF ; + data[3] = (size >> 8) & 0xFF ; + data[4] = (size ) & 0xFF ; return 5 ; } @@ -276,16 +276,16 @@ uint32_t PGPKeyParser::read_125Size(unsigned char *& data) uint8_t b1 = *data ; ++data ; - if(b1 < 192) + if(b1 < 0xC0)//192 Size is coded with One Char return b1 ; uint8_t b2 = *data ; ++data ; - if(b1 < 224) - return ((b1-192) << 8) + b2 + 192 ; + if(b1 < 0xE0)//224 = 0xC0+0x20 Size is coded with Two Chars + return ((b1-0xC0) << 8) + uint8_t(b2 + 0xC0) ; //Use uint8_t because b2 could be "negative" as 0xC0 was added to it. - if(b1 != 0xff) + if(b1 != 0xFF)// Else Coded with 4 Chars but first == 0xFF throw std::runtime_error("GPG parsing error") ; uint8_t b3 = *data ; ++data ; From dd2e4c32d55b604879b00f006494bfe0d9dd010f Mon Sep 17 00:00:00 2001 From: Phenom Date: Mon, 15 Aug 2016 12:11:56 +0200 Subject: [PATCH 128/158] Change Image Blocked Icon On RSTextBrowser --- retroshare-gui/src/gui/common/RSTextBrowser.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/retroshare-gui/src/gui/common/RSTextBrowser.cpp b/retroshare-gui/src/gui/common/RSTextBrowser.cpp index edeaa473e..062adadb1 100644 --- a/retroshare-gui/src/gui/common/RSTextBrowser.cpp +++ b/retroshare-gui/src/gui/common/RSTextBrowser.cpp @@ -102,12 +102,7 @@ QVariant RSTextBrowser::loadResource(int type, const QUrl &name) if (mImageBlockWidget) mImageBlockWidget->show(); - //https://git.merproject.org/lbt/qtbase/commit/6d13e9f29597e0d557857e3f80173faba5368424 -#if QT_VERSION >= QT_VERSION_CHECK (5, 0, 0) - return QPixmap(":/qt-project.org/styles/commonstyle/images/file-16.png"); -#else - return QPixmap(":/trolltech/styles/commonstyle/images/file-16.png"); -#endif + return QPixmap(":/images/imageblocked_24.png"); } void RSTextBrowser::setImageBlockWidget(RSImageBlockWidget *widget) From accd3ca734ab1dbfd5944b86c1f80790a5be5983 Mon Sep 17 00:00:00 2001 From: Phenom Date: Mon, 15 Aug 2016 19:05:00 +0200 Subject: [PATCH 129/158] Fix RsTextBrowser::loadRessource on Windows. When current style use images (like bubble). --- retroshare-gui/src/gui/common/RSTextBrowser.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/retroshare-gui/src/gui/common/RSTextBrowser.cpp b/retroshare-gui/src/gui/common/RSTextBrowser.cpp index edeaa473e..3b9ef9ded 100644 --- a/retroshare-gui/src/gui/common/RSTextBrowser.cpp +++ b/retroshare-gui/src/gui/common/RSTextBrowser.cpp @@ -1,5 +1,6 @@ #include +#include #include #include @@ -84,8 +85,8 @@ QVariant RSTextBrowser::loadResource(int type, const QUrl &name) // case 2: always trust the image if it comes from local Config or Data directories. if(name.scheme().compare("file",Qt::CaseInsensitive)==0 && type == QTextDocument::ImageResource) { - if (name.path().startsWith(QString::fromUtf8(RsAccounts::ConfigDirectory().c_str()).prepend("/"),Qt::CaseInsensitive) - || name.path().startsWith(QString::fromUtf8(RsAccounts::DataDirectory().c_str()).prepend("/"),Qt::CaseInsensitive)) + if (name.path().startsWith(QDir(QString::fromUtf8(RsAccounts::ConfigDirectory().c_str())).absolutePath().prepend("/"),Qt::CaseInsensitive) + || name.path().startsWith(QDir(QString::fromUtf8(RsAccounts::DataDirectory().c_str())).absolutePath().prepend("/"),Qt::CaseInsensitive)) return QTextBrowser::loadResource(type, name); } From 81cd2e9158029207453ae63dc13619392476c0dc Mon Sep 17 00:00:00 2001 From: thunder2 Date: Tue, 16 Aug 2016 09:09:19 +0200 Subject: [PATCH 130/158] Fixed MSYS2 compile (use correct bracket in pro file) --- retroshare.pri | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare.pri b/retroshare.pri index b09e3ebe8..95c784512 100644 --- a/retroshare.pri +++ b/retroshare.pri @@ -59,7 +59,7 @@ win32 { MINGW_PREFIX = "C:\msys64\mingw32" } } - PREFIX_MSYS2 = $${MINGW_PREFIX} + PREFIX_MSYS2 = $$(MINGW_PREFIX) !isEmpty(PREFIX_MSYS2) { message(msys2 is installed.) BIN_DIR += "$${PREFIX_MSYS2}/bin" From 6682a7a491214b6ab26c7f6f53f963a290f5fdcb Mon Sep 17 00:00:00 2001 From: defnax Date: Tue, 16 Aug 2016 22:02:30 +0200 Subject: [PATCH 131/158] added new mainwindow icons for RetroShare. --- retroshare-gui/src/gui/ChatLobbyWidget.h | 2 +- retroshare-gui/src/gui/ChatLobbyWidget.ui | 11 +- .../gui/FileTransfer/TransferUserNotify.cpp | 4 +- .../src/gui/FileTransfer/TransfersDialog.ui | 48 +++- retroshare-gui/src/gui/FriendsDialog.h | 2 +- retroshare-gui/src/gui/FriendsDialog.ui | 34 ++- retroshare-gui/src/gui/Identity/IdDialog.cpp | 2 +- retroshare-gui/src/gui/Identity/IdDialog.h | 2 +- retroshare-gui/src/gui/Identity/IdDialog.ui | 2 +- retroshare-gui/src/gui/MainWindow.cpp | 26 +- retroshare-gui/src/gui/MessagesDialog.h | 2 +- retroshare-gui/src/gui/MessagesDialog.ui | 51 +++- retroshare-gui/src/gui/NewsFeed.ui | 28 +- .../src/gui/Posted/PostedDialog.cpp | 2 +- retroshare-gui/src/gui/Posted/PostedDialog.h | 2 +- .../src/gui/Posted/PostedUserNotify.cpp | 4 +- .../src/gui/chat/ChatLobbyUserNotify.cpp | 4 +- .../src/gui/chat/ChatUserNotify.cpp | 2 +- .../src/gui/feeds/NewsFeedUserNotify.cpp | 2 +- .../src/gui/gxschannels/GxsChannelDialog.cpp | 2 +- .../src/gui/gxschannels/GxsChannelDialog.h | 2 +- .../gui/gxschannels/GxsChannelUserNotify.cpp | 4 +- .../src/gui/gxsforums/GxsForumUserNotify.cpp | 4 +- .../src/gui/gxsforums/GxsForumsDialog.cpp | 2 +- .../src/gui/gxsforums/GxsForumsDialog.h | 2 +- retroshare-gui/src/gui/help/licence.html | 8 + retroshare-gui/src/gui/icons.qrc | 45 +++- .../src/gui/icons/png/channels-notify.png | Bin 0 -> 3619 bytes retroshare-gui/src/gui/icons/png/channels.png | Bin 0 -> 3614 bytes .../src/gui/icons/png/chat-lobbies-notify.png | Bin 0 -> 5855 bytes .../src/gui/icons/png/chat-lobbies.png | Bin 0 -> 6102 bytes retroshare-gui/src/gui/icons/png/exit.png | Bin 0 -> 5434 bytes .../src/gui/icons/png/feedreader-notify.png | Bin 0 -> 5461 bytes .../src/gui/icons/png/feedreader.png | Bin 0 -> 5669 bytes .../src/gui/icons/png/filesharing-notify.png | Bin 0 -> 4429 bytes .../src/gui/icons/png/filesharing.png | Bin 0 -> 4483 bytes .../src/gui/icons/png/forums-notify.png | Bin 0 -> 4332 bytes retroshare-gui/src/gui/icons/png/forums.png | Bin 0 -> 4427 bytes retroshare-gui/src/gui/icons/png/info.png | Bin 0 -> 3038 bytes .../src/gui/icons/png/messages-notify.png | Bin 0 -> 4791 bytes retroshare-gui/src/gui/icons/png/messages.png | Bin 0 -> 4930 bytes .../src/gui/icons/png/network-notify.png | Bin 0 -> 5673 bytes retroshare-gui/src/gui/icons/png/network.png | Bin 0 -> 5990 bytes .../src/gui/icons/png/newsfeed-notify.png | Bin 0 -> 3645 bytes retroshare-gui/src/gui/icons/png/newsfeed.png | Bin 0 -> 3658 bytes retroshare-gui/src/gui/icons/png/options.png | Bin 0 -> 5773 bytes .../src/gui/icons/png/people-notify.png | Bin 0 -> 5401 bytes retroshare-gui/src/gui/icons/png/people.png | Bin 0 -> 5574 bytes .../src/gui/icons/png/posted-notify.png | Bin 0 -> 8953 bytes retroshare-gui/src/gui/icons/png/posted.png | Bin 0 -> 9302 bytes .../src/gui/icons/svg/channels-notify.svg | 87 +++++++ retroshare-gui/src/gui/icons/svg/channels.svg | 87 +++++++ .../src/gui/icons/svg/chat-lobbies-notify.svg | 63 +++++ .../src/gui/icons/svg/chat-lobbies.svg | 63 +++++ retroshare-gui/src/gui/icons/svg/exit-red.svg | 65 +++++ retroshare-gui/src/gui/icons/svg/exit.svg | 65 +++++ .../src/gui/icons/svg/feedreader-notify.svg | 64 +++++ .../src/gui/icons/svg/feedreader.svg | 64 +++++ .../src/gui/icons/svg/filesharing-notify.svg | 91 +++++++ .../src/gui/icons/svg/filesharing.svg | 89 +++++++ .../src/gui/icons/svg/forums-notify.svg | 60 +++++ retroshare-gui/src/gui/icons/svg/forums.svg | 60 +++++ retroshare-gui/src/gui/icons/svg/info.svg | 60 +++++ .../src/gui/icons/svg/messages-notify.svg | 75 ++++++ retroshare-gui/src/gui/icons/svg/messages.svg | 75 ++++++ .../src/gui/icons/svg/network-notify.svg | 68 +++++ retroshare-gui/src/gui/icons/svg/network.svg | 68 +++++ .../src/gui/icons/svg/newsfeed-notify.svg | 75 ++++++ retroshare-gui/src/gui/icons/svg/newsfeed.svg | 75 ++++++ retroshare-gui/src/gui/icons/svg/options.svg | 62 +++++ .../src/gui/icons/svg/people-notify.svg | 105 ++++++++ retroshare-gui/src/gui/icons/svg/people.svg | 105 ++++++++ .../src/gui/icons/svg/posted-notify.svg | 78 ++++++ retroshare-gui/src/gui/icons/svg/posted.svg | 78 ++++++ .../src/gui/icons/svg/retroshare-info.svg | 242 +++++++++++++++++ .../src/gui/icons/svg/retroshare-splash.svg | 243 ++++++++++++++++++ .../icons/svg/retroshare-symbol-minimal.svg | 101 ++++++++ .../icons/svg/retroshare-symbol_black_bg.svg | 108 ++++++++ .../icons/svg/retroshare-symbol_gradients.svg | 148 +++++++++++ .../src/gui/msgs/MessageUserNotify.cpp | 4 +- 80 files changed, 2844 insertions(+), 83 deletions(-) create mode 100644 retroshare-gui/src/gui/icons/png/channels-notify.png create mode 100644 retroshare-gui/src/gui/icons/png/channels.png create mode 100644 retroshare-gui/src/gui/icons/png/chat-lobbies-notify.png create mode 100644 retroshare-gui/src/gui/icons/png/chat-lobbies.png create mode 100644 retroshare-gui/src/gui/icons/png/exit.png create mode 100644 retroshare-gui/src/gui/icons/png/feedreader-notify.png create mode 100644 retroshare-gui/src/gui/icons/png/feedreader.png create mode 100644 retroshare-gui/src/gui/icons/png/filesharing-notify.png create mode 100644 retroshare-gui/src/gui/icons/png/filesharing.png create mode 100644 retroshare-gui/src/gui/icons/png/forums-notify.png create mode 100644 retroshare-gui/src/gui/icons/png/forums.png create mode 100644 retroshare-gui/src/gui/icons/png/info.png create mode 100644 retroshare-gui/src/gui/icons/png/messages-notify.png create mode 100644 retroshare-gui/src/gui/icons/png/messages.png create mode 100644 retroshare-gui/src/gui/icons/png/network-notify.png create mode 100644 retroshare-gui/src/gui/icons/png/network.png create mode 100644 retroshare-gui/src/gui/icons/png/newsfeed-notify.png create mode 100644 retroshare-gui/src/gui/icons/png/newsfeed.png create mode 100644 retroshare-gui/src/gui/icons/png/options.png create mode 100644 retroshare-gui/src/gui/icons/png/people-notify.png create mode 100644 retroshare-gui/src/gui/icons/png/people.png create mode 100644 retroshare-gui/src/gui/icons/png/posted-notify.png create mode 100644 retroshare-gui/src/gui/icons/png/posted.png create mode 100644 retroshare-gui/src/gui/icons/svg/channels-notify.svg create mode 100644 retroshare-gui/src/gui/icons/svg/channels.svg create mode 100644 retroshare-gui/src/gui/icons/svg/chat-lobbies-notify.svg create mode 100644 retroshare-gui/src/gui/icons/svg/chat-lobbies.svg create mode 100644 retroshare-gui/src/gui/icons/svg/exit-red.svg create mode 100644 retroshare-gui/src/gui/icons/svg/exit.svg create mode 100644 retroshare-gui/src/gui/icons/svg/feedreader-notify.svg create mode 100644 retroshare-gui/src/gui/icons/svg/feedreader.svg create mode 100644 retroshare-gui/src/gui/icons/svg/filesharing-notify.svg create mode 100644 retroshare-gui/src/gui/icons/svg/filesharing.svg create mode 100644 retroshare-gui/src/gui/icons/svg/forums-notify.svg create mode 100644 retroshare-gui/src/gui/icons/svg/forums.svg create mode 100644 retroshare-gui/src/gui/icons/svg/info.svg create mode 100644 retroshare-gui/src/gui/icons/svg/messages-notify.svg create mode 100644 retroshare-gui/src/gui/icons/svg/messages.svg create mode 100644 retroshare-gui/src/gui/icons/svg/network-notify.svg create mode 100644 retroshare-gui/src/gui/icons/svg/network.svg create mode 100644 retroshare-gui/src/gui/icons/svg/newsfeed-notify.svg create mode 100644 retroshare-gui/src/gui/icons/svg/newsfeed.svg create mode 100644 retroshare-gui/src/gui/icons/svg/options.svg create mode 100644 retroshare-gui/src/gui/icons/svg/people-notify.svg create mode 100644 retroshare-gui/src/gui/icons/svg/people.svg create mode 100644 retroshare-gui/src/gui/icons/svg/posted-notify.svg create mode 100644 retroshare-gui/src/gui/icons/svg/posted.svg create mode 100644 retroshare-gui/src/gui/icons/svg/retroshare-info.svg create mode 100644 retroshare-gui/src/gui/icons/svg/retroshare-splash.svg create mode 100644 retroshare-gui/src/gui/icons/svg/retroshare-symbol-minimal.svg create mode 100644 retroshare-gui/src/gui/icons/svg/retroshare-symbol_black_bg.svg create mode 100644 retroshare-gui/src/gui/icons/svg/retroshare-symbol_gradients.svg diff --git a/retroshare-gui/src/gui/ChatLobbyWidget.h b/retroshare-gui/src/gui/ChatLobbyWidget.h index dc19ac2a6..4ce19cf95 100644 --- a/retroshare-gui/src/gui/ChatLobbyWidget.h +++ b/retroshare-gui/src/gui/ChatLobbyWidget.h @@ -6,7 +6,7 @@ #include "RsAutoUpdatePage.h" #include "chat/ChatLobbyUserNotify.h" -#define IMAGE_CHATLOBBY ":/icons/chat_128.png" +#define IMAGE_CHATLOBBY ":/icons/png/chat-lobbies.png" #define CHAT_LOBBY_PRIVACY_LEVEL_PUBLIC 1 #define CHAT_LOBBY_PRIVACY_LEVEL_PRIVATE 2 diff --git a/retroshare-gui/src/gui/ChatLobbyWidget.ui b/retroshare-gui/src/gui/ChatLobbyWidget.ui index 43c5e6c52..a7c810475 100644 --- a/retroshare-gui/src/gui/ChatLobbyWidget.ui +++ b/retroshare-gui/src/gui/ChatLobbyWidget.ui @@ -52,14 +52,20 @@ + + + 24 + 24 + + - :/images/chat_22.png + :/icons/png/chat-lobbies.png - false + true @@ -435,6 +441,7 @@ + diff --git a/retroshare-gui/src/gui/FileTransfer/TransferUserNotify.cpp b/retroshare-gui/src/gui/FileTransfer/TransferUserNotify.cpp index 74a2b20f4..2c0fc867d 100644 --- a/retroshare-gui/src/gui/FileTransfer/TransferUserNotify.cpp +++ b/retroshare-gui/src/gui/FileTransfer/TransferUserNotify.cpp @@ -41,12 +41,12 @@ bool TransferUserNotify::hasSetting(QString *name, QString *group) QIcon TransferUserNotify::getIcon() { - return QIcon(":/images/ktorrent32.png"); + return QIcon(":/icons/png/filesharing.png"); } QIcon TransferUserNotify::getMainIcon(bool hasNew) { - return hasNew ? QIcon(":/icons/ktorrent_red_128.png") : QIcon(":/icons/ktorrent_128.png"); + return hasNew ? QIcon(":/icons/png/filesharing-notify.png") : QIcon(":/icons/png/filesharing.png"); } unsigned int TransferUserNotify::getNewCount() diff --git a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.ui b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.ui index 0f8b7ee25..d723f23d1 100644 --- a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.ui +++ b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.ui @@ -38,19 +38,34 @@ QFrame::Sunken - + + 2 + + + 2 + + + 2 + + 2 + + + 24 + 24 + + - :/images/hi24-app-ktorrent.png + :/icons/png/filesharing.png - false + true @@ -117,15 +132,24 @@ Downloads + + 0 + + + 0 + + + 0 + + + 0 + 6 0 - - 0 - @@ -215,7 +239,16 @@ Uploads - + + 0 + + + 0 + + + 0 + + 0 @@ -248,6 +281,7 @@ + diff --git a/retroshare-gui/src/gui/FriendsDialog.h b/retroshare-gui/src/gui/FriendsDialog.h index 370d68859..960337b6f 100644 --- a/retroshare-gui/src/gui/FriendsDialog.h +++ b/retroshare-gui/src/gui/FriendsDialog.h @@ -26,7 +26,7 @@ #include "ui_FriendsDialog.h" -#define IMAGE_NETWORK ":/icons/logo_128.png" +#define IMAGE_NETWORK ":/icons/png/network.png" class QAction; class NetworkDialog; diff --git a/retroshare-gui/src/gui/FriendsDialog.ui b/retroshare-gui/src/gui/FriendsDialog.ui index 9204ef6fd..68091706b 100644 --- a/retroshare-gui/src/gui/FriendsDialog.ui +++ b/retroshare-gui/src/gui/FriendsDialog.ui @@ -11,7 +11,16 @@ - + + 0 + + + 0 + + + 0 + + 0 @@ -29,16 +38,34 @@ QFrame::Sunken - + + 2 + + + 2 + + + 2 + + 2 + + + 24 + 24 + + - :/images/logo/logo_24.png + :/icons/png/network.png + + + true @@ -357,6 +384,7 @@ + diff --git a/retroshare-gui/src/gui/Identity/IdDialog.cpp b/retroshare-gui/src/gui/Identity/IdDialog.cpp index fbc332022..a1a21167e 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDialog.cpp @@ -209,7 +209,7 @@ IdDialog::IdDialog(QWidget *parent) : connect(ui->inviteButton, SIGNAL(clicked()), this, SLOT(sendInvite())); - ui->avLabel_Person->setPixmap(QPixmap(":/images/user/friends64.png")); + ui->avLabel_Person->setPixmap(QPixmap(":/icons/png/people.png")); ui->avlabel_Circles->setPixmap(QPixmap(":/icons/circles_128.png")); ui->headerTextLabel_Person->setText(tr("People")); diff --git a/retroshare-gui/src/gui/Identity/IdDialog.h b/retroshare-gui/src/gui/Identity/IdDialog.h index 2c4a2d9ea..6c849def4 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.h +++ b/retroshare-gui/src/gui/Identity/IdDialog.h @@ -30,7 +30,7 @@ #include "util/TokenQueue.h" -#define IMAGE_IDDIALOG ":/icons/friends_128.png" +#define IMAGE_IDDIALOG ":/icons/png/people.png" namespace Ui { class IdDialog; diff --git a/retroshare-gui/src/gui/Identity/IdDialog.ui b/retroshare-gui/src/gui/Identity/IdDialog.ui index 3543ebc2d..bfcfd95ef 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.ui +++ b/retroshare-gui/src/gui/Identity/IdDialog.ui @@ -77,7 +77,7 @@ - :/images/user/friends24.png + :/icons/png/people.png true diff --git a/retroshare-gui/src/gui/MainWindow.cpp b/retroshare-gui/src/gui/MainWindow.cpp index b53137047..d23a2e954 100644 --- a/retroshare-gui/src/gui/MainWindow.cpp +++ b/retroshare-gui/src/gui/MainWindow.cpp @@ -115,26 +115,16 @@ #include #include -#define IMAGE_QUIT ":/icons/quit_128.png" -#define IMAGE_PREFERENCES ":/icons/system_128.png" -#define IMAGE_ABOUT ":/icons/information_128.png" -#define IMAGE_ADDFRIEND ":/icons/add_user_256.png" +#define IMAGE_QUIT ":/icons/png/exit.png" +#define IMAGE_PREFERENCES ":/icons/png/options.png" +#define IMAGE_ABOUT ":/icons/png/info.png" +#define IMAGE_ADDFRIEND ":/icons/png/invite.png" #define IMAGE_RETROSHARE ":/icons/logo_128.png" #define IMAGE_NOONLINE ":/icons/logo_0_connected_128.png" #define IMAGE_ONEONLINE ":/icons/logo_1_connected_128.png" #define IMAGE_TWOONLINE ":/icons/logo_2_connected_128.png" #define IMAGE_OVERLAY ":/icons/star_overlay_128.png" -/* Images for toolbar icons */ -//#define IMAGE_NETWORK2 ":/images/rs1.png" -//#define IMAGE_PEERS ":/images/groupchat.png" -//#define IMAGE_TRANSFERS ":/images/ktorrent32.png" -//#define IMAGE_FILES ":/images/fileshare32.png" -//#define IMAGE_CHANNELS ":/images/channels.png" -//#define IMAGE_FORUMS ":/images/konversation.png" -//#define IMAGE_CHAT ":/images/groupchat.png" -//#define IMAGE_STATISTIC ":/images/utilities-system-monitor.png" -//#define IMAGE_MESSAGES ":/images/evolution.png" #define IMAGE_BWGRAPH ":/images/ksysguard.png" #define IMAGE_MESSENGER ":/images/rsmessenger48.png" #define IMAGE_CLOSE ":/images/close_normal.png" @@ -148,16 +138,10 @@ #define IMAGE_UNFINISHED ":/images/underconstruction.png" #define IMAGE_MINIMIZE ":/images/window_nofullscreen.png" #define IMAGE_MAXIMIZE ":/images/window_fullscreen.png" -//#define IMG_HELP ":/images/help24.png" -//#define IMAGE_NEWSFEED ":/images/newsfeed/news-feed-32.png" + #define IMAGE_PLUGINS ":/images/extension_32.png" #define IMAGE_BLOGS ":/images/kblogger.png" #define IMAGE_DHT ":/images/dht16.png" -//#define IMAGE_CHATLOBBY ":/images/chat_32.png" -//#define IMAGE_GXSCHANNELS ":/images/channels.png" -//#define IMAGE_GXSFORUMS ":/images/konversation.png" -//#define IMAGE_IDENTITY ":/images/identity/identities_32.png" -//#define IMAGE_CIRCLES ":/images/circles/circles_32.png" /*static*/ MainWindow *MainWindow::_instance = NULL; diff --git a/retroshare-gui/src/gui/MessagesDialog.h b/retroshare-gui/src/gui/MessagesDialog.h index b0c17223d..0fc6b4fc3 100644 --- a/retroshare-gui/src/gui/MessagesDialog.h +++ b/retroshare-gui/src/gui/MessagesDialog.h @@ -27,7 +27,7 @@ #include "mainpage.h" #include "ui_MessagesDialog.h" -#define IMAGE_MESSAGES ":/images/evolution.png" +#define IMAGE_MESSAGES ":/icons/png/messages.png" class RSTreeWidgetItemCompareRole; class MessageWidget; diff --git a/retroshare-gui/src/gui/MessagesDialog.ui b/retroshare-gui/src/gui/MessagesDialog.ui index e2c357f1b..e3e33b670 100644 --- a/retroshare-gui/src/gui/MessagesDialog.ui +++ b/retroshare-gui/src/gui/MessagesDialog.ui @@ -11,7 +11,16 @@ - + + 0 + + + 0 + + + 0 + + 0 @@ -41,7 +50,16 @@ QFrame::Sunken - + + 2 + + + 2 + + + 2 + + 2 @@ -306,7 +324,7 @@ - :/images/evolution.png + :/icons/png/messages.png true @@ -496,7 +514,16 @@ Main Tab - + + 0 + + + 0 + + + 0 + + 0 @@ -509,15 +536,24 @@ + + 0 + + + 0 + + + 0 + + + 0 + 6 0 - - 0 - @@ -830,6 +866,7 @@ + diff --git a/retroshare-gui/src/gui/NewsFeed.ui b/retroshare-gui/src/gui/NewsFeed.ui index ba5f4b945..a74582bcf 100644 --- a/retroshare-gui/src/gui/NewsFeed.ui +++ b/retroshare-gui/src/gui/NewsFeed.ui @@ -11,7 +11,16 @@ - + + 0 + + + 0 + + + 0 + + 0 @@ -29,19 +38,28 @@ QFrame::Sunken - + + 2 + + + 2 + + + 2 + + 2 - 16 - 16 + 24 + 24 - :/icons/knews_128.png + :/icons/png/newsfeed.png true diff --git a/retroshare-gui/src/gui/Posted/PostedDialog.cpp b/retroshare-gui/src/gui/Posted/PostedDialog.cpp index 726edd0c6..19feaff06 100644 --- a/retroshare-gui/src/gui/Posted/PostedDialog.cpp +++ b/retroshare-gui/src/gui/Posted/PostedDialog.cpp @@ -101,7 +101,7 @@ QString PostedDialog::icon(IconType type) { switch (type) { case ICON_NAME: - return ":/images/posted_24.png"; + return ":/icons/png/posted.png"; case ICON_NEW: return ":/images/posted_add_24.png"; case ICON_YOUR_GROUP: diff --git a/retroshare-gui/src/gui/Posted/PostedDialog.h b/retroshare-gui/src/gui/Posted/PostedDialog.h index a90ac6ea7..358db5749 100644 --- a/retroshare-gui/src/gui/Posted/PostedDialog.h +++ b/retroshare-gui/src/gui/Posted/PostedDialog.h @@ -26,7 +26,7 @@ #include "gui/gxs/GxsGroupFrameDialog.h" -#define IMAGE_POSTED ":/images/posted_32.png" +#define IMAGE_POSTED ":/icons/png/posted.png" class PostedDialog : public GxsGroupFrameDialog { diff --git a/retroshare-gui/src/gui/Posted/PostedUserNotify.cpp b/retroshare-gui/src/gui/Posted/PostedUserNotify.cpp index 0d1bbebe8..b0bfd4b3c 100644 --- a/retroshare-gui/src/gui/Posted/PostedUserNotify.cpp +++ b/retroshare-gui/src/gui/Posted/PostedUserNotify.cpp @@ -37,12 +37,12 @@ bool PostedUserNotify::hasSetting(QString *name, QString *group) QIcon PostedUserNotify::getIcon() { - return QIcon(":/icons/posted_128.png"); + return QIcon(":/icons/png/posted.png"); } QIcon PostedUserNotify::getMainIcon(bool hasNew) { - return hasNew ? QIcon(":/icons/posted_red_128.png") : QIcon(":/icons/posted_128.png"); + return hasNew ? QIcon(":/icons/png/posted-notify.png") : QIcon(":/icons/png/posted.png"); } void PostedUserNotify::iconClicked() diff --git a/retroshare-gui/src/gui/chat/ChatLobbyUserNotify.cpp b/retroshare-gui/src/gui/chat/ChatLobbyUserNotify.cpp index 774f387ba..3c90ce595 100644 --- a/retroshare-gui/src/gui/chat/ChatLobbyUserNotify.cpp +++ b/retroshare-gui/src/gui/chat/ChatLobbyUserNotify.cpp @@ -99,12 +99,12 @@ void ChatLobbyUserNotify::setTextCaseSensitive(bool value) QIcon ChatLobbyUserNotify::getIcon() { - return QIcon(":/images/chat_32.png"); + return QIcon(":/icons/png/chat-lobbies.png"); } QIcon ChatLobbyUserNotify::getMainIcon(bool hasNew) { - return hasNew ? QIcon(":/icons/chat_red_128.png") : QIcon(":/icons/chat_128.png"); + return hasNew ? QIcon(":/icons/png/chat-lobbies-notify.png") : QIcon(":/icons/png/chat-lobbies.png"); } unsigned int ChatLobbyUserNotify::getNewCount() diff --git a/retroshare-gui/src/gui/chat/ChatUserNotify.cpp b/retroshare-gui/src/gui/chat/ChatUserNotify.cpp index 1bc4a1df9..3d244567e 100644 --- a/retroshare-gui/src/gui/chat/ChatUserNotify.cpp +++ b/retroshare-gui/src/gui/chat/ChatUserNotify.cpp @@ -79,7 +79,7 @@ QIcon ChatUserNotify::getIcon() QIcon ChatUserNotify::getMainIcon(bool hasNew) { - return hasNew ? QIcon(":/icons/logo_128.png") : QIcon(":/icons/logo_128.png"); + return hasNew ? QIcon(":/icons/png/network-notify.png") : QIcon(":/icons/png/network.png"); } unsigned int ChatUserNotify::getNewCount() diff --git a/retroshare-gui/src/gui/feeds/NewsFeedUserNotify.cpp b/retroshare-gui/src/gui/feeds/NewsFeedUserNotify.cpp index 1c57d4373..b6de18092 100644 --- a/retroshare-gui/src/gui/feeds/NewsFeedUserNotify.cpp +++ b/retroshare-gui/src/gui/feeds/NewsFeedUserNotify.cpp @@ -38,7 +38,7 @@ void NewsFeedUserNotify::newsFeedChanged(int count) QIcon NewsFeedUserNotify::getMainIcon(bool hasNew) { - return hasNew ? QIcon(":/icons/knews_red_128.png") : QIcon(":/icons/knews_128.png"); + return hasNew ? QIcon(":/icons/png/newsfeed-notify.png") : QIcon(":/icons/png/newsfeed.png"); } unsigned int NewsFeedUserNotify::getNewCount() diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelDialog.cpp b/retroshare-gui/src/gui/gxschannels/GxsChannelDialog.cpp index 261bf49fd..6218a6524 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelDialog.cpp +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelDialog.cpp @@ -105,7 +105,7 @@ QString GxsChannelDialog::icon(IconType type) { switch (type) { case ICON_NAME: - return ":/images/channels24.png"; + return ":/icons/png/channels.png"; case ICON_NEW: return ":/images/add_channel24.png"; case ICON_YOUR_GROUP: diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelDialog.h b/retroshare-gui/src/gui/gxschannels/GxsChannelDialog.h index 1ecdcd273..9915ec362 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelDialog.h +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelDialog.h @@ -24,7 +24,7 @@ #include "gui/gxs/GxsGroupFrameDialog.h" -#define IMAGE_GXSCHANNELS ":/images/channels.png" +#define IMAGE_GXSCHANNELS ":/icons/png/channels.png" class GxsChannelDialog : public GxsGroupFrameDialog { diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelUserNotify.cpp b/retroshare-gui/src/gui/gxschannels/GxsChannelUserNotify.cpp index 774037543..c20b54b08 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelUserNotify.cpp +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelUserNotify.cpp @@ -37,12 +37,12 @@ bool GxsChannelUserNotify::hasSetting(QString *name, QString *group) QIcon GxsChannelUserNotify::getIcon() { - return QIcon(":/images/channels16.png"); + return QIcon(":/icons/png/channels.png"); } QIcon GxsChannelUserNotify::getMainIcon(bool hasNew) { - return hasNew ? QIcon(":/icons/channels_red_128.png") : QIcon(":/icons/channels_128.png"); + return hasNew ? QIcon(":/icons/png/channels-notify.png") : QIcon(":/icons/png/channels.png"); } void GxsChannelUserNotify::iconClicked() diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumUserNotify.cpp b/retroshare-gui/src/gui/gxsforums/GxsForumUserNotify.cpp index 026db2358..983c62f66 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumUserNotify.cpp +++ b/retroshare-gui/src/gui/gxsforums/GxsForumUserNotify.cpp @@ -38,12 +38,12 @@ bool GxsForumUserNotify::hasSetting(QString *name, QString *group) QIcon GxsForumUserNotify::getIcon() { - return QIcon(":/icons/konversation_128.png"); + return QIcon(":/icons/png/forums.png"); } QIcon GxsForumUserNotify::getMainIcon(bool hasNew) { - return hasNew ? QIcon(":/icons/konversation_red_128.png") : QIcon(":/icons/konversation_128.png"); + return hasNew ? QIcon(":/icons/png/forums-notify.png") : QIcon(":/icons/png/forums.png"); } void GxsForumUserNotify::iconClicked() diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumsDialog.cpp b/retroshare-gui/src/gui/gxsforums/GxsForumsDialog.cpp index a4454a859..8dbc5d544 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumsDialog.cpp +++ b/retroshare-gui/src/gui/gxsforums/GxsForumsDialog.cpp @@ -104,7 +104,7 @@ QString GxsForumsDialog::icon(IconType type) { switch (type) { case ICON_NAME: - return ":/images/konversation.png"; + return ":/icons/png/forums.png"; case ICON_NEW: return ":/images/new_forum16.png"; case ICON_YOUR_GROUP: diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumsDialog.h b/retroshare-gui/src/gui/gxsforums/GxsForumsDialog.h index 9d43c3698..60a713151 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumsDialog.h +++ b/retroshare-gui/src/gui/gxsforums/GxsForumsDialog.h @@ -24,7 +24,7 @@ #include "gui/gxs/GxsGroupFrameDialog.h" -#define IMAGE_GXSFORUMS ":/images/konversation.png" +#define IMAGE_GXSFORUMS ":/icons/png/forums.png" class GxsForumsDialog : public GxsGroupFrameDialog { diff --git a/retroshare-gui/src/gui/help/licence.html b/retroshare-gui/src/gui/help/licence.html index 4ce067118..cf3f6230b 100644 --- a/retroshare-gui/src/gui/help/licence.html +++ b/retroshare-gui/src/gui/help/licence.html @@ -42,6 +42,14 @@ href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html

+

Retroshare Icons

+ +

Oxygen Icons Set(LGPL)

+ +

Crystal Project Icons(LGPL)

+ +
+

GNU GENERAL PUBLIC LICENSE

diff --git a/retroshare-gui/src/gui/icons.qrc b/retroshare-gui/src/gui/icons.qrc index 3cea9eea1..86e678aa9 100644 --- a/retroshare-gui/src/gui/icons.qrc +++ b/retroshare-gui/src/gui/icons.qrc @@ -75,17 +75,38 @@ icons/yahoo.png icons/yandex.png icons/yellow_biohazard64.png - icons/png/attach.png - icons/png/attach-image.png - icons/png/highlight.png - icons/png/invite.png - icons/png/leave.png - icons/png/search.png - icons/png/send-message.png - icons/png/settings.png - icons/png/smiley.png - icons/png/font.png - icons/png/send-message-blocked.png - icons/png/chat-bubble-notify.png + icons/png/attach.png + icons/png/attach-image.png + icons/png/highlight.png + icons/png/invite.png + icons/png/leave.png + icons/png/search.png + icons/png/send-message.png + icons/png/settings.png + icons/png/smiley.png + icons/png/font.png + icons/png/send-message-blocked.png + icons/png/chat-bubble-notify.png + icons/png/channels.png + icons/png/chat-lobbies.png + icons/png/forums.png + icons/png/info.png + icons/png/messages.png + icons/png/network.png + icons/png/newsfeed.png + icons/png/people.png + icons/png/posted.png + icons/png/exit.png + icons/png/options.png + icons/png/filesharing.png + icons/png/channels-notify.png + icons/png/chat-lobbies-notify.png + icons/png/forums-notify.png + icons/png/messages-notify.png + icons/png/network-notify.png + icons/png/newsfeed-notify.png + icons/png/people-notify.png + icons/png/posted-notify.png + icons/png/filesharing-notify.png diff --git a/retroshare-gui/src/gui/icons/png/channels-notify.png b/retroshare-gui/src/gui/icons/png/channels-notify.png new file mode 100644 index 0000000000000000000000000000000000000000..538bf865bc789a54badeca12cd5414dec79a5d3a GIT binary patch literal 3619 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 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/channels.png b/retroshare-gui/src/gui/icons/png/channels.png new file mode 100644 index 0000000000000000000000000000000000000000..f4460cce92fdf3f524792f530fbc6d55d17cb78e GIT binary patch literal 3614 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 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/chat-lobbies.png b/retroshare-gui/src/gui/icons/png/chat-lobbies.png new file mode 100644 index 0000000000000000000000000000000000000000..ca381a13aee51e4dcf94dc8da1edfe7630a6587a GIT binary patch literal 6102 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 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/exit.png b/retroshare-gui/src/gui/icons/png/exit.png new file mode 100644 index 0000000000000000000000000000000000000000..a5d95b38f1e4b0599c0d4f65c503614d63427ebd GIT binary patch literal 5434 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 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/feedreader-notify.png b/retroshare-gui/src/gui/icons/png/feedreader-notify.png new file mode 100644 index 0000000000000000000000000000000000000000..3b14a86c5939ee93571e268b02045e5f1031e847 GIT binary patch literal 5461 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 LNkvXXu0mjfb15#K literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/feedreader.png b/retroshare-gui/src/gui/icons/png/feedreader.png new file mode 100644 index 0000000000000000000000000000000000000000..466b2665f69944d1301ffb5cbdfda4873d16d46b GIT binary patch literal 5669 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 LNkvXXu0mjfZ$jl6 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/filesharing-notify.png b/retroshare-gui/src/gui/icons/png/filesharing-notify.png new file mode 100644 index 0000000000000000000000000000000000000000..f4986c807fcdb262ec7ea9fea17279fe6639f80a GIT binary patch literal 4429 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 VRPMEQgogkC002ovPDHLkV1kdjvo`<$ literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/forums-notify.png b/retroshare-gui/src/gui/icons/png/forums-notify.png new file mode 100644 index 0000000000000000000000000000000000000000..678c3bfd9980e9a893e702d1c44bb511f76f04db GIT binary patch literal 4332 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 R&2az#002ovPDHLkV1gu+s(%0g literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/info.png b/retroshare-gui/src/gui/icons/png/info.png new file mode 100644 index 0000000000000000000000000000000000000000..f7e804032ba00c51b1fdfa69c6cde87e47b71e0d GIT binary patch literal 3038 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 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/messages-notify.png b/retroshare-gui/src/gui/icons/png/messages-notify.png new file mode 100644 index 0000000000000000000000000000000000000000..27163f3cfef29a7b2039486b80f5dd6af4cfc6ec GIT binary patch literal 4791 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 P00000NkvXXu0mjf@`3Ik literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/network.png b/retroshare-gui/src/gui/icons/png/network.png new file mode 100644 index 0000000000000000000000000000000000000000..014430218d99f1c1382f7be5cc8a6b71d27aa2a1 GIT binary patch literal 5990 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 U`1QwkDF6Tf07*qoM6N<$f~LBjXaE2J literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/newsfeed-notify.png b/retroshare-gui/src/gui/icons/png/newsfeed-notify.png new file mode 100644 index 0000000000000000000000000000000000000000..a70d7bd772016c28861dbbf586d7ad087fdf77f2 GIT binary patch literal 3645 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 LNkvXXu0mjfp@AvJ literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/people-notify.png b/retroshare-gui/src/gui/icons/png/people-notify.png new file mode 100644 index 0000000000000000000000000000000000000000..6e7b94ea7b935febf82057874852b1203d794f1d GIT binary patch literal 5401 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 Ube*nAW&i*H07*qoM6N<$f)a!mdjJ3c literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/posted-notify.png b/retroshare-gui/src/gui/icons/png/posted-notify.png new file mode 100644 index 0000000000000000000000000000000000000000..f097857051bfb257b3b39720a304dca16bb1a2c1 GIT binary patch literal 8953 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
4?Z1p%IgU2Lf&^@JsWg{4KkCMM@AoJ}hrY1p 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 TqeFmz00000NkvXXu0mjfx!`K) literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/posted.png b/retroshare-gui/src/gui/icons/png/posted.png new file mode 100644 index 0000000000000000000000000000000000000000..2de0fc3a261d5b14daeb0cca936d5664701d7b1d GIT binary patch literal 9302 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 Eg4wqdZvX%Q literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/svg/channels-notify.svg b/retroshare-gui/src/gui/icons/svg/channels-notify.svg new file mode 100644 index 000000000..12e5a8228 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/channels-notify.svg @@ -0,0 +1,87 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/channels.svg b/retroshare-gui/src/gui/icons/svg/channels.svg new file mode 100644 index 000000000..cd5815c8c --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/channels.svg @@ -0,0 +1,87 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/chat-lobbies-notify.svg b/retroshare-gui/src/gui/icons/svg/chat-lobbies-notify.svg new file mode 100644 index 000000000..bba8b867d --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/chat-lobbies-notify.svg @@ -0,0 +1,63 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/chat-lobbies.svg b/retroshare-gui/src/gui/icons/svg/chat-lobbies.svg new file mode 100644 index 000000000..b2e67d35a --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/chat-lobbies.svg @@ -0,0 +1,63 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/exit-red.svg b/retroshare-gui/src/gui/icons/svg/exit-red.svg new file mode 100644 index 000000000..45ae71827 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/exit-red.svg @@ -0,0 +1,65 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/exit.svg b/retroshare-gui/src/gui/icons/svg/exit.svg new file mode 100644 index 000000000..14bb0952e --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/exit.svg @@ -0,0 +1,65 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/feedreader-notify.svg b/retroshare-gui/src/gui/icons/svg/feedreader-notify.svg new file mode 100644 index 000000000..60fe06c9a --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/feedreader-notify.svg @@ -0,0 +1,64 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/feedreader.svg b/retroshare-gui/src/gui/icons/svg/feedreader.svg new file mode 100644 index 000000000..ae5a3d7d2 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/feedreader.svg @@ -0,0 +1,64 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/filesharing-notify.svg b/retroshare-gui/src/gui/icons/svg/filesharing-notify.svg new file mode 100644 index 000000000..c6bb76479 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/filesharing-notify.svg @@ -0,0 +1,91 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/filesharing.svg b/retroshare-gui/src/gui/icons/svg/filesharing.svg new file mode 100644 index 000000000..93554d78c --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/filesharing.svg @@ -0,0 +1,89 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/forums-notify.svg b/retroshare-gui/src/gui/icons/svg/forums-notify.svg new file mode 100644 index 000000000..55d3ee57f --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/forums-notify.svg @@ -0,0 +1,60 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/forums.svg b/retroshare-gui/src/gui/icons/svg/forums.svg new file mode 100644 index 000000000..e51afbbc6 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/forums.svg @@ -0,0 +1,60 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/info.svg b/retroshare-gui/src/gui/icons/svg/info.svg new file mode 100644 index 000000000..a83e6d67a --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/info.svg @@ -0,0 +1,60 @@ + + + + + + image/svg+xml + + + + + + + + + + diff --git a/retroshare-gui/src/gui/icons/svg/messages-notify.svg b/retroshare-gui/src/gui/icons/svg/messages-notify.svg new file mode 100644 index 000000000..cccaced9f --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/messages-notify.svg @@ -0,0 +1,75 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/messages.svg b/retroshare-gui/src/gui/icons/svg/messages.svg new file mode 100644 index 000000000..f3a51b3f9 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/messages.svg @@ -0,0 +1,75 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/network-notify.svg b/retroshare-gui/src/gui/icons/svg/network-notify.svg new file mode 100644 index 000000000..0ac3626fb --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/network-notify.svg @@ -0,0 +1,68 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/network.svg b/retroshare-gui/src/gui/icons/svg/network.svg new file mode 100644 index 000000000..861b298bd --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/network.svg @@ -0,0 +1,68 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/newsfeed-notify.svg b/retroshare-gui/src/gui/icons/svg/newsfeed-notify.svg new file mode 100644 index 000000000..5b7fee2b0 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/newsfeed-notify.svg @@ -0,0 +1,75 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/newsfeed.svg b/retroshare-gui/src/gui/icons/svg/newsfeed.svg new file mode 100644 index 000000000..a5b7978e8 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/newsfeed.svg @@ -0,0 +1,75 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/options.svg b/retroshare-gui/src/gui/icons/svg/options.svg new file mode 100644 index 000000000..6a1ae55d1 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/options.svg @@ -0,0 +1,62 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/people-notify.svg b/retroshare-gui/src/gui/icons/svg/people-notify.svg new file mode 100644 index 000000000..8994f290f --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/people-notify.svg @@ -0,0 +1,105 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/people.svg b/retroshare-gui/src/gui/icons/svg/people.svg new file mode 100644 index 000000000..3ea6a2e19 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/people.svg @@ -0,0 +1,105 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/posted-notify.svg b/retroshare-gui/src/gui/icons/svg/posted-notify.svg new file mode 100644 index 000000000..7c7e9eb5e --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/posted-notify.svg @@ -0,0 +1,78 @@ + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/posted.svg b/retroshare-gui/src/gui/icons/svg/posted.svg new file mode 100644 index 000000000..6e0b07a88 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/posted.svg @@ -0,0 +1,78 @@ + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/retroshare-info.svg b/retroshare-gui/src/gui/icons/svg/retroshare-info.svg new file mode 100644 index 000000000..b0207ed49 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/retroshare-info.svg @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + secure communication for everyone + + + RETROSHARE + diff --git a/retroshare-gui/src/gui/icons/svg/retroshare-splash.svg b/retroshare-gui/src/gui/icons/svg/retroshare-splash.svg new file mode 100644 index 000000000..b4e95fc87 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/retroshare-splash.svg @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + secure communication for everyone + + + RETROSHARE + diff --git a/retroshare-gui/src/gui/icons/svg/retroshare-symbol-minimal.svg b/retroshare-gui/src/gui/icons/svg/retroshare-symbol-minimal.svg new file mode 100644 index 000000000..224c3b7c7 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/retroshare-symbol-minimal.svg @@ -0,0 +1,101 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/retroshare-gui/src/gui/icons/svg/retroshare-symbol_black_bg.svg b/retroshare-gui/src/gui/icons/svg/retroshare-symbol_black_bg.svg new file mode 100644 index 000000000..13d72e86c --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/retroshare-symbol_black_bg.svg @@ -0,0 +1,108 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/retroshare-gui/src/gui/icons/svg/retroshare-symbol_gradients.svg b/retroshare-gui/src/gui/icons/svg/retroshare-symbol_gradients.svg new file mode 100644 index 000000000..1e6f517ab --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/retroshare-symbol_gradients.svg @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + diff --git a/retroshare-gui/src/gui/msgs/MessageUserNotify.cpp b/retroshare-gui/src/gui/msgs/MessageUserNotify.cpp index 9cf471c6e..ce2363cb9 100644 --- a/retroshare-gui/src/gui/msgs/MessageUserNotify.cpp +++ b/retroshare-gui/src/gui/msgs/MessageUserNotify.cpp @@ -41,12 +41,12 @@ bool MessageUserNotify::hasSetting(QString *name, QString *group) QIcon MessageUserNotify::getIcon() { - return QIcon(":/icons/mail_128.png"); + return QIcon(":/icons/png/messages.png"); } QIcon MessageUserNotify::getMainIcon(bool hasNew) { - return hasNew ? QIcon(":/icons/mail_red_128.png") : QIcon(":/icons/mail_128.png"); + return hasNew ? QIcon(":/icons/png/messages-notify.png") : QIcon(":/icons/png/messages.png"); } unsigned int MessageUserNotify::getNewCount() From 4b11fb1729e7984e998da76ee99a709db66f3c54 Mon Sep 17 00:00:00 2001 From: defnax Date: Tue, 16 Aug 2016 22:26:48 +0200 Subject: [PATCH 132/158] update FeedReader icons --- .../FeedReader/gui/FeedReaderUserNotify.cpp | 2 +- plugins/FeedReader/gui/FeedReader_images.qrc | 1 + plugins/FeedReader/gui/images/FeedReader.png | Bin 9924 -> 5669 bytes .../gui/images/feedreader-notify.png | Bin 0 -> 5461 bytes 4 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 plugins/FeedReader/gui/images/feedreader-notify.png diff --git a/plugins/FeedReader/gui/FeedReaderUserNotify.cpp b/plugins/FeedReader/gui/FeedReaderUserNotify.cpp index 95c7c7998..08897c342 100644 --- a/plugins/FeedReader/gui/FeedReaderUserNotify.cpp +++ b/plugins/FeedReader/gui/FeedReaderUserNotify.cpp @@ -50,7 +50,7 @@ QIcon FeedReaderUserNotify::getIcon() QIcon FeedReaderUserNotify::getMainIcon(bool hasNew) { - return hasNew ? QIcon(":/images/FeedReader.png") : QIcon(":/images/FeedReader.png"); + return hasNew ? QIcon(":/images/feedreader-notify.png") : QIcon(":/images/FeedReader.png"); } unsigned int FeedReaderUserNotify::getNewCount() diff --git a/plugins/FeedReader/gui/FeedReader_images.qrc b/plugins/FeedReader/gui/FeedReader_images.qrc index 0bab5b76d..5d75f871c 100644 --- a/plugins/FeedReader/gui/FeedReader_images.qrc +++ b/plugins/FeedReader/gui/FeedReader_images.qrc @@ -16,5 +16,6 @@ images/FeedAdd.png images/Link.png images/Update.png + images/feedreader-notify.png diff --git a/plugins/FeedReader/gui/images/FeedReader.png b/plugins/FeedReader/gui/images/FeedReader.png index 47351ffb653add8ca18965c59b3fb5213e046234..466b2665f69944d1301ffb5cbdfda4873d16d46b 100644 GIT binary patch literal 5669 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 LNkvXXu0mjfZ$jl6 literal 9924 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

k3jO2g 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 LNkvXXu0mjfb15#K literal 0 HcmV?d00001 From 368a429846d3e4149e4fdf220a66b9ff71db044f Mon Sep 17 00:00:00 2001 From: csoler Date: Wed, 17 Aug 2016 09:40:16 +0200 Subject: [PATCH 133/158] fixed read_125Size and write_125Size according to RFC4880 --- libretroshare/src/pgp/pgpkeyutil.cc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/libretroshare/src/pgp/pgpkeyutil.cc b/libretroshare/src/pgp/pgpkeyutil.cc index aedee9131..a019c95c8 100644 --- a/libretroshare/src/pgp/pgpkeyutil.cc +++ b/libretroshare/src/pgp/pgpkeyutil.cc @@ -248,16 +248,16 @@ uint64_t PGPKeyParser::read_KeyID(unsigned char *& data) uint32_t PGPKeyParser::write_125Size(unsigned char *data,uint32_t size) { - if(size < 0xC0)//192 To know if size is coded with One Char < 0xC0 + if(size < 192)//192 To know if size is coded with One Char < 0xC0 { data[0] = size ; return 1; } - if(size < 0x20C0)//8384 To know if size is coded with Two Chars < 0xE0 + if(size < 8384)//8384 To know if size is coded with Two Chars < 0xE0. See RFC4880 { - data[0] = (size >> 8) + 0xC0 ; - data[1] = (size & 0xFF) - 0xC0 ;//Warning data[1] could be "negative", recode it using 8bits type + data[1] = (size - 192) & 0xFF ;//Warning data[1] could be "negative", recode it using 8bits type + data[0] = ((size - 192 - data[1]) >> 8) + 192 ; return 2 ; } @@ -276,14 +276,14 @@ uint32_t PGPKeyParser::read_125Size(unsigned char *& data) uint8_t b1 = *data ; ++data ; - if(b1 < 0xC0)//192 Size is coded with One Char + if(b1 < 192) //192 Size is coded with One Char. See RFC4880 return b1 ; uint8_t b2 = *data ; ++data ; - if(b1 < 0xE0)//224 = 0xC0+0x20 Size is coded with Two Chars - return ((b1-0xC0) << 8) + uint8_t(b2 + 0xC0) ; //Use uint8_t because b2 could be "negative" as 0xC0 was added to it. + if(b1 < 224)//224 = 0xC0+0x20 Size is coded with Two Chars + return ((b1-192) << 8) + b2 + 192 ; // see RFC4880 if(b1 != 0xFF)// Else Coded with 4 Chars but first == 0xFF throw std::runtime_error("GPG parsing error") ; From 9780f1ff78f0e7a537b8e3de555ea7d38130376b Mon Sep 17 00:00:00 2001 From: Phenom Date: Mon, 15 Aug 2016 12:00:44 +0200 Subject: [PATCH 134/158] Add AutoHide to RSImageBlockWidget --- retroshare-gui/src/gui/chat/ChatWidget.cpp | 1 + .../src/gui/common/RSImageBlockWidget.cpp | 73 ++++++++++++++++++- .../src/gui/common/RSImageBlockWidget.h | 34 +++++++++ .../src/gui/common/RSImageBlockWidget.ui | 28 +++++-- .../gui/statistics/BandwidthStatsWidget.cpp | 1 - 5 files changed, 130 insertions(+), 7 deletions(-) diff --git a/retroshare-gui/src/gui/chat/ChatWidget.cpp b/retroshare-gui/src/gui/chat/ChatWidget.cpp index 08e097578..2ff3c7436 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.cpp +++ b/retroshare-gui/src/gui/chat/ChatWidget.cpp @@ -198,6 +198,7 @@ ChatWidget::ChatWidget(QWidget *parent) : ui->textBrowser->resetImagesStatus(Settings->getChatLoadEmbeddedImages()); ui->textBrowser->setImageBlockWidget(ui->imageBlockWidget); + ui->imageBlockWidget->setAutoHide(true); ui->textBrowser->installEventFilter(this); ui->textBrowser->viewport()->installEventFilter(this); ui->chatTextEdit->installEventFilter(this); diff --git a/retroshare-gui/src/gui/common/RSImageBlockWidget.cpp b/retroshare-gui/src/gui/common/RSImageBlockWidget.cpp index 98f6193c3..f2d62452f 100644 --- a/retroshare-gui/src/gui/common/RSImageBlockWidget.cpp +++ b/retroshare-gui/src/gui/common/RSImageBlockWidget.cpp @@ -26,15 +26,28 @@ RSImageBlockWidget::RSImageBlockWidget(QWidget *parent) : QWidget(parent), - ui(new Ui::RSImageBlockWidget) + ui(new Ui::RSImageBlockWidget), + mAutoHide(false), mAutoHideHeight(4), mAutoHideTimeToStart(3000), mAutoHideDuration(3000) { ui->setupUi(this); + mDefaultRect = this->geometry(); + + ui->infoFrame->installEventFilter(this); + + mTimer = new RsProtectedTimer(this); + mTimer->setSingleShot(true); + connect(mTimer, SIGNAL(timeout()), this, SLOT(startAutoHide())); + + mAnimation = new QPropertyAnimation(this, "geometry"); connect(ui->loadImagesButton, SIGNAL(clicked()), this, SIGNAL(showImages())); } RSImageBlockWidget::~RSImageBlockWidget() { + delete mAnimation; + mTimer->stop(); + delete mTimer; delete ui; } @@ -64,3 +77,61 @@ void RSImageBlockWidget::addButtonAction(const QString &text, const QObject *rec connect(action, SIGNAL(triggered()), this, SIGNAL(showImages())); } } + +bool RSImageBlockWidget::eventFilter(QObject *obj, QEvent *event) +{ + if (mAutoHide) { + if (event->type() == QEvent::Show) { + mTimer->start(mAutoHideTimeToStart); + } + if (event->type() == QEvent::Hide) { + mTimer->stop(); + } + if (event->type() == QEvent::Enter) { + mAnimation->stop(); + this->setGeometry(mDefaultRect); + this->updateGeometry(); + mTimer->start(mAutoHideTimeToStart); + mAnimation->setCurrentTime(0); + } + } + if (mAnimation->currentTime() == 0) { + mDefaultRect = this->geometry(); + } else if (mAnimation->state() == QAbstractAnimation::Running) { + this->updateGeometry(); + } + + // pass the event on to the parent class + return QObject::eventFilter(obj, event); +} + +void RSImageBlockWidget::setAutoHide(const bool value) +{ + if(value && !mAutoHide) { + if (this->isVisible()) mTimer->start(mAutoHideTimeToStart); + } else if (!value && mAutoHide) { + mTimer->stop(); + } + mAutoHide = value; +} + +void RSImageBlockWidget::startAutoHide() +{ + QRect r = mDefaultRect; + r.setHeight(mAutoHideHeight); + this->setSizePolicy(QSizePolicy::Ignored,QSizePolicy::Preferred); + mAnimation->setDuration(mAutoHideDuration); + mAnimation->setStartValue(mDefaultRect); + mAnimation->setEndValue(r); + + mAnimation->start(); +} + +QSize RSImageBlockWidget::sizeHint() const +{ + if (mAnimation->currentTime() == 0) { + return mDefaultRect.size(); + } else { + return mAnimation->currentValue().toRect().size(); + } +} diff --git a/retroshare-gui/src/gui/common/RSImageBlockWidget.h b/retroshare-gui/src/gui/common/RSImageBlockWidget.h index f4dfffbfc..b435fbfbf 100644 --- a/retroshare-gui/src/gui/common/RSImageBlockWidget.h +++ b/retroshare-gui/src/gui/common/RSImageBlockWidget.h @@ -22,8 +22,11 @@ #ifndef RSIMAGEBLOCKWIDGET_H #define RSIMAGEBLOCKWIDGET_H +#include #include +#include "util/RsProtectedTimer.h" + namespace Ui { class RSImageBlockWidget; } @@ -32,17 +35,48 @@ class RSImageBlockWidget : public QWidget { Q_OBJECT + Q_PROPERTY(bool autoHide READ autoHide WRITE setAutoHide) + Q_PROPERTY(int autoHideHeight READ autoHideHeight WRITE setAutoHideHeight) + Q_PROPERTY(int autoHideTimeToStart READ autoHideTimeToStart WRITE setAutoHideTimeToStart) + Q_PROPERTY(int autoHideDuration READ autoHideDuration WRITE setAutoHideDuration) + public: explicit RSImageBlockWidget(QWidget *parent = 0); ~RSImageBlockWidget(); void addButtonAction(const QString &text, const QObject *receiver, const char *member, bool standardAction); + virtual QSize sizeHint() const;//To update parent layout. + virtual QSize minimumSizeHint() const { return sizeHint();}//To update parent layout. + + bool autoHide() { return mAutoHide; } + int autoHideHeight() { return mAutoHideHeight; } + int autoHideTimeToStart() { return mAutoHideTimeToStart; } + int autoHideDuration() { return mAutoHideDuration; } + + void setAutoHide(const bool value); + void setAutoHideHeight(const int value) { mAutoHideHeight = value; } + void setAutoHideTimeToStart(const int value) { mAutoHideTimeToStart = value; } + void setAutoHideDuration(const int value) { mAutoHideDuration = value; } + signals: void showImages(); +private slots: + void startAutoHide(); + +protected: + bool eventFilter(QObject *obj, QEvent *event); + private: Ui::RSImageBlockWidget *ui; + QPropertyAnimation *mAnimation; + QRect mDefaultRect; + RsProtectedTimer *mTimer; + bool mAutoHide; + int mAutoHideHeight; + int mAutoHideTimeToStart; + int mAutoHideDuration; }; #endif // RSIMAGEBLOCKWIDGET_H diff --git a/retroshare-gui/src/gui/common/RSImageBlockWidget.ui b/retroshare-gui/src/gui/common/RSImageBlockWidget.ui index 37f1c54b8..ffae88bad 100644 --- a/retroshare-gui/src/gui/common/RSImageBlockWidget.ui +++ b/retroshare-gui/src/gui/common/RSImageBlockWidget.ui @@ -13,11 +13,20 @@ Form - + 0 - + + 0 + + + 0 + + + 0 + + 0 @@ -92,8 +101,17 @@ QFrame::Box - - + + + 6 + + + 6 + + + 6 + + 6 @@ -114,7 +132,7 @@ - + Qt::Horizontal diff --git a/retroshare-gui/src/gui/statistics/BandwidthStatsWidget.cpp b/retroshare-gui/src/gui/statistics/BandwidthStatsWidget.cpp index 3d29f2cc9..fac2af2d4 100644 --- a/retroshare-gui/src/gui/statistics/BandwidthStatsWidget.cpp +++ b/retroshare-gui/src/gui/statistics/BandwidthStatsWidget.cpp @@ -3,7 +3,6 @@ #include "retroshare/rspeers.h" #include "retroshare/rsservicecontrol.h" -#include "util/RsProtectedTimer.h" #include "retroshare-gui/RsAutoUpdatePage.h" #include "BandwidthStatsWidget.h" From b9ac4f87d7b5d3db92ac860f6f89cf6c1c096011 Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 18 Aug 2016 17:37:57 +0200 Subject: [PATCH 135/158] updated ubuntu changelog --- build_scripts/Debian+Ubuntu/changelog | 110 ++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/build_scripts/Debian+Ubuntu/changelog b/build_scripts/Debian+Ubuntu/changelog index a8c2cb3cf..03878cf56 100644 --- a/build_scripts/Debian+Ubuntu/changelog +++ b/build_scripts/Debian+Ubuntu/changelog @@ -1,5 +1,115 @@ retroshare06 (0.6.0-1.XXXXXX~YYYYYY) YYYYYY; urgency=low + 9780f1f Phenom Mon, 15 Aug 2016 12:00:44 +0200 Add AutoHide to RSImageBlockWidget + 368a429 csoler Wed, 17 Aug 2016 09:40:16 +0200 fixed read_125Size and write_125Size according to RFC4880 + 4b11fb1 defnax Tue, 16 Aug 2016 22:26:48 +0200 update FeedReader icons + 6682a7a defnax Tue, 16 Aug 2016 22:02:30 +0200 added new mainwindow icons for RetroShare. + 4d5be7f csoler Tue, 16 Aug 2016 10:29:21 +0200 Merge pull request #476 from PhenomRetroShare/Add_FilterBannedInIdDialog + 4572dc6 csoler Tue, 16 Aug 2016 10:22:00 +0200 Merge pull request #475 from PhenomRetroShare/Fix_RSTextBrowser_loadRessource_OnWindows + 26cbb27 csoler Tue, 16 Aug 2016 10:20:30 +0200 Merge pull request #472 from PhenomRetroShare/Fix_ChangeImageBlockedIconOnRSTextBrowser + bb9f158 csoler Tue, 16 Aug 2016 10:05:38 +0200 Merge pull request #473 from PhenomRetroShare/Fix_RsCertificate_toStdString + 81cd2e9 thunder2 Tue, 16 Aug 2016 09:09:19 +0200 Fixed MSYS2 compile (use correct bracket in pro file) + accd3ca Phenom Mon, 15 Aug 2016 19:05:00 +0200 Fix RsTextBrowser::loadRessource on Windows. + dd2e4c3 Phenom Mon, 15 Aug 2016 12:11:56 +0200 Change Image Blocked Icon On RSTextBrowser + 38a9e10 Phenom Mon, 15 Aug 2016 14:19:29 +0200 Fix RsCertificate::toStdString by fixing PGPKeyParser::read_125Size. + df44f50 Phenom Mon, 15 Aug 2016 19:53:43 +0200 Add Banned Filter in IdDialog. + b8158a4 Thunder Mon, 15 Aug 2016 19:54:52 +0200 Merge pull request #474 from PhenomRetroShare/Fix_MSys2WindowsCompilation + 3200ea5 Phenom Mon, 15 Aug 2016 16:16:46 +0200 Fix MSys2 Windows Compilation after #f1847a9 commit. + 3640e32 thunder2 Mon, 15 Aug 2016 11:49:36 +0200 Updated build of external libraries for Windows compile + f1847a9 thunder2 Sun, 14 Aug 2016 14:11:01 +0200 Changed check for MSYS2 environment for Windows compile + b0b4320 defnax Sat, 13 Aug 2016 16:20:58 +0200 decrease chat bar widget icon size + c01f5a3 defnax Sat, 13 Aug 2016 13:16:35 +0200 Merge pull request #468 from PhenomRetroShare/Add_ChatLoadEmbeddedImagesOption + fcad9d9 Phenom Sat, 13 Aug 2016 10:42:42 +0200 Fix RSTextBrowser::loadResource if image comes from stylesheet. + f71aad4 Phenom Tue, 9 Aug 2016 23:32:25 +0200 Add Chat Load Embedded Images Option like forum and message. + 0e1c0c2 defnax Fri, 12 Aug 2016 22:19:44 +0200 Added search filter for participants list. + ab82c4a csoler Fri, 12 Aug 2016 15:24:40 +0200 added missing return in PGPKeyUtil, causing corruption of keys in some--possible rare--situations + 81d42f0 thunder2 Fri, 12 Aug 2016 14:14:09 +0200 Fixed MSYS2AUTOMAKE path in msys2_build_libs/Makefile + f3b8843 thunder2 Fri, 12 Aug 2016 10:03:47 +0200 Fixed QMAKE_PRE_LINK for Windows compile without MSYS2 + 1fe7dce defnax Wed, 10 Aug 2016 00:22:23 +0200 Set icons for the voting combo box + d1645e9 defnax Tue, 9 Aug 2016 19:38:56 +0200 moved auto-ban checkbox to a better position + aaf13eb csoler Tue, 9 Aug 2016 10:47:08 +0200 Merge pull request #466 from PhenomRetroShare/Fix_RsCollEditorCountUpdateWhenRemove + 32db280 csoler Tue, 9 Aug 2016 10:35:01 +0200 Merge pull request #459 from PhenomRetroShare/Add_CreateNewGXSIDInGenCertDialog + 275c47e Phenom Tue, 9 Aug 2016 01:22:14 +0200 Add Title when ask for password. + 6edd7bb Phenom Sat, 6 Aug 2016 17:15:56 +0200 Add possibility to create GXSId directly on GenCertDialog. + 6db747a csoler Mon, 8 Aug 2016 22:19:38 +0200 Merge pull request #467 from PhenomRetroShare/Fix_NATStatusLED + c2c8893 csoler Mon, 8 Aug 2016 22:18:32 +0200 Merge pull request #462 from PhenomRetroShare/Add_CaseSensitiveOptionForLobbyNotify + 0b1f08a csoler Mon, 8 Aug 2016 22:12:55 +0200 Merge pull request #461 from PhenomRetroShare/Add_CommentNumberOnButton + 723d96b csoler Mon, 8 Aug 2016 22:11:10 +0200 Merge pull request #460 from PhenomRetroShare/Fix_LobbyNotifyIcon + 9c601dc csoler Mon, 8 Aug 2016 22:10:01 +0200 Merge pull request #463 from PhenomRetroShare/Fix_ImageBlockOnRsTextBrowser + d59f7a0 Phenom Mon, 8 Aug 2016 21:59:12 +0200 Fix NAT Status LED + ee368ef Phenom Mon, 8 Aug 2016 20:45:35 +0200 Fix RsCollection Editor Count Update When Removing items. + c0c7ede csoler Mon, 8 Aug 2016 20:14:05 +0200 Merge pull request #464 from G10h4ck/libresapilocal + 600e2d6 csoler Mon, 8 Aug 2016 20:11:21 +0200 Merge pull request #465 from PhenomRetroShare/Fix_RsGxsNetService_handleRecvPublishKeys_grpMeta_NULL + 72d7435 Phenom Mon, 8 Aug 2016 19:05:42 +0200 Fix RsGxsNetService::handleRecvPublishKeys when grpMeta is NULL + 183ac22 Gio Mon, 8 Aug 2016 14:02:01 +0200 ApiServerLocal run on it's own thread to avoid stopping UI ApiLocalConnectionHandler can now handle both buffered (QLocalSocket based) and unbuffered (like ncat or simple scripts) clients + 88407e6 Phenom Sun, 7 Aug 2016 19:41:44 +0200 Fix Image Block on RSTextBrowser. + d048270 Phenom Sun, 7 Aug 2016 19:00:23 +0200 Add Case Sensitive option for Lobby Notify. + ea6bbac Phenom Sun, 7 Aug 2016 14:40:04 +0200 Add Comment Number On Button. + dea776a defnax Sat, 6 Aug 2016 18:35:07 +0200 Moved font menu to Settings menu + 776e404 Phenom Sat, 6 Aug 2016 17:52:12 +0200 Fix Lobby Notify Icon. + 9f14103 csoler Sat, 6 Aug 2016 15:47:23 +0200 Merge pull request #458 from PhenomRetroShare/Fix_QMessageBoxAddWidget + 329a7e7 csoler Sat, 6 Aug 2016 15:46:01 +0200 Merge pull request #456 from PhenomRetroShare/Fix_ForumItemSortOnLastView + 21bd8cd Phenom Sat, 6 Aug 2016 13:49:39 +0200 Fix QMessageBox layout addWidget. + beab81e Phenom Sat, 6 Aug 2016 11:57:20 +0200 Fix Forum Item sort on LastPost View. + f3d1a6c defnax Fri, 5 Aug 2016 19:13:59 +0200 Added missed notify icon + ac73fd9 defnax Fri, 5 Aug 2016 01:01:56 +0200 Merge branch 'master' of https://github.com/RetroShare/RetroShare + e2bb477 defnax Fri, 5 Aug 2016 01:00:53 +0200 Added new blue icon set for Chat Widget (icons by Beluga) svg ad png Format + 96e73b3 csoler Thu, 4 Aug 2016 22:38:59 +0200 Merge pull request #454 from csoler/v0.6-ContactList + cd433e8 csoler Thu, 4 Aug 2016 22:33:45 +0200 fixed bug causing uninitialised memory read in reputation changing + 5a55de5 csoler Thu, 4 Aug 2016 22:01:11 +0200 added missing DontUseNativeDialog flag in misc.cpp + 46d4863 defnax Thu, 4 Aug 2016 19:50:00 +0200 Merge branch 'master' of https://github.com/RetroShare/RetroShare + e2d29f6 defnax Thu, 4 Aug 2016 19:46:20 +0200 update icons + 3993fbf csoler Thu, 4 Aug 2016 16:10:00 +0200 fixed auto-positive opinions for contacts + c757630 csoler Thu, 4 Aug 2016 13:12:55 +0200 added callback in RsGenExchange subclasses to autorise new groups, to be used by p3GxsIdentity + 7545ad4 csoler Thu, 4 Aug 2016 11:43:35 +0200 simplied/improved reputation system. Now ids can be banned based on their owner node using a single checkbox in the Person tab, with immediate effect + 70228ee csoler Thu, 4 Aug 2016 11:02:12 +0200 fixed missign return, probably causing crashes + 48b2e05 csoler Wed, 3 Aug 2016 19:56:49 +0200 Merge pull request #453 from G10h4ck/libresapilocal + c4ef4d7 csoler Tue, 2 Aug 2016 23:57:11 +0200 saved owner node ID in GXS reputation item + 353308e Gio Wed, 3 Aug 2016 14:35:45 +0200 ApiLocalConnectionHandler class quit() at the end outside if + 60cf299 csoler Wed, 3 Aug 2016 08:46:15 +0200 Merge pull request #436 from G10h4ck/libresapilocal + e4e29c5 Gio Wed, 3 Aug 2 016 00:50:49 +0200 quit ApiLocalConnectionHandler after replying API query + 17003f1 csoler Tue, 2 Aug 2016 16:25:00 +0200 modified wrong comment in why mLastPost should not be used in rsgxsnetservice.cc, and added a call to clearing GrpMeta cache when new msg in that group are received + 3cd90ae csoler Mon, 1 Aug 2016 16:35:19 +0200 re-disabled the code to update the server TS to last post as it can severely perturbate the distribution of posts. Added a call to update msgServerUpdateMap when new messages received + d6be440 csoler Mon, 1 Aug 2016 15:38:51 +0200 re-enabled some code previously disabled in last commit + b1288bc csoler Mon, 1 Aug 2016 14:43:17 +0200 added missing time stamp of msgServerUpdateMap when posting a new message + 5fac5a8 csoler Sun, 31 Jul 2016 22:14:23 +0200 moved all getOpenFilename to use misc::getOpenFilename + c643d1e csoler Sun, 31 Jul 2016 22:07:43 +0200 Merge pull request #451 from PhenomRetroShare/Fix_ImportExportCertASC + d000d75 Phenom Sun, 31 Jul 2016 21:03:45 +0200 Fix Import and Export Cert file *.asc. + edce1e9 csoler Sun, 31 Jul 2016 17:47:50 +0200 Merge pull request #449 from PhenomRetroShare/Add_RemoveDuplicateCBInRSCollEditor + 6e25a30 csoler Sun, 31 Jul 2016 17:21:12 +0200 Merge pull request #450 from PhenomRetroShare/Fix_QFileDialogDontUseNativeDialog + 6935441 Phenom Sun, 31 Jul 2016 16:23:41 +0200 Fix other QFileDialog call in misc adding DontUseNativeDialog option. + 0317904 Phenom Sun, 31 Jul 2016 16:08:15 +0200 Add Remove Duplicate checkbox in RsCollection editor. + 64b5609 csoler Sun, 31 Jul 2016 11:52:23 +0200 Merge pull request #448 from PhenomRetroShare/Fix_IdDialogContextMenuShownAtStartUp + 998fede Phenom Sun, 31 Jul 2016 11:15:47 +0200 Fix IdDialog ContextMenu shown at startup. + 3721055 csoler Sat, 30 Jul 2016 21:15:08 +0200 Merge pull request #447 from PhenomRetroShare/Fix_IdChooserInSignedLobby + bef7db4 Phenom Sat, 30 Jul 2016 19:14:59 +0200 Fix IdChooser in Signed Lobby. + 2921d9e csoler Sat, 30 Jul 2016 15:26:27 +0200 Merge pull request #445 from PhenomRetroShare/Add_MergeDisplayMenuToHeaderContextMenu + 2126234 csoler Sat, 30 Jul 2016 15:25:30 +0200 Merge pull request #446 from PhenomRetroShare/Fix_FriendListSortGPGItem + 46e4b3b Phenom Sat, 30 Jul 2016 13:58:02 +0200 Fix FriendList sorting when expand PGPItem sorted by LastContact or IP + ae9ab64 Phenom Sat, 30 Jul 2016 13:27:23 +0200 Move Display button's menu to Header context menu on FriendList. + d62f8a4 defnax Fri, 29 Jul 2016 23:21:46 +0200 Fixed stylesheet + 032bcf7 defnax Fri, 29 Jul 2016 23:14:46 +0200 Fixed Stylesheets + b1dcd2f csoler Fri, 29 Jul 2016 22:02:57 +0200 Merge pull request #444 from PhenomRetroShare/Add_MergeFilterIdFilterToHeaderContextMenu + 1707c07 csoler Fri, 29 Jul 2016 21:58:31 +0200 added DontUseNativeDialog as default flag in file dialog in order to avoid some crashed when not using it + d3beccf Phenom Fri, 29 Jul 2016 20:54:26 +0200 Merge Filter ComboBox to Header Context Menu in IdDialog. + 431dd68 defnax Fri, 29 Jul 2016 17:29:54 +0200 Temporary solution for the Filter Combobox it takes to much space, no space more for search filter,moved under the ToolBar. + 7c2e2bd Gio Thu, 28 Jul 2016 17:24:17 +0200 take in account that QLocalSocket is of type STREAM so it doesn't emit readyRead event for each write() on the other side + fe7de83 Gio Thu, 28 Jul 2016 14:08:49 +0200 WebUI is now optional but enabled by default at compile time + c73be93 csoler Tue, 26 Jul 2016 16:06:03 +0200 removed anti-spam message that has become irrelevant + da8a520 csoler Mon, 25 Jul 2016 16:07:53 -0400 Merge pull request #442 from csoler/v0.6-ContactList + ed05ec7 csoler Mon, 25 Jul 2016 16:06:28 -0400 fixed text in People tab + f5e55e8 csoler Mon, 25 Jul 2016 16:04:30 -0400 fixed a few bugs in the People tab + 2189771 csoler Mon, 25 Jul 2016 15:45:49 -0400 added two new options to people page for handlign reputations: change the ban limit from friend opinions, and allow to auto-set positive opinions to contacts + efd503e csoler Mon, 25 Jul 2016 14:56:55 -0400 removed the possibility of GXS groups to keep track of post origin before release, as it is too intrusive as compared to the benefits + 35c01e5 csoler Fri, 22 Jul 2016 21:10:54 -0400 updated translation files + 1a4d400 csoler Fri, 22 Jul 2016 20:40:42 -0400 updated changlog + e5d9bd5 csoler Fri, 22 Jul 2016 20:39:55 -0400 Merge pull request #441 from PhenomRetroShare/Fix_PostedFeedItemWithComments + 7c7da7e Phenom Sat, 23 Jul 2016 01:48:23 +0200 Fix Posted Feed Item when received comment. + + -- Cyril Soler Wed, 18 Aug 2016 16:00:00 +0100 + +retroshare06 (0.6.0-1.20160722~daf54dff) precise; urgency=low + daf54df csoler Fri, 22 Jul 2016 17:49:07 -0400 fixed missing RsGxsGrpMeta cache update when updating grp meta, which caused unstable group flags/name/perms update 95edc5b csoler Fri, 22 Jul 2016 10:06:24 -0400 fixed variable name problem in ServerPage (with no consequences) 713deac csoler Sat, 16 Jul 2016 18:39:36 -0400 time-stamping newly received GXS ids From 613ce25209e0add729612772b04f763b36e1fc70 Mon Sep 17 00:00:00 2001 From: dimqua Date: Fri, 19 Aug 2016 09:47:52 +0400 Subject: [PATCH 136/158] Change I2P proxy default port to 4447 --- libretroshare/src/pqi/p3peermgr.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libretroshare/src/pqi/p3peermgr.cc b/libretroshare/src/pqi/p3peermgr.cc index a2c21284c..f37f80b55 100644 --- a/libretroshare/src/pqi/p3peermgr.cc +++ b/libretroshare/src/pqi/p3peermgr.cc @@ -75,7 +75,7 @@ static struct RsLog::logInfo p3peermgrzoneInfo = {RsLog::Default, "p3peermgr"}; static const std::string kConfigDefaultProxyServerIpAddr = "127.0.0.1"; static const uint16_t kConfigDefaultProxyServerPortTor = 9050; // standard port. -static const uint16_t kConfigDefaultProxyServerPortI2P = 10; // there is no standard port though +static const uint16_t kConfigDefaultProxyServerPortI2P = 4447; // I2Pd's standard port static const std::string kConfigKeyExtIpFinder = "USE_EXTR_IP_FINDER"; static const std::string kConfigKeyProxyServerIpAddrTor = "PROXY_SERVER_IPADDR"; From a6acff491f8a5bc5d2703ae27917719825d08b14 Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 18 Aug 2016 18:39:03 +0200 Subject: [PATCH 137/158] improved ppa upload script --- build_scripts/Debian+Ubuntu/ppa_upload.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/build_scripts/Debian+Ubuntu/ppa_upload.sh b/build_scripts/Debian+Ubuntu/ppa_upload.sh index e6897618a..1e5d0aeb3 100644 --- a/build_scripts/Debian+Ubuntu/ppa_upload.sh +++ b/build_scripts/Debian+Ubuntu/ppa_upload.sh @@ -1,2 +1,4 @@ #!/bin/sh -Apply dput ppa:retroshare/unstable retroshare06_0.6.0-1.#.changes +for i in `ls retroshare06_0.6.0-1.*.changes` ; do + dput ppa:retroshare/unstable $i +done From 5d69ae886a32528e1de60f41189407cc404da78e Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 22 Aug 2016 22:25:05 +0200 Subject: [PATCH 138/158] reduced period for slow saving of GRouter config data, and removed useless saving of BanList config when received data fro friends does not modify the existing data --- libretroshare/src/grouter/groutertypes.h | 2 +- libretroshare/src/services/p3banlist.cc | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libretroshare/src/grouter/groutertypes.h b/libretroshare/src/grouter/groutertypes.h index 2bb34e635..91eb1608b 100644 --- a/libretroshare/src/grouter/groutertypes.h +++ b/libretroshare/src/grouter/groutertypes.h @@ -39,7 +39,7 @@ static const uint16_t GROUTER_CLIENT_ID_MESSAGES = 0x1001 ; static const uint32_t RS_GROUTER_MATRIX_MAX_HIT_ENTRIES = 10 ; // max number of clues to store static const uint32_t RS_GROUTER_MATRIX_MIN_TIME_BETWEEN_HITS = 60 ; // can be set to up to half the publish time interval. Prevents flooding routes. -static const uint32_t RS_GROUTER_MIN_CONFIG_SAVE_PERIOD = 10 ; // at most save config every 10 seconds +static const uint32_t RS_GROUTER_MIN_CONFIG_SAVE_PERIOD = 61 ; // at most save config every 10 seconds static const uint32_t RS_GROUTER_MAX_KEEP_TRACKING_CLUES = 86400*10 ; // max time for which we keep record of tracking info: 10 days. static const float RS_GROUTER_BASE_WEIGHT_ROUTED_MSG = 1.0f ; // base contribution of routed message clue to routing matrix diff --git a/libretroshare/src/services/p3banlist.cc b/libretroshare/src/services/p3banlist.cc index 2de7b5cbc..9595510bd 100644 --- a/libretroshare/src/services/p3banlist.cc +++ b/libretroshare/src/services/p3banlist.cc @@ -206,6 +206,8 @@ void p3BanList::autoFigureOutBanRanges() { RS_STACK_MUTEX(mBanMtx) ; + bool changed = false ; + // clear automatic ban ranges for(std::map::iterator it(mBanRanges.begin());it!=mBanRanges.end();) @@ -215,6 +217,8 @@ void p3BanList::autoFigureOutBanRanges() ++it2 ; mBanRanges.erase(it) ; it=it2 ; + + changed = true ; } else ++it; @@ -968,7 +972,9 @@ bool p3BanList::addBanEntry(const RsPeerId &peerId, const struct sockaddr_storag updated = true; } } - IndicateConfigChanged(); + + if(updated) + IndicateConfigChanged(); return updated; } From 7dd78f28d8984705f444ff0fa548a26b3f1f1f93 Mon Sep 17 00:00:00 2001 From: Phenom Date: Mon, 22 Aug 2016 23:08:02 +0200 Subject: [PATCH 139/158] Fix Lobby Load embedded image option. --- retroshare-gui/src/gui/chat/ChatWidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/chat/ChatWidget.cpp b/retroshare-gui/src/gui/chat/ChatWidget.cpp index 2ff3c7436..725fcb11b 100644 --- a/retroshare-gui/src/gui/chat/ChatWidget.cpp +++ b/retroshare-gui/src/gui/chat/ChatWidget.cpp @@ -196,8 +196,8 @@ ChatWidget::ChatWidget(QWidget *parent) : ui->actionSendAsPlainText->setChecked(Settings->getChatSendAsPlainTextByDef()); - ui->textBrowser->resetImagesStatus(Settings->getChatLoadEmbeddedImages()); ui->textBrowser->setImageBlockWidget(ui->imageBlockWidget); + ui->textBrowser->resetImagesStatus(Settings->getChatLoadEmbeddedImages());//Need to be called after setImageBlockWidget ui->imageBlockWidget->setAutoHide(true); ui->textBrowser->installEventFilter(this); ui->textBrowser->viewport()->installEventFilter(this); From 5e22ddc93ed2d6de757ef558a863802958fce4f7 Mon Sep 17 00:00:00 2001 From: defnax Date: Wed, 24 Aug 2016 03:28:57 +0200 Subject: [PATCH 140/158] updating icons more flat replacement improving people page layout --- retroshare-gui/src/gui/ChatLobbyWidget.ui | 4 +- retroshare-gui/src/gui/Identity/IdDialog.cpp | 7 +- retroshare-gui/src/gui/Identity/IdDialog.ui | 384 ++++++++---------- .../src/gui/Posted/PostedDialog.cpp | 2 +- .../src/gui/Posted/PostedGroupDialog.cpp | 2 +- .../src/gui/chat/CreateLobbyDialog.cpp | 2 +- .../src/gui/common/GroupTreeWidget.ui | 26 +- .../src/gui/gxschannels/GxsChannelDialog.cpp | 2 +- .../gui/gxschannels/GxsChannelGroupDialog.cpp | 6 +- .../src/gui/gxsforums/GxsForumGroupDialog.cpp | 2 +- .../src/gui/gxsforums/GxsForumsDialog.cpp | 2 +- retroshare-gui/src/gui/icons.qrc | 4 + retroshare-gui/src/gui/icons/png/add.png | Bin 0 -> 3457 bytes .../src/gui/icons/png/thumbs-down.png | Bin 0 -> 4297 bytes .../src/gui/icons/png/thumbs-neutral.png | Bin 0 -> 4170 bytes .../src/gui/icons/png/thumbs-up.png | Bin 0 -> 3908 bytes retroshare-gui/src/gui/icons/svg/add.svg | 54 +++ .../src/gui/icons/svg/thumbs-down.svg | 59 +++ .../src/gui/icons/svg/thumbs-neutral.svg | 59 +++ .../src/gui/icons/svg/thumbs-up.svg | 59 +++ 20 files changed, 445 insertions(+), 229 deletions(-) create mode 100644 retroshare-gui/src/gui/icons/png/add.png create mode 100644 retroshare-gui/src/gui/icons/png/thumbs-down.png create mode 100644 retroshare-gui/src/gui/icons/png/thumbs-neutral.png create mode 100644 retroshare-gui/src/gui/icons/png/thumbs-up.png create mode 100644 retroshare-gui/src/gui/icons/svg/add.svg create mode 100644 retroshare-gui/src/gui/icons/svg/thumbs-down.svg create mode 100644 retroshare-gui/src/gui/icons/svg/thumbs-neutral.svg create mode 100644 retroshare-gui/src/gui/icons/svg/thumbs-up.svg diff --git a/retroshare-gui/src/gui/ChatLobbyWidget.ui b/retroshare-gui/src/gui/ChatLobbyWidget.ui index a7c810475..eb3817345 100644 --- a/retroshare-gui/src/gui/ChatLobbyWidget.ui +++ b/retroshare-gui/src/gui/ChatLobbyWidget.ui @@ -162,8 +162,8 @@ - - :/images/add_chat24.png:/images/add_chat24.png + + :/icons/png/add.png:/icons/png/add.png diff --git a/retroshare-gui/src/gui/Identity/IdDialog.cpp b/retroshare-gui/src/gui/Identity/IdDialog.cpp index 1ab3a6a38..2abb15768 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDialog.cpp @@ -1707,6 +1707,7 @@ void IdDialog::insertIdDetails(uint32_t token) ui->lineEdit_GpgId->setText(QString::fromStdString(data.mPgpId.toStdString()) + tr(" [unverified]")); ui->autoBanIdentities_CB->setVisible(!data.mPgpId.isNull()) ; + ui->banoption_label->setVisible(!data.mPgpId.isNull()) ; time_t now = time(NULL) ; ui->lineEdit_LastUsed->setText(getHumanReadableDuration(now - data.mLastUsageTS)) ; @@ -2206,13 +2207,13 @@ void IdDialog::IdListCustomPopupMenu( QPoint ) contextMenu->addSeparator(); if(n_positive_reputations == 0) // only unban when all items are banned - contextMenu->addAction(QIcon(":/images/vote_up.png"), tr("Set positive opinion"), this, SLOT(positivePerson())); + contextMenu->addAction(QIcon(":/icons/png/thumbs-up.png"), tr("Set positive opinion"), this, SLOT(positivePerson())); if(n_neutral_reputations == 0) // only unban when all items are banned - contextMenu->addAction(QIcon(":/images/vote_neutral.png"), tr("Set neutral opinion"), this, SLOT(neutralPerson())); + contextMenu->addAction(QIcon(":/icons/png/thumbs-neutral.png"), tr("Set neutral opinion"), this, SLOT(neutralPerson())); if(n_negative_reputations == 0) - contextMenu->addAction(QIcon(":/images/vote_down.png"), tr("Set negative opinion"), this, SLOT(negativePerson())); + contextMenu->addAction(QIcon(":/icons/png/thumbs-down.png"), tr("Set negative opinion"), this, SLOT(negativePerson())); } if(one_item_owned_by_you && n_selected_items==1) diff --git a/retroshare-gui/src/gui/Identity/IdDialog.ui b/retroshare-gui/src/gui/Identity/IdDialog.ui index bfcfd95ef..e38c454bb 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.ui +++ b/retroshare-gui/src/gui/Identity/IdDialog.ui @@ -7,7 +7,7 @@ 0 0 800 - 590 + 600 @@ -350,115 +350,25 @@ Identity info - + - - - 6 + + + Identity name : - - 6 - - - 6 - - - 6 - - - 6 - - - - - Identity ID : - - - - - - - Identity name : - - - - - - - Owner node ID : - - - - - - - true - - - true - - - - - - - true - - - true - - - - - - - true - - - true - - - - - - - Owner node name : - - - - - - - true - - - true - - - - - - - Type: - - - - - - - - - - Last used: - - - - - - - + + + + true + + + true + + + + @@ -499,81 +409,31 @@ + + + 128 + 16777215 + + Send Invite - - - Qt::Vertical + + + + 0 + 0 + - + - 20 - 2 + 128 + 16777215 - - - - - - - - - - - - 0 - 0 - - - - Reputation - - - - - - 6 - - - 6 - - - 6 - - - 6 - - - - - <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - - - true - - - - - - - Your opinion: - - - - - - - Neighbor nodes: - - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> @@ -598,8 +458,8 @@ p, li { white-space: pre-wrap; } Negative - - :/images/vote_down.png:/images/vote_down.png + + :/icons/png/thumbs-down.png:/icons/png/thumbs-down.png @@ -607,8 +467,8 @@ p, li { white-space: pre-wrap; } Neutral - - :/images/vote_neutral.png:/images/vote_neutral.png + + :/icons/png/thumbs-neutral.png:/icons/png/thumbs-neutral.png @@ -616,57 +476,159 @@ p, li { white-space: pre-wrap; } Positive - - :/images/vote_up.png:/images/vote_up.png + + :/icons/png/thumbs-up.png:/icons/png/thumbs-up.png - - - - <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> - - - true - - - - - - - - 75 - true - - - - Overall: - - - - - - - Auto-Ban all identities from this node - - - - - + + Qt::Vertical - 128 - 40 + 20 + 2 + + + + Identity ID : + + + + + + + true + + + true + + + + + + + Type: + + + + + + + + + + Owner node ID : + + + + + + + true + + + true + + + + + + + Owner node name : + + + + + + + true + + + true + + + + + + + Last used: + + + + + + + + + + Qt::Horizontal + + + + + + + Ban-option: + + + + + + + Auto-Ban all identities from this node + + + + + + + Neighbor nodes: + + + + + + + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> + + + true + + + + + + + + 75 + true + + + + Overall: + + + + + + + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> + + + true + + + diff --git a/retroshare-gui/src/gui/Posted/PostedDialog.cpp b/retroshare-gui/src/gui/Posted/PostedDialog.cpp index 19feaff06..d69977fd4 100644 --- a/retroshare-gui/src/gui/Posted/PostedDialog.cpp +++ b/retroshare-gui/src/gui/Posted/PostedDialog.cpp @@ -103,7 +103,7 @@ QString PostedDialog::icon(IconType type) case ICON_NAME: return ":/icons/png/posted.png"; case ICON_NEW: - return ":/images/posted_add_24.png"; + return ":/icons/png/add.png"; case ICON_YOUR_GROUP: return ":/images/folder16.png"; case ICON_SUBSCRIBED_GROUP: diff --git a/retroshare-gui/src/gui/Posted/PostedGroupDialog.cpp b/retroshare-gui/src/gui/Posted/PostedGroupDialog.cpp index 6c1b7b006..09b7cbbc6 100644 --- a/retroshare-gui/src/gui/Posted/PostedGroupDialog.cpp +++ b/retroshare-gui/src/gui/Posted/PostedGroupDialog.cpp @@ -90,7 +90,7 @@ void PostedGroupDialog::initUi() QPixmap PostedGroupDialog::serviceImage() { - return QPixmap(":/images/posted_add_64.png"); + return QPixmap(":/icons/png/forums.png"); } bool PostedGroupDialog::service_CreateGroup(uint32_t &token, const RsGroupMetaData &meta) diff --git a/retroshare-gui/src/gui/chat/CreateLobbyDialog.cpp b/retroshare-gui/src/gui/chat/CreateLobbyDialog.cpp index 5aa7fb726..9a59b2913 100644 --- a/retroshare-gui/src/gui/chat/CreateLobbyDialog.cpp +++ b/retroshare-gui/src/gui/chat/CreateLobbyDialog.cpp @@ -39,7 +39,7 @@ CreateLobbyDialog::CreateLobbyDialog(const std::set& peer_list, int pr ui = new Ui::CreateLobbyDialog() ; ui->setupUi(this); - ui->headerFrame->setHeaderImage(QPixmap(":/images/chat_64.png")); + ui->headerFrame->setHeaderImage(QPixmap(":/icons/png/chat-lobbies.png")); ui->headerFrame->setHeaderText(tr("Create Chat Lobby")); RsGxsId default_identity ; diff --git a/retroshare-gui/src/gui/common/GroupTreeWidget.ui b/retroshare-gui/src/gui/common/GroupTreeWidget.ui index 9b6739c72..c4d3948b1 100644 --- a/retroshare-gui/src/gui/common/GroupTreeWidget.ui +++ b/retroshare-gui/src/gui/common/GroupTreeWidget.ui @@ -14,7 +14,16 @@ 2 - + + 0 + + + 0 + + + 0 + + 0 @@ -32,7 +41,16 @@ QFrame::Sunken - + + 2 + + + 2 + + + 2 + + 2 @@ -52,8 +70,8 @@ - 32 - 16 + 24 + 24 diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelDialog.cpp b/retroshare-gui/src/gui/gxschannels/GxsChannelDialog.cpp index 6218a6524..cce28a407 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelDialog.cpp +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelDialog.cpp @@ -107,7 +107,7 @@ QString GxsChannelDialog::icon(IconType type) case ICON_NAME: return ":/icons/png/channels.png"; case ICON_NEW: - return ":/images/add_channel24.png"; + return ":/icons/png/add.png"; case ICON_YOUR_GROUP: return ":/images/folder16.png"; case ICON_SUBSCRIBED_GROUP: diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelGroupDialog.cpp b/retroshare-gui/src/gui/gxschannels/GxsChannelGroupDialog.cpp index 0568ba511..a9e224f36 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelGroupDialog.cpp +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelGroupDialog.cpp @@ -95,11 +95,11 @@ QPixmap GxsChannelGroupDialog::serviceImage() switch (mode()) { case MODE_CREATE: - return QPixmap(":/images/add_channel64.png"); + return QPixmap(":/icons/png/channels.png"); case MODE_SHOW: - return QPixmap(":/images/channels.png"); + return QPixmap(":/icons/png/channels.png"); case MODE_EDIT: - return QPixmap(":/images/channels.png"); + return QPixmap(":/icons/png/channels.png"); } return QPixmap(); diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumGroupDialog.cpp b/retroshare-gui/src/gui/gxsforums/GxsForumGroupDialog.cpp index 433f354c9..d16cbc848 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumGroupDialog.cpp +++ b/retroshare-gui/src/gui/gxsforums/GxsForumGroupDialog.cpp @@ -91,7 +91,7 @@ void GxsForumGroupDialog::initUi() QPixmap GxsForumGroupDialog::serviceImage() { - return QPixmap(":/images/konversation64.png"); + return QPixmap(":/icons/png/forums.png"); } bool GxsForumGroupDialog::service_CreateGroup(uint32_t &token, const RsGroupMetaData &meta) diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumsDialog.cpp b/retroshare-gui/src/gui/gxsforums/GxsForumsDialog.cpp index 8dbc5d544..61b0c59c1 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumsDialog.cpp +++ b/retroshare-gui/src/gui/gxsforums/GxsForumsDialog.cpp @@ -106,7 +106,7 @@ QString GxsForumsDialog::icon(IconType type) case ICON_NAME: return ":/icons/png/forums.png"; case ICON_NEW: - return ":/images/new_forum16.png"; + return ":/icons/png/add.png"; case ICON_YOUR_GROUP: return ":/images/folder16.png"; case ICON_SUBSCRIBED_GROUP: diff --git a/retroshare-gui/src/gui/icons.qrc b/retroshare-gui/src/gui/icons.qrc index 86e678aa9..fb16a31ed 100644 --- a/retroshare-gui/src/gui/icons.qrc +++ b/retroshare-gui/src/gui/icons.qrc @@ -108,5 +108,9 @@ icons/png/people-notify.png icons/png/posted-notify.png icons/png/filesharing-notify.png + icons/png/thumbs-up.png + icons/png/thumbs-down.png + icons/png/thumbs-neutral.png + icons/png/add.png diff --git a/retroshare-gui/src/gui/icons/png/add.png b/retroshare-gui/src/gui/icons/png/add.png new file mode 100644 index 0000000000000000000000000000000000000000..7fce53e0cb3593351e3344d7abee27ac2088fc52 GIT binary patch literal 3457 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 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/thumbs-neutral.png b/retroshare-gui/src/gui/icons/png/thumbs-neutral.png new file mode 100644 index 0000000000000000000000000000000000000000..c4778110d616e6fd834b9a43545b2f9bfb38198c GIT binary patch literal 4170 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 + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/thumbs-down.svg b/retroshare-gui/src/gui/icons/svg/thumbs-down.svg new file mode 100644 index 000000000..530f2b793 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/thumbs-down.svg @@ -0,0 +1,59 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/thumbs-neutral.svg b/retroshare-gui/src/gui/icons/svg/thumbs-neutral.svg new file mode 100644 index 000000000..96b7bfd72 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/thumbs-neutral.svg @@ -0,0 +1,59 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/thumbs-up.svg b/retroshare-gui/src/gui/icons/svg/thumbs-up.svg new file mode 100644 index 000000000..e10c5d71f --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/thumbs-up.svg @@ -0,0 +1,59 @@ + + + +image/svg+xml \ No newline at end of file From 5e5a8dcd9a2a3061311ec7d49ae1be8176548513 Mon Sep 17 00:00:00 2001 From: csoler Date: Wed, 24 Aug 2016 12:50:41 +0200 Subject: [PATCH 141/158] put back opinion combobox in the place where other reputation information already is. Removed absolute size on invite button which causes incorrect display on high DPI screens --- retroshare-gui/src/gui/Identity/IdDialog.ui | 184 ++++++++------------ 1 file changed, 76 insertions(+), 108 deletions(-) diff --git a/retroshare-gui/src/gui/Identity/IdDialog.ui b/retroshare-gui/src/gui/Identity/IdDialog.ui index e38c454bb..c133a8b11 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.ui +++ b/retroshare-gui/src/gui/Identity/IdDialog.ui @@ -6,8 +6,8 @@ 0 0 - 800 - 600 + 1269 + 911 @@ -20,16 +20,7 @@ - - 0 - - - 0 - - - 0 - - + 0 @@ -47,16 +38,7 @@ QFrame::Sunken - - 2 - - - 2 - - - 2 - - + 2 @@ -147,16 +129,7 @@ QFrame::Sunken - - 1 - - - 1 - - - 1 - - + 1 @@ -278,7 +251,7 @@ Reputation - AlignLeading|AlignVCenter + AlignLeft|AlignVCenter @@ -368,7 +341,7 @@ - + @@ -409,79 +382,11 @@ - - - 128 - 16777215 - - Send Invite - - - - - 0 - 0 - - - - - 128 - 16777215 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> -<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - - - 0 - - - - 20 - 20 - - - - - Negative - - - - :/icons/png/thumbs-down.png:/icons/png/thumbs-down.png - - - - - Neutral - - - - :/icons/png/thumbs-neutral.png:/icons/png/thumbs-neutral.png - - - - - Positive - - - - :/icons/png/thumbs-up.png:/icons/png/thumbs-up.png - - - - @@ -575,28 +480,28 @@ p, li { white-space: pre-wrap; } - + Ban-option: - + Auto-Ban all identities from this node - + Neighbor nodes: - + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> @@ -606,7 +511,7 @@ p, li { white-space: pre-wrap; } - + @@ -619,7 +524,7 @@ p, li { white-space: pre-wrap; } - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> @@ -629,6 +534,69 @@ p, li { white-space: pre-wrap; } + + + + + 0 + 0 + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the average of your friend's opinions. If not, your own opinion gives the score.</p> +<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -0.6, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a higher reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 30 days). </p> +<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> + + + 0 + + + + 20 + 20 + + + + + Negative + + + + :/icons/png/thumbs-down.png:/icons/png/thumbs-down.png + + + + + Neutral + + + + :/icons/png/thumbs-neutral.png:/icons/png/thumbs-neutral.png + + + + + Positive + + + + :/icons/png/thumbs-up.png:/icons/png/thumbs-up.png + + + + + + + + Your opinion: + + + From f58494f9e4aec298c0536931ab8f857a027dba89 Mon Sep 17 00:00:00 2001 From: defnax Date: Wed, 24 Aug 2016 13:46:31 +0200 Subject: [PATCH 142/158] fixed icon --- retroshare-gui/src/gui/Posted/PostedGroupDialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/Posted/PostedGroupDialog.cpp b/retroshare-gui/src/gui/Posted/PostedGroupDialog.cpp index 09b7cbbc6..1fb1e39f4 100644 --- a/retroshare-gui/src/gui/Posted/PostedGroupDialog.cpp +++ b/retroshare-gui/src/gui/Posted/PostedGroupDialog.cpp @@ -90,7 +90,7 @@ void PostedGroupDialog::initUi() QPixmap PostedGroupDialog::serviceImage() { - return QPixmap(":/icons/png/forums.png"); + return QPixmap(":/icons/png/posted.png"); } bool PostedGroupDialog::service_CreateGroup(uint32_t &token, const RsGroupMetaData &meta) From 0c36a18aa97302778e1e51c8b3f0afb38be5959c Mon Sep 17 00:00:00 2001 From: defnax Date: Wed, 24 Aug 2016 16:48:30 +0200 Subject: [PATCH 143/158] update icon --- .../gui/images/feedreader-notify.png | Bin 5461 -> 4988 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/plugins/FeedReader/gui/images/feedreader-notify.png b/plugins/FeedReader/gui/images/feedreader-notify.png index 3b14a86c5939ee93571e268b02045e5f1031e847..3d0446340c5163adfcdf54aa2c5f8fbaf9db48aa 100644 GIT binary patch delta 4924 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 delta 5401 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 DeK9Q5 From 7706f5f7c66456308b89a732b53a6761700b070c Mon Sep 17 00:00:00 2001 From: defnax Date: Wed, 24 Aug 2016 16:55:44 +0200 Subject: [PATCH 144/158] update notify icons now orange color --- retroshare-gui/src/gui/FriendsDialog.cpp | 2 +- retroshare-gui/src/gui/FriendsDialog.ui | 10 ++++++-- retroshare-gui/src/gui/icons.qrc | 1 + .../src/gui/icons/png/channels-notify.png | Bin 3619 -> 3332 bytes .../src/gui/icons/png/chat-bubble-notify.png | Bin 5280 -> 4997 bytes .../src/gui/icons/png/chat-lobbies-notify.png | Bin 5855 -> 5366 bytes .../src/gui/icons/png/feedreader-notify.png | Bin 5461 -> 4988 bytes .../src/gui/icons/png/filesharing-notify.png | Bin 4429 -> 4129 bytes .../src/gui/icons/png/forums-notify.png | Bin 4332 -> 4013 bytes .../src/gui/icons/png/messages-notify.png | Bin 4791 -> 4523 bytes .../src/gui/icons/png/network-notify.png | Bin 5673 -> 5602 bytes .../src/gui/icons/png/newsfeed-notify.png | Bin 3645 -> 3385 bytes .../src/gui/icons/png/people-notify.png | Bin 5401 -> 4915 bytes .../src/gui/icons/png/posted-notify.png | Bin 8953 -> 8731 bytes .../src/gui/icons/svg/channels-notify.svg | 10 ++++---- .../src/gui/icons/svg/chat-bubble-notify.svg | 23 ++++++++++-------- .../src/gui/icons/svg/chat-lobbies-notify.svg | 13 ++++++---- .../src/gui/icons/svg/feedreader-notify.svg | 11 +++++---- .../src/gui/icons/svg/filesharing-notify.svg | 13 +++++----- .../src/gui/icons/svg/forums-notify.svg | 11 +++++---- .../src/gui/icons/svg/messages-notify.svg | 11 +++++---- .../src/gui/icons/svg/network-notify.svg | 13 ++++++---- .../src/gui/icons/svg/newsfeed-notify.svg | 11 +++++---- .../src/gui/icons/svg/people-notify.svg | 13 ++++++---- .../src/gui/icons/svg/posted-notify.svg | 13 ++++++---- 25 files changed, 91 insertions(+), 64 deletions(-) diff --git a/retroshare-gui/src/gui/FriendsDialog.cpp b/retroshare-gui/src/gui/FriendsDialog.cpp index 9a5d3a3f0..7f7891514 100644 --- a/retroshare-gui/src/gui/FriendsDialog.cpp +++ b/retroshare-gui/src/gui/FriendsDialog.cpp @@ -51,7 +51,7 @@ /* Images for Newsfeed icons */ //#define IMAGE_NEWSFEED "" //#define IMAGE_NEWSFEED_NEW ":/images/message-state-new.png" -#define IMAGE_NETWORK2 ":/images/logo/logo_16.png" +#define IMAGE_NETWORK2 ":/icons/png/netgraph.png" #define IMAGE_PEERS ":/images/groupchat.png" #define IMAGE_IDENTITY ":/images/identity/identities_32.png" #define IMAGE_CIRCLES ":/images/circles/circles_32.png" diff --git a/retroshare-gui/src/gui/FriendsDialog.ui b/retroshare-gui/src/gui/FriendsDialog.ui index 68091706b..f935355d8 100644 --- a/retroshare-gui/src/gui/FriendsDialog.ui +++ b/retroshare-gui/src/gui/FriendsDialog.ui @@ -220,13 +220,19 @@ 0 + + + 20 + 20 + + true - - :/images/kblogger.png:/images/kblogger.png + + :/icons/png/chat-lobbies.png:/icons/png/chat-lobbies.png Broadcast diff --git a/retroshare-gui/src/gui/icons.qrc b/retroshare-gui/src/gui/icons.qrc index fb16a31ed..24b21616b 100644 --- a/retroshare-gui/src/gui/icons.qrc +++ b/retroshare-gui/src/gui/icons.qrc @@ -112,5 +112,6 @@ icons/png/thumbs-down.png icons/png/thumbs-neutral.png icons/png/add.png + icons/png/netgraph.png diff --git a/retroshare-gui/src/gui/icons/png/channels-notify.png b/retroshare-gui/src/gui/icons/png/channels-notify.png index 538bf865bc789a54badeca12cd5414dec79a5d3a..df46c8857561d9cbf8f156bb0a84553eb4ee396b 100644 GIT binary patch delta 3255 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 delta 3544 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 S2ruFQ0000 diff --git a/retroshare-gui/src/gui/icons/png/chat-bubble-notify.png b/retroshare-gui/src/gui/icons/png/chat-bubble-notify.png index ff83faab6339a6f774e4fbe664a462ef737af557..a9ada88c34a49b752a3b2b05bb278cb677fb7496 100644 GIT binary patch delta 4933 zcmV-L6T0l6DTODHZGRI2NkldvsLQy~jVlGm{sYnIs?(-iY-9)oSfh6tTtH z3epN%E6d)By|haL*wuA!d+oKo+TyG2s;x`yQWL0`KCDu-D7V&kr51TeyL_v=MbtuOWtwdxuwpL=x+Z>AgQy(-T?g09synIhOTplq<>kW_(w48*1Gy zOTy22ZHcE2peuqiQ0@mV@X`(sc>_!SO>PQr@yY;C96%pEB}gK64=T$5pBFY{5pm!b z6b!pvZmh0%TikUA(DKk+#C`;1qTAY8P9-8sWO4XKH$`1@09{pFOtZZL^g6dR2PnTK zp1(|PK7Sl_L(CNi(3ORsz_wNcQ{B)T1nflgdRZL(hiM_pw1AcezkzLSWhnDg;cQgi z)bijW(?Z5d09}s7nBY%2yhF6}HvYsM z`9{P3OhuS62hfU=i4cDYI5Sgm4$&>|5|7W8n;Z9LBC?D)fL06}1HRXRDVd0Gh(7s< zxP6J-Tz{~?5%s$ns1FyFfbT_yGT%+6;J04VRmJ_DBhfDh&{gE)v!BNMX;~*D=g^XP zT7OrO-=9d*b^u+DpXT5ihHCrXq0FKsxLVhwKcJR=3E*_{T$OhCAu@w9pW4tJ=>|`$ z5~wSJUq^W~T~SvMAB;E~hMx_g$q+i#`ByL!{DqKL0%C!P)8D2Ez=q~1G#rHRhfw`D z*tZ^z?rgoEwJ7iV=H}j~&+ut5;R+aY36x$8xuML&Yqvnn zyRhpSsQeSuzMGkNGs|J@_$Os)c??Aedznio%uf*3aR+ z$GomD*w}npmPR%v^Kep`sSk||;E(MDCiTm-bP)^A`Wk%l76^>@#Dt`Y?u9q+hWA&4 zcQe1=fyjAMMxRAea?QY;*ll=~`G3KQF!vd_^nvWpe1O0Nm{sA}9GKvh71JQ}&14?z zvjk|Z^>4@R*}LL{bH4@W-wOT$SEVyXyb-qj1pfX2sN1W`wE^4zaanq-vbU%DE&TKA-CCrmhIhM)ifv8Gn@o!>7R& ztDVl9!9;i$ym-9_eF*y5-qs}cSOVyBEL86`V^j}}{WM(l!r;q%aC#xFsXMpMcW9b+|doH~EV&cP-=%v{m3KkXH%R_Szecqf!$1!?3eDPWE<+&o4H6&v2 z$1lL4zqz9)Tq27jo4Q`^z622a-;Emt&UbOnnv*Z{!RgMP^Q4moZlH8q3Y<^^XnE*# zMBnS~UPkd3z`U2d@5}d^BX7a~%y#+=%wm(UPM2kMA02=3#1g>LC4acl-#_E0Lzxe7 z%6V|{kKItR@Y!W2UOWz6LoUh<#!Z=yFVEKEQeZ zF_ihe;me2fjh6x?91C66_Q&y`fGds47LJ88{>7-opx}%fVAvS58n)e@*T*@4&hGBn zjB)0T&XlepddKp^nT8u;BJFu?0q8G_CjlQbC+LHzL(RUVnSZ*-Ni%btr7H`@Lt6khBgNf!wxWMj?w4`C8pC%xdhtl0P-oLViP`ZH2Oh_ z=`<53&n;b!g>%e`83N;>_zYvw4_Zpja#~L2I9C<1C=H#4$#s4s%@!_$7lD!In-mCA zUOdSHHM`Dl_+-kK8F0~E5K7XQy$+uwM$)d6fK2v-7+t@lxkZ_MiD(u4VFolE>$q0=M>wzn zuHDr4@-eT&r-0@b8=jdX6D?q*QH@NGac{o0bKDp>XVXd3zqq)hDK+kZ&I0n;)^jXOYI4%C0}vPp?SN&N>e zk!N}mwK@)P#H2>9527CqIY6q^fA|XdIekCZKjer7RGO41$Q2rP{gvjL4^7GpDw>ae zK*R2hrn?KmM(gLkCEi)`vIJW)Q zXn&%~wA6q{6HU~;^;-(_T-cLatV#>pGG0Xw<_n32qtxwKZCYx;Q}_4BNi^0F%y+>7 zT3U8mEUnuG7#(#e$bmdR99e%Cc1yiUsR51M9Odx(JIVDsX=a#Oxw&z#)p{zm@lqgE zAjG2wseR*N(^3PLnk~N|QGb}C0#}Y?_GhX`# zgpJVV06u%O3zD1?5G;YlJ)5c7`iL8n1A>}29;R{c7A$en$ORNzH$kfdv>r!pe1GW4 zXTk77=LL_vdIzxs#s@pHp4fry9Demqz)2fde*LgRmPQZ3@jHYFuAB=nqEN{5gWb|V z)f3mA)b)Xua1~Wgd>M^5lIwTU#ubjs>kbF7Ems^s1V)FP7mY`&+4qMVPs$D=jmOyk z)Q!ZW)c}kRI+bL1#P!9t|8_V)UVq&N4EG1LF)UXo8Roog!ihfsm{v2v4iMChz+Z{j_5d)rf%ZgD!Y47Z4*!?(tjr|Q z_n%|WZ|1hQcr1Yl!z~vke1CLBe%bXj(Qf=tR^jp@xBMI!S1j!%f!!3Q>WMG2@2Q0( z8f)D&C8H!7YuNYHLaJ6TXkQ`a{PM+(!Je+zB;;3JFLr-sP(^SZFwe9_U5T|oRjp0@ zxL)F%;z^WV^$>-p&T`wFeo_C?s~r5}H)*Nc(|*lo!Gsboe))j%w0|s#oUlTtdk1(V zFbhk1JZ#V;EeXd7n&O?W7f!j1k)OMp{L<_`Wu*DY`&2*wZR&UZrPK91zfH!ZD>ftRzktI1~z}%%bGNWdzQc zgBwR2^@`f;U;A~!|9Gm?WvjK<)1~qKo>93{mV~>lRrh{&aCvYu!bN7RN{+Y?CMW<`Qd|^~jynie5J9tgXBC~qBnSF;x z_dtDa)+Nz?ud_(JK_xdfl>GZ zqp@=OzcI?8SATA!W|MOOmI#z)Lvi1k$D}N>u(t>Lc7TVArr@*R0kZ0N&qz!;*65TB zsS=zzpK;gyu3!3xUj8p?Ha`Hgc54?4fo%EJI~>EZ&yt(!t9yH>&yGl0R`(G?)}8Yf z%oiq<2&av-7#Wn5*3rcd?&ycIa`=_o+cO_vOi|WlK7Sy0_Lcbn$t7DX@eK z@o$dLnMg6BP>9=3iBR7JjV($`qWdr{wYx|(*5E5hZG$vTG;?5G8R4BB<0+*fA>_s! z{!|dQvOoMl-w&qHe$tA-Wgve}C5+c3Y>2feu{gvNPA5~`b{u2uSD#I(cTwYw?0f2K zMBjg|{eN0%NGKkbb;)64^Xcw7eYzv*u_!5vt_SW-+bj?8Sx}hgln$dq!uS$l@(7DD zMM7-(pH?^$-O zm_bwZPN1X0mvzNHfauE{h~AS*kdz$2nMsnk5q}ua^SAs~5?j}(&EY@)fU4hr<%E&E z?5pqraF|45kt`>r1s5q#N074mw^6>z0NfY#czn^_Jq|V7O<}5je?3Px-bdSO=J;UJ z2rFANKY{3Vva~VfDb{JtN0B9wb-;b;gv}Q6bCjm)w@N{S%<8Xip`NtdcxCE8^yp&$pw7JE2zCn@AD@XeC4+J5iE zosln_V~Bqq@Lne3bBnHX^G*pk-}~&&eBLGAGA|RE4;gX*04b~8L$2>4lnt4R(|>G4-`eKX|d#=V(}FypVQ50Xb-@OQwqnT|Wt#BDenQAPz_TbA7q zmo!=#AuFJEgH<+;G~rnLqUe*!Kr zo%!Hm(X5KFGW0D}?*+VA95oPVM&!HP6n@ZDk>3^9zs*`6ycnSz_=MZq*^O++W{E5f zZ|(cp463>*)`n9-4Bdd}eHcEvb^ve`m2XoP{;gZT`s4AmcCHTK@HAPl5&$K)=7ttR8)4jIE9dsLF-6o5}o>z>s!U5XQm4VM><2a zgKh)4i^Y+3UKID;kyQ@RhE{~8BlrAvf2UK&^7p|ExH`B7oc2C_O=|3qO8TT*HB!)-bCMh zrWp_pa6DQ;4g_X`TnWqp&hgl!9SF~p&=;tVzAnp2V%>7~FyI`ZE4s39Gzqx`;Zj5{ zK>0XOY)Gya;T@E%2pdS~#d2n3Sm50A`-|I!{ZY`E2%i65XYz|9`VF(Zs zj8g%!kewk3%!F(Zk}yeXCMi;3CKJXLDojW!8(Cmd703n&OHG9>lMn_7hJYcqF$8O~ zHrujgE!~nOb-#D!4_UHgOO{&d_qrwP`^VPnckl1?JE!lv`+pUd8LC+Ew%YZg?&*TA zQ>9kWb&3=LML;1Coh5k!=m!P_?N^mHG3-{PO-XH!)phR@!S(CA_<>~GfW?w%savC( zya41vM9vk}GZZ3TXbB9d$Tn5og6fk(=;>HvbB`BVezD{NK%YN5kSN;wMlsf9s(LAK zdX`PvCg{WJ@_$IQv-2t0NGi+rq{Wg509CA^*6K|tSE%rAl#*=QG$TSUuG}ZWJ(2qM z$3<|mZPHxibO0n;D$i8pdQ`4p{QbR@=tJ~gf$vA_JGW)qnAyn507x{~Y;xfXf?h_B z+L#8epbx3)ZL!9#$FptB(d5j-RYejlRqp|F6X;plwtvSXwyJV-tfAvU5j5MzK#l~! zU`x$AMfut?cKp$7HRw%|hR%nwZAexFV6bW3`H1^%fpfBHN45}n)-mqq3hTPIWYGry z+5hV5SU8x!8P)3nD;qZC5GjT44oAjrDlgwR+b%wg~D}+=1&|3!V zz?Caw>)T)UTF7`UFxXP{F;#hP#rbLRI*dL)*j#;$*Fv5JfGQ@@Qu7T_xdRA!rL&9) z3)~rRs@|;XT}kap#@bPpmq^MlQQqZ6{wE+0M1PI-L8)sS$#ljU4}gQs^@RaVK8Wz< zOy_+@`wD50M&v6nE^k%;cL{_FE}^eg4UvUFjrBD*&{+B0q7+yZ~}adbW9o37(1_eSZgb zLMBcEvcd3;f}rHi{^X~crG$haG`8?c`S`I^C#Y1{e9s2v@Odt5+V?L zAA#7_n9zo-n&OV`U~KSCQi%sav%e-pL~f1Nw|{Zo_s{pncvIy@#QY(hG#N*10TTlGJX$Pu75AMs`93S#`dS@bMw5M+4FK~G#n1?5M_&$5rB7a!)NrJ_n z2U%2SSN6~m#`?a+SpSc}|5fF~DPwIYu4`*M-c56s01Ds6XXlHF5iY-z;Hn#!uJZvT zOmNkWgv;+h%xqf{ct*bMI^Ue@rsI|XiPq{%)a8-P*)%sMcrxKNcVYs|Yu31%+|9_o zkNMw+pzg)TTa!3z380Emmw#Kmv1(?lyz|Mc_|39&K7a|VBd_AOSb699ENpE)?#Huz zkZ7*{06vcL*^x`gE5B>Ji*}hJrjWeyyRjp0^-omwym)KXtOItl*8zkZJuzqo?8s$= z%Wek=_$8S=BtW?AcI?QdzDcSpUz*jNnJy-psxDQLhrKiD2v+!P@_*L;8YJk4T<)Nw z9P0iDoYAfR$f>!YpmFz~kG?)*37{gM_ui!O_hPvGrzf8C0VG7Y{HK_JKiw;WJ7Xzu zObIa1T(#aHf1ByE%vzL3e#LJwp%Z%ou{*k*;qLc=W_-&3F;b2r>x)imZ<%`Wm=Zvc z>+qq!KeYO*C%p3kOn>NfLM8w1iV;_m zAR?Zx-47Oj4zbsIEwkhhyOKcB4L%6zG#^jC>$SBuoN%3eK!1T(+9ps#e%0eAMtgrD z=qN)S7on-NW_6`YUv#9Pd}7wnWC<|n>LxsNK0u)8Gb_$N9ugv0{8_J6iih$CH%|Ov zj{L{H%u7|V%Lzo^@1?}DAP~I*vDSF1p{`E)dTJfuk{RyJ7=hT8Ahwqh%Y(zy-aKZ~ z*9PEFOWiu4(SJKVYo*zj27!VP;q4R*Ic0cPWfdF_07p~jd#Hw$ckW8fKMlmL#0q=6 zccx=m=fU9sP{q>#u=C&IW%kPwJF>}J0d+5ci8_Fhv%S=^@;A6@NNWHUQ5wf)zT`!~8YY-&VWM zh!{`T`I+F#mO%@}>t`2qQl}c@@zyRTc#@adFKbM|+h^w*skara^-@Ia%+K&08{JP= z>m4KpcK{GA*g!??HH5cp#aTa#_rH|$>C?d&PX}iKEiu3ipPe2KfMG91#)fkC8vvn@FnD0rEoxSng@FTqAQbd^jjr|@L=Jc<5ex`}y(y6;UK*xbyjClS8AODAZ9gD6vd3$=CCAuE7d^Xwh%rK;4*{Uc7C0OLg3jx7iN#=B zP*@;1sX@_USo`szclMPk-U0;uORL%b&g3pN7K$U;^@tABrW#7RCsP{^#iF z$njI>d}M$79VGhyf-yo#u`k|NA^2xF8~}%pBj4$@s%1fO(RlIJ-Sl;a2R$F`$a#hb zx6$2n3o!m{eERioi#0a)z?2Q1qIhRMDvSRozV4xv5{_?Uw^zB*Bv1k z6jl}aQu#yBNnan?BS^%T01$!F)#G8F9P6QF`?V)z2a)TJ(z@-FB*%IHC@ZlLpUz`b z)ki1(KN$cKF;C)gf4~I!c|uX)xb#r}U)Z(vN?d2i59yr1b%to#dL=^xF9733zaKq+ zhv|!s7EMdR0l!S}9VaL2f%Re^gpLiFcSSeXpdjE*cPl^Gu|`=h#!2Kom)08%YW9v@ZdIfZrMn@ zZ~V*#V}!M9EWc{~6YPofmi=++h3R_*Z+Ll35MLYUd10Zd!osq~gCIGwhg~ncpMeAa z>!%r>GO+(KcD?Za$rg_>LgiY^`w1UMBiwQHX`_Dfynpf~`u6?LmA(mPJTPKLE8iJP1;$ zBS8?%t7hG4-z2u`Lch&f6ob7_(7y9u7#r!Fyk=Qh`sI&vf2^V7y+>c1IRJK5U4)UW zOyoo9-dz0>;N><|v*NnYbHHIRK7GJQ#HOV3O3G_*AedL34bzT;($n@sx|%kl zI{o3$axf zQdaYE3QOOD&wtgGV^NpZ9iOIe?*r2=8zYphHhzuo&x)vC7H#aDv8VUAPcGh6{S3kz zyfJHjq#W3Pz#*QPdH6UldK$&$ms3>s4#JV_Y)IMp+E?k>{iA8uqESO>iOE`#KZ){0 ztg+*w**?y>!=q6)eHV_r=qVJGY$Q_j_kTo+&L$A_bo(O!_O^b9?xrJW zAccZLX-QUU`7@(tQ>=0KA7}e`PAlUr)eoS&E3;NDoOr_JV4r(TC2=M~d9~!lP9vP( zKqyjAIKKfqR7N0Jim?{IF-q62o7va)0{}#XHKo}v?x&*2-31NpS0C@5IRl{owVHa% z(w#skV}F)qfW(l}Kj<<%oc_$BqO!MBf9B$L^y+%;YwX*7J23A2igJrcuKeo9=@+q2 ziPpCscY)!Y;aYT3dyAmo&YWGDAsP{?)>_o9vsqnYrL~UkP<+QCl$EYs|2gS=fbuev zYtBdDYjZjO@O^WmyBb3YGrAQxZPAu_NXmiXVSksQVP#}gNhW81O`LJjPV7K&TKTJ+ zr0wN@rf=_&LDMy*7KH`5Q|to>JQu0&I8TH*i^q9~ZM>;+BVzuLPMU1vI50Y@jEpI% zl#)z=bNJu-vwodc@1pCD(7Nqf2KGNTc`X;654fuGrkOf@W@6sf#~QmH7v$E3+vPu& z1%LVZ<5R85R$Ek-Thvt9l$Tiy5B_!D`HUWF<8RNtebV_N<0E-F=zLJVI$!5Q8UX+h z8HwEllG*Jrvp^^$^B!^@*#8KxZh0$*6614bCn|igXbw6bejjb<*qly+w7$joaIyQ3 z0!w=SmTfWj_ABbrwQDoYFMV`!zdmDfvVXQe!G0^H*Uaa=Kb5q@INH#;-F5jeOK@M* zsfgQ7D%n5dXHII6=D%LUzP9f%@ihYhp}I0>o$p}u1NkR+rhVq@g37Ui^&JnYa@#`E z<_h5u9Eu;iBywbE7q314-f5M+a7d`Gw0+pJWq~NS#OgYqSV+W&ygA3PEf^izHd)J`>imfbn}0d({3oM9y-EaU?ptRkBQLds&Gm%=l24GO2_y@p zYp=u5(DX`kI6UtBtPkTJ7kMd(ebK6hmPOB@&q#=`YG@g-aV}?kGU<}x=(%|%t1PN3 z?A&&~@`|OY%QNA8$WQYocyvY9qdiRv3xo=A5^M-D$uJZ|XoHG?3_F8MXAn5Phlyi>P&L7wE z2~}jMrRD}jZv_H==`JzG1o>j5zWqCk>D@~Q-y1!HyDHBUV}1yn;kR~9Bl@BX*A>=x zKIf~fpJEfJVuqS)u2Q47q23-{oAU_0;>s5y4efXN^{bysRyw;yaDStX?LQN-UZ<*e zWy6LXKvnfF!QL?bEV9#D%87ojq2{W$De`X$=Vsd$pV(?tzY=Ne%zDK*CjwxCc+i-toglU9>N<>+ic$uY0#P6W1P><}V|=ko0_aibLG^$bX;XB!QPXBp?yC!# ccc1J0KaUwP#0!P?=Kufz07*qoM6N<$g5J4g`2YX_ diff --git a/retroshare-gui/src/gui/icons/png/chat-lobbies-notify.png b/retroshare-gui/src/gui/icons/png/chat-lobbies-notify.png index c704f4da0f707923f8a86b8ce4855506710eefc0..ff416e811029b9cb551940e30c01dc0654149cbe 100644 GIT binary patch delta 5305 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 LNkvXXu0mjfo~LBW delta 5798 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 delta 5401 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 DeK9Q5 diff --git a/retroshare-gui/src/gui/icons/png/filesharing-notify.png b/retroshare-gui/src/gui/icons/png/filesharing-notify.png index f4986c807fcdb262ec7ea9fea17279fe6639f80a..b396ae65783670b85b8cfa52bc92cd9b6496ad28 100644 GIT binary patch delta 4058 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 M07*qoM6N<$g3QhFhyVZp delta 4361 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

#{Z>wh*mxQ2EfBf`(6F_0{2g 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 delta 4725 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 DA8q)r diff --git a/retroshare-gui/src/gui/icons/png/network-notify.png b/retroshare-gui/src/gui/icons/png/network-notify.png index f2d9b3d90d3ab85d839f8c34b930ff50982a816c..62574653406f94a763a4e3d01568d1a563156cad 100644 GIT binary patch delta 5542 zcmV;X6aelkiAxAo30(s6|mgv@L?5fTb;< z#ajJH+iA5Qsw5(6t1Y$d=nT{9$5ubJwo^wQI<{)t`9Mp>Cr)kUr6OY$QBkl!P)X!v zLT*A{_nb9<+$1C+H}{^KbM85be*c1d_t|?T`oDh?XL<7e`BRtLTcnA=ok% z;R29Jz*#_^PtDZ;+knjo8?p5TSy+9*r?#>}w-bOaBM0)&2blxR2F3?$(l&%=uyrl_ zt2fCK;sM*^ihph)fW)xgZzkf*L%9?f5VTE6IE=CyC^W% zxoUq+wj0m70CZ`=MTm1h$Vu65JLHria;+3sJ)6x&vnBw2sDFPNoaLZbWUI|?$|J;k zUnh$WR)1%sv8)I{SLB_AWBvy?BOC4Y0NzCOYf@bOmfsB-zZ=k{(W`OH7Cz~GH;hB& z6~b@i9PwJ1LIc>es%3F9Ohe=tF+=k0@XEqyCQ}kC7Yu zy3D7}>xw-WfG#WS2k|w)bg%3FSR<@MtxKh(;(v&@)q05D-)A_+S__QxvffW<;SDT% zwp@L*%&Q7L6M!x&JPG3e3!Ls%ojn1~I}sf)0X<1iN|NjqT2Vpu+I|#=(4`UAhHQK#f$p7J-r8DpL{var@o2~n2@@B{3xbu9cJgl zn12uc2C3(JyNNqfWl_zCT{X4K0?_~JS4hNJPw<{O!DIEs9=i~G?DdJi^bC-Sw~4%d zH>ULQR7Kw)H!@A;S5{`!P;+}-c~~E!Hx1FXd@|uf2Yr_Kj0e%Y;hxlI_WT9wzh6bY*pru>f=l7Q>>efw`I1(SK90$6Sql?(JZ5Jgrx1_F+AH8B(>YlR~Va zf9-On=L2~2GAeA4;jZor=WbI&^;K=XzZzvxM{aBL@q_%am*|B-1M8I1tCJo;^v z2QzK7r{IkFHu1@K`QDDy?#Ft3CQ_Sp&Zod-QWAU2b=__s&}Dh!!MucjzW3b%9e?y$ z8s|I-#>z^2a(Ej#&s+@g+GIrz;>6F9g|++K)a&XMpv#K-f?3JOyz`0lCVu{}v)1_l zI^ZnqGZ%JNWDpT+wXP)BO}*~s09t)FFvit0JrH}$e6-(b*>Cr(o6x>R$qOjwQW3q~ zO`T~AK$qoTh-jx0{8(W1!5MdbaDQ!&zadqr@9F)~sp(dkmH_m=LHQsL5fU%rAaPE* zD6yp*5cbKJgXwgXHyD;DuF$0>y%8X%?p9!AT4j4U&ZvM-xO<;~bK>Vyl{ym&(i)~x z3P6|TjYs)@I+gW!OfF8*g+W_^bK)1$DRsNv-+xr9QmID(HTUv~>ox#daDOsbeS$Uv z9rT$rN=aXg{fktkIu(E}FPMe!xwI|o;b_0nL7M=87Mx0&)3M8RS$?NOR#E}z5)7($ zyR@xGq6MeojJX;+sM&veBE6vZ327FVJ39L|`A){r{44mF9`S1a2z2=8aE49889Ehu z4-DF*<4}{E?vm_0U7kN(ihrxucl2d)0f_u4Bg+u9@CA{1CJ4 zS47@<0Mwr#Tv~8y;xD{t8qU!3A-A6|?PLR~+2^kF0hC+dcsKpydRdnij7D@vN8h!_ zIq{2$LlKYOk+Od?)_(br>(V}TM!=|G}Gd%Ou2?M6|ajbRUcKeuvZAQy= zM|QXV@c0qH=(T97&KK+n-@`uV7QB2{>X6Aa&iy+%fBP3?zsoE0y$TbPwqer}9Ukqu z8<(c+?-@Nt#3=!8Y5ifF-qV%jQW1S07~EM+_PKXppIMTL5r63sKZ^DDD=}pq&RY^l z1RZ#G(_i>>oWT>_y@I+cPMn-oXCbv2g(obB*hnd%vH63xBS2;JVp4Vf*hT(!K7iGi z_=OLX^Ym<_;_a4?d(wM6Q_Q~SGVOeTVMufq#GY)aukH7p-`&?CldwN?Tc(Y>BPWme zg};N`f|if$vws&8pZs&2lP>;Pc0MSPtzF)mYtzRq0?>!(jmpJIAB*%NKIPu*dchQ& zLj2Rm1Q&Vz9(U{C9){WbBy#xmu2rJUZS6I5Yy@a1m~Zb)=q>T1n0!C0D>W!=|?gz<(Tmy=z$;;zu$2HzQ@wW6Cxl728SU zMsCO0^;qkRu`9M?pS{?#y$Gq@Ph@>bVg&L7CvqOJDj@)IrX<_Z(|)5NC-`dsdcv`o z6Ru~%Y9oiX9vjwMy~jPWj>xuOV%~q2_>^C!>9LapCysgd_gJsp34WfIDpP3@0Fu<= zgn#!*@M!)?33se`EfU+EvbBeC85QFv^jKuarV-1NR``9m6>JGJf zkFRt09`}Ms@0KVZrfeOiY+d3&YS=V%$bTd>IttAn0j5`?ywiYG?m#NvMh?D;Dc|TO zN{AOsP(>_;7Mu#2bc|OYZoOuVHod3SL2Am7gRdl(W@YOV!UzhJL&Fu@FngaMvh}W( z<(kwTLiVhNJ*$JWEjdw^_8)11c7D~%?YXnB9Gj@+{P{DXu}ue_lknF+{aZLEUw?+# zvzo~6RmlFA$#`;^4I<7N7Di5K`OE5nE*v~~j3TYq<00vMNUTs=$c-k1aQe59ntjN@ zSCEh1N~|>EN0EjjNcDSAUlE+a&8TyVg*u};o2X=ELXrkjvo9+XxlC||ckFqsdBYQq zDD7?&phfQDW16yc zzSxmD+AD1V&{$1m!*v8TfzjwF;uk%QMn?tGen+%f|EGb3>-`T%FIPdLOxg29-d^FC zH7U`&;l#iAr;v;Uf(~%+5#sF)1ArLLdUSvwu%ry1b*_07qRv=ESjH{4UmuH$mL}<6e*u!Q+96 z!1emSe1lJxbcv$|IGpLzX6Ga1thoU5!CyVJDSb3LG8hpwT`y0Y#(x^*z$^aQlR1aG zBme-3?ZtZT>*PH7dCczB;54RwsO8yGBCp+vwfP4bU-$?@1kRv|u7X9G{V#g#g60v* zVGHoY@k|bF#oAB|oBQDu%|Hj9jrJSe7rRyJDPu7CeSw)@u#Ib;E)p4QoL1XH>OO4qo0%=7mrXiu5_18Abp69N!@Ay8vd5Ec=1bMK$F z2rodh03yyyfqxp427!w}49?IC(l75chVl5f8O6~Tp-BKu>BzSSYEl{mDFPjEmWv48 zAO~Lwg*$x`w#mZk1JF7~kgzr|b6gOV2%KRvT$K;?`@dCR9}|FMx`hBB7!l}jm;QfY zUjM5;+x*XC0_b&QBO%-mNJdsgVD-frJSqLk8>)~)uYYA^R~D$Cu)1Z^-y(pf6y$#i z#H0){d!NMGbVKGx$$g86&syCk7-dH|gD1HP{bD}c6spUsZ4g$=yklNq?d~+mDp2pD zFJ%F<`%hSQJ@M(wU7sRK<&K0`({WM2nvz}=o`Dvg={i%Ggwy+{3275?s;vMDtNuzw z^Z+U11%HPPv-b(CO*as~;J&mEYRt|@u(tfTO)_SUj=~u;A7|91U2-rnWuX;7Ia<{w z)OZ`WaG6I#cTEd#cK-=$-8HG_1nLlZ`NvKEjETq&61<+trWJnko!YpdP`p2&tpeqeU3N;(omw%&!=@w=w~3HF4=#AiMV zy;EM0P8-c1L459W=nxmHhHRj$X`d|wlI0C_^q0OHlQxsOeOx`YF?J??t!&o1%b zfQBk^o}PnL?(n~@&Ur;jViP<1BKb>C_&49o$r8;Yf%WPgEuF7JCS!m4*6bLNTR{Bt ze@wa0;5#ZwvwU@S&#PnRCb%)zKqD0f6Z!}tynK5u^Gv} z?0nj5WQoVd1d4q|an?IO(e5>EVjX7{qd)2N>(0KE;;Ls6+&TD%m7tSejQ>s$Ek7y? zsyodwmwMqFH#Y-W% z^>ouMV(m8?tkl8Ke79pz`VmFDfP>A=vLwBvDrs+iOG)+fK$o)?27wl2f9Bs2+Gl7M zgs4koVJvMgZ+E93g|XW}wz{?{Xn(?z^a9YnL;b5<^skgx-{IyFR{}_QlGs-Pp>=od zh)^ZHi1hNS=7ZSw{B(!@W?Y|tN=eNdDBqwv%?C2{8}tQ#Y_So&LKfD#j*gMh0k~Wn zTLava$+JNaWSrynNL`mA@+7PEXHs09ksEU69uUQ`#lU}O{CpM(OVSJK4u5-}DMWaX z;;M{Ox@Rl^5tPDMF&chP;zYWZ+SCPo#&k9F_wlTzf2^eGhIdAE$p=d2VRJP04Zx@L zmLB26F&_qh|5f&Nx-IVxWg|7QZ^}F}^NDYw%T91|GqqrS3GiIrUSjqJob*B+%zICH zRGDl=thtHbeb?~73lgNH;(rKOmjHpgz9hr!c`VROU8Z~kQvJRcRlQBT@sh;vyz6)( z001eec#qu3WR!45MT#FK@=kCb?~!euxLIx>H!?*Q)q0{N@K68%GQYBthS(Q?P$u|^ zy!o3zmW1a0wMdueAhL@3*cWAfrKcgsJrw{n9UK+LzKRlDVu55dR(}(DG361tx71e> zdFcmTtz{X7RbNjW%6W_D0)VE~!H2PHQSKyUJBH@Hr?QvyLT#+|*C0pBGOfV@`6>{OPFt0Vwjjt+bH{@fi=`jGXIV8|q+fx*oG@Wu`Thf_zO%s$TZc zs^jow1ZYju7Ucxs8GpaqN*lGY)-S-k`+I-tcN(xZF6>I@KLt$myYnFnBS15%2rCM1 zMD=bUG{0;9fdvVPMj0Jka;C`J(2DA6M6lf46~@nYdBmh3#+zdZhu4ut!A^aW^@ULp#|SW z^d8bkU7Ia*;5pc17bfNg>G}}V9VW7CC1(55Omh_+M&)KosvgPKUwvx=5kNC~U*1qG za~E)BkaiqLZaFTLewbmD8^Zwj`yx#1S)`L zbZNmwi2fT8vVS|(exa`-=2j`L3VdQ53IQ~uEAl^wV}1;pCI9Jcqpvot>(>M^+;>E% z1kj8wE0~1nk5Dclq&B+1L3tX{dzw6}Lq({6x%yz=A{rxCA}jz-4cZ=;>_S481s|srb>7Lu?>_AOKV19OC8%r89{>OV07*qoM6N<$f=W}^M*si- delta 5613 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 Hu0mjfbPw#- diff --git a/retroshare-gui/src/gui/icons/png/newsfeed-notify.png b/retroshare-gui/src/gui/icons/png/newsfeed-notify.png index a70d7bd772016c28861dbbf586d7ad087fdf77f2..f484eb0b505eacd4cce5cd51c6050240c03851b5 100644 GIT binary patch delta 3308 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 diff --git a/retroshare-gui/src/gui/icons/png/people-notify.png b/retroshare-gui/src/gui/icons/png/people-notify.png index 6e7b94ea7b935febf82057874852b1203d794f1d..2a0b75a7836baabeb52a4afc7aa216e6d029aada 100644 GIT binary patch delta 4850 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

>iA0>H3L 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 LNkvXXu0mjfZ=v*- delta 8909 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 bT;RU}12i6gqeFmz00000NkvXXu0mjfJh5@o diff --git a/retroshare-gui/src/gui/icons/svg/channels-notify.svg b/retroshare-gui/src/gui/icons/svg/channels-notify.svg index 12e5a8228..1219e4988 100644 --- a/retroshare-gui/src/gui/icons/svg/channels-notify.svg +++ b/retroshare-gui/src/gui/icons/svg/channels-notify.svg @@ -18,12 +18,12 @@ height="80" viewBox="0 0 80 80" sodipodi:docname="channels-notify.svg" - inkscape:export-filename="C:\Qt\RetroShare\RetroShare\retroshare-gui\src\gui\icons\svg\newsfeed.png" + inkscape:export-filename="C:\Qt\RetroShare\RetroShare\retroshare-gui\src\gui\icons\png\channels-notify.png" inkscape:export-xdpi="144" inkscape:export-ydpi="144">image/svg+xmlimage/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/chat-lobbies-notify.svg b/retroshare-gui/src/gui/icons/svg/chat-lobbies-notify.svg index bba8b867d..6486a1236 100644 --- a/retroshare-gui/src/gui/icons/svg/chat-lobbies-notify.svg +++ b/retroshare-gui/src/gui/icons/svg/chat-lobbies-notify.svg @@ -19,7 +19,7 @@ sodipodi:docname="chat-lobbies-notify.svg">image/svg+xmlimage/svg+xmlimage/svg+xmlimage/svg+xmlimage/svg+xmlimage/svg+xmlimage/svg+xmlimage/svg+xmlimage/svg+xml Date: Wed, 24 Aug 2016 16:57:33 +0200 Subject: [PATCH 145/158] added missed icons --- retroshare-gui/src/gui/icons/png/netgraph.png | Bin 0 -> 6691 bytes retroshare-gui/src/gui/icons/svg/netgraph.svg | 54 ++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 retroshare-gui/src/gui/icons/png/netgraph.png create mode 100644 retroshare-gui/src/gui/icons/svg/netgraph.svg diff --git a/retroshare-gui/src/gui/icons/png/netgraph.png b/retroshare-gui/src/gui/icons/png/netgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..e75a06549d9c15bffe4e7feb306d94f76867e9ab GIT binary patch literal 6691 zcmV+;8rp zP-`u~P9en>2_GAVb0fEpI3A$3fFTvcte;h)f4mAF+&)kR;VY!+5l|N zmy9q?aR)F1NDQ?;UQ!P%Q!)SAF=yD$P%Gn(urvT|ap^=UnGZ}QOm*}E6U4hhF`v|D z4P6&%WjYf+e_Sbry13*A66FyABSWoDAds+K2=SOPD}Omc$WZG8VPXL4;*x1nibpTh zj_-_w?E>+LF{j|&Q0o#>1JD-jx?Bq7X<$?+^#~b)t%?-)IOh~>37ra|;Q2jqs%b0) z?f}$~=ny{WLW=*=Bb|@%vk@)9ZanA)pca>11M*oQGuUm1HG*n0L)Qei*Ji-*W^EH3Xlj#ih3dp{)S1Kq^{V+2a!K3s@T$K2pHH>$3|U4%E3p zU<}~N$|yCi=~ZBQK;(bZki2EsqGxhTPMg)Dtv7(8g9)nAwj8*^a@pT##CpSwxPf_j zjh0HaQW($fO;a>|wSb|P$_)}Rn!?rTv0RxNO?IpeAp}R7ooqPP!s^Oqnw+7H1(C4J zRMaWVy7;J7GOaU!qS8!F;XMgMERz{TW(`T?(Mtv}FiLazeOUhYyaaB{i4TBAo+DtGsz%(Q zc(wn~$fS_GYaQ}RRd4+VOQp{aHJ=SYOB?VwFwNKZLrqGw#<*nPgNH}-i)2WG-9n9g zX1dl`_B&r+_Q?R$#ih4OxYyT4!-4Pgi$w8rBEO`6lr_ruiG*LPi_32CGPf$z+X#ar74yWCQ-yzU`Tkjtj_26 zi}%!r`ZUlT3Z_^@(PuW#9`*n&LOcv)`K4AE@>Izw_WLjuRJZ8-`X!P#j1UqZ5%_b$am?^ZE9ZZH!xSxHoh@K(wmKKlb!cwI-y6uF`15yC)h#*?Y^!D2p+=0boc7%#6gi>0oJ98{zyhh5LOc-= zt-=rqyjAXCbM5Ia-|ehx;~ximU*`izQ!MQ6d$$IlrtQ9|w|e=$8mX+ogyV80;kfqbY@ilD1MX|&)|4F5vszmR-M&V4&Ewv z(C+WtBbll#+I6`;ci5)RU%4~@X^Q`gMPcYRMKCTon(R0mNs$^YPLs+OCmW8n($Eq1 z6;uLFMvRT;#-%Vhy=&pJpAJr-qS?tkn`>BE;qa>+sVEQNB22%l0X$bW7$GP5)f#8~ z?GKDdV&kJf!|#+fVmfYA7lyeFG*3nb#(?2>NjH~`1wWN2lS5WA4Nf;=SJg#6jek_KKFz3 zf2P9s-2F@XNBJEndHKL-?k?=>myF&(gen-(&$nRS@A)?kfDq^P@&6jYlEaZmd9AN< z7hW>J5?}HCBa-M7!l}USB2dt#2uuCo{UTJK<@JyB_irPnof|du^$J8aPESPOQ?Pqp zyq$?@)MfDi6A5;OALS-+eO4To^p7IR#UJ>pv=~nOYzW(qpJsJc zGp`+NqV}}!!6a>d?Ca~={oXqF(Hi7<9oE3PBYqe?PU0)5sGhrN#2e^*KK4{h1Y8W<`A6 z*XQg(uasNbI}yRuSX{Fz=$ND7n~8Q;1?Gq@{>Uc{H3gp-+p$Y z#{kic7#n}QY#=}MBcrIKuALpHEHD7c*L{6v1Xx^_1q||4o~OYSo{}7;5s1w|W~_}* zre*V+@AkK3x1lM5dxrL7+YfTxZt3ib;DHfIl-!i(SLaLM!B1;_e!r8fiz(ib4qq97 zD$UFN5omR2oFatfDcF||h+^~foPZ>A3`wxFVOlodO*(&NKQS$a?LW+A;iv(`cz7=2 zj>op2V0EQ+g~L>#jfS&RfE1Vev&{7;y4D?kpODVV3J0qyoBdw+4C@=oyHm1Au)FVs z+BlZQU7<=HZ87sUd`0Luh`T3osb811XDdHH?#>zEX) zbUP2-lzdX#%E}4{D=V5g<2vZJuHC?{2x4vB|KiskZQ<@sHSB3<$F2xwMNW*mimB2WdCJDjXN+QKUb z8vWXFbn}n-#F$+;POv~KYFb$neq{TkMr)MMyvXldJ5MO7YiGp~2P-NZe176|k5k1P zlQP`yDqcCz$ekOH(d=dEmnco}$IFs^I`ur-s&n7g8eTit8?35w zpTE*x9-qd|UKCoef}^cEZy#~6vckc-qb*(b*FVaO=aup4UEY(x!=E1KKX#n-tNl9) z`ttPXWRDDAHzj{5tK-qnPlUYI&{+&!$r0+}l4(e>!e3!IaW;0`nCGz*$ZDFMCht`> zv+{_8caJpVaGI3dlt*q{*S-3G>^RB)`_!7do*o>L#P3IS?>^aB)5=|&YQis?SaOX} z7M1-UA>`9m$eWp$z)R!3PEh@tR}M6?vckdjS#eCwi1qnM*pRTlv7L)uEUea4H8X9^ z5loA=83K59VmkloVvBdG-QfPMwY<2mA*6+++#!*7X^Jqjr9~&*uO4h9Jw{{UsDWOu z2bNbjn6=?3x+(eR;U+Xi@crayre(!3Ei;bnIFB-&08j-kJKt$a?%7;pS?9x<>Ezxm zHC&Ss+hz1S*=F$H`x>lk%wiNNvQ;tt&N)DVRYEt_p61KCHpV7L6L0VN7u@VLd0<;D z_ie2`ZxwDzIP7q;rmC4gm)5bo!a+@|PJ&$}Ia>3{WQ+GS@bZ33>nsA`aGJ#06vie; zpZ9rEq{>_6j=-$qtw2zvD%0+~6N~fy_BD1;w5OhvZ3c;UmDFe(qEnBRJDmKfq>ecs zALWDUmL7-5+S584YFa7YQ_tV_HgL${#HI++V{NFNg}dR-jWq!|vjC`UadMXnSN4IX z4z?WcnrjdiNRA7oxU@t-VIbS-7on0KYa=OA#gtIta8lmfVaZUOU{{!u5zFOJ(J4{|X z*u-lGo3JT@D^j9)Zft6oHN%$Lp3e;YWm9cy7X!E`JPJvx8GfDRXni}-FFK~|CIV%HO;DZDl@oznVtO6uDwscYk4QwMqRcGgeJ={Cem5itAW zKIF#RnYyYX5Xq?#VN>VKN*Y~c9HqK(-dKsNxCm9ijXCk$cuo*dn<42iCGkBtjLtG4 zHHHUACb94f|BkL*AQd3&N?rNOfu^qiB&(yATrteUNTx_tc-;ACxqn1bAo3>KFGvH} z>0;qDqFCr@*v+1cguUky+4J2cA`c15^MifQODDB4}m$2F~1 zgmb%GWcq`YoKnOEXaJ^!mt36rr$lSqJG`Ie?cGt(mpm6C;xFzy6L2#A?Q#aZw3m#( z?_=_+3aVPV8mA}JSiF@Lf>R0t%a@knz%ylaE(-?#->)@s-f>$S`GrX_=^XWwi zc9vb0?lQ!D(VlwtxhX=qWUu!w;)-S`>yKG`xww$BTrnjTmP!pH9{=(rhaFvq+ddI0 z8>VG5-H!~UtJ7oIG(Cr87y13wEjkN6cV9_#{jnC_D)+qNhXn4~T;qSKm`<2NDOZFd z%Po}}Ml?H3e!Q;A<;h^IO<~zp87#RX&8uLO^cWk@jZI5>8>)L;^xgVV zwMRp`1RmU4>vxG5R|qM~1uyK(RSor^<*@$q@P|)bje_ zz(f!ms+lQ}QmDmc4Zdau_XcL<#`DtnbdS@`PPH3n5<}z}Z=Ro|vj zQ5rwYiQ|%_C?Zwmt0G!0taTCTY$5f=oWj1AB!+}D|C$reD-%5Le1ExbYb{Uh>IFON zuM$HP03pSeQ0o&2rewtO;`p?nbw0qO|1yBVVH^Z<7GbglzDf?2m>WZ@j`dv9KZ;i; zq`R#6(d;yN_|xMqokpHg?r^$X#6@X>XU3$2{mmLu5gXwv129x=b7d61hwtYYb*CXcdpT6L4x4>vL6!zwObc7PweU+FT)bbM+I zb9^k86(pqLbZ&xk>H%ttN=v1%E<8L`#cGiAL!**s#M%_br^YaPKon_T`Sy>t>U>hu%Fa`5teBkXHVyo~ ztu?$^9+>^~eOqdnoF3a{yLe?v3_rgpk-vpoc91aFeEpwaf4Jmur0Q&~4af5URlqL` z`|9TF@ zxgT^nuh15i{y_>teqBsTw8p*}gMBU|?{Jz7`p5o&rKEMo%E_5bbrHb%L3ImTkDq36 zf*nObL%Ts$i_Yq*W{=9<_=`Y1rq3z(&H0~o=1j?$y)M5CBEKx`>vwtdJ2xJqXm@Z* z&Ynwp%$aH_-Bl&)Ou56!V_%%$<^4SutMU=kP>sPoUKqh`1^W@K42TL|U`6fWD^fyp z%Y9Xg)9qB?j_f!a&woFa53kL(pdhqMmUr%aaC2*zkmgf?(7+q4h~dxiBGAKXKB#VX z8HmyoW0RxVG(Fey^@0$tZxMBA0Q#I^>!oCer5bpN-2xY0Fv`}sB1Thqb5e#&N0cYz z#MyX#l9iWdh|l!dLtQ%j+)h#ge&g=DU{GU0I(MiJU+x{=k70fWonAU1ire$8DcvB1 ze8k;%ZVkYgTet!US)9No7gxA?%VrNQgtnS~5i0YCS(AJ4;7CgnSw7Nd7rMRwxm)Q% z$_4(m?kle!Zt`neWJ-9`i^yB6xIQbc$1<^=k`#I7jskxW@Mw46cdMyBcjy{mxnCOi z$j-VpR`?MK`^tevzXCpd<=RYZ^ABB}CwRfj`kcbG-96BwsT!&=A87YS3tySPxrP&M z-XG*tx9B|N#`i0|N~}D7 zTIUDvAF(`-&QtnFTDyH4;Nx~s3i&8=hV}R>@MyBqTW!A;k}{t(@smxptz5qRFdIC` zr+dG;nah?R4(V024vPyxJ34%lx6Q07{F5gSdbV1*dvH6dybD4T+;X6)g9-1HbM?Cw zys)={LyivG4N1EpIndO>qCNFo`F1%|R~-p?2-eY7YuooBlh_nO&S!z}$Z|X$U-Vf+ z*J+DNo{&P^@2y5wvG(YhWQlNQZFLJ*T6hG#&dY>QiCkc~IrMRbSNjz`Q9L5yORqHg zhVhn#IednMw=2B5C+K~%x^SU4FL<|Mol)4Knaal2HPdHK759}}YWKyP5d=O<|G;U2-BsBbsCDGO%^soccvL#n-P$EPDJ zV@~060Z;n!?l*zm4eiYMu*zq@eupW!;r&XFfBga;*XQPcmPIwGh%sESL*~T_kb1@an-v#;!Qb zM;@-^S5-DMdii1AKH}*@QoLa#6wE^ipQmI09nMcyMyc^l?;#oMx2y}8ammsAcu)e@ zWX6&5)r}{ngz8o&D=Hkka-flI-d!y5vEhiH%=`?$+@{t<926Z)P(<5DLNLM-c^5dE zB8amoG<6t0trH}CX_}E&GB3~X`){m^nJFsG)D+&6FvK#M-_ivEyLHu^%&o&Jt&nG3 z+01!`M|7>@GT>v&WPVF$Ht1T%;nu)56AX&>CaJ3aB9f^=X|J~< zdB>32FPJwZ;Dx+{H#AErl;YiY3n8DN^PO(ra+VG$#r@`-{67b3$nQ+h=VtBs-J?xY zJ|~dFgWYyGBjF2GaGP^>;kID58=A%00;#BJyMF@mNx=FW9C{b0K+HF0=f4!JU;Vj+ zc6Gj_G+A}>p9p>$QawV0MDnsB%=&0i4BFRC=kY@DOl4VXC7S zm>}L2iut5IYv{UAE7O_q{^LHsCsi@@p9&%70C}NS$4d@MDT__1yvV$QW1&{Y9pP;N zXIUy$%~3K@n#v5|2Eupea0(&b5GG6Y#Qb%EIJ>u+-eCaeQuLWk(;~-Wim4_{5il&2 z>PW;+MX(BKtk$bfe!_zBVN(*+6MCNkbf$RMKo!Oa#5jo<1r!2-s>)aolnE)eN%+_> zoEy1)MA+0-^o8DU0In$Bk*-PG#Zr(ZgqbZ(k%geYgaHEj1F=91aQ14C4$dUIGy}&G t9LMCO5TaZ{g%Gk_cWQfliMtPX{s*B_0_+|cZAt(D002ovPDHLkV1mM^9$Nqa literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/svg/netgraph.svg b/retroshare-gui/src/gui/icons/svg/netgraph.svg new file mode 100644 index 000000000..87709e74a --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/netgraph.svg @@ -0,0 +1,54 @@ + + + +image/svg+xml \ No newline at end of file From 7a2ae6e979793a7596120bbab26e797996b7eb79 Mon Sep 17 00:00:00 2001 From: Gio Date: Thu, 25 Aug 2016 11:33:11 +0200 Subject: [PATCH 146/158] Remove some clutter from libretroshare Removed SearchInterface that was an historical remain that make no sense anymore Fixed some clang warning Fix includes on some files --- libretroshare/src/pqi/pqi.h | 34 ++++------------------------ libretroshare/src/pqi/pqihandler.cc | 21 +++++++++++------ libretroshare/src/pqi/pqihandler.h | 19 ++++++++++------ libretroshare/src/pqi/pqiloopback.cc | 5 +++- libretroshare/src/pqi/pqiloopback.h | 13 +++++------ libretroshare/src/pqi/pqistreamer.cc | 27 ++++++++++++++-------- libretroshare/src/pqi/pqistreamer.h | 27 ++++++++++++++-------- 7 files changed, 74 insertions(+), 72 deletions(-) diff --git a/libretroshare/src/pqi/pqi.h b/libretroshare/src/pqi/pqi.h index 6109d4761..a7aa5854c 100644 --- a/libretroshare/src/pqi/pqi.h +++ b/libretroshare/src/pqi/pqi.h @@ -27,31 +27,10 @@ #ifndef PQI_TOP_HEADER #define PQI_TOP_HEADER -/* This just includes the standard headers required. - */ - - -#include "pqi/pqi_base.h" -#include "pqi/pqinetwork.h" #include "serialiser/rsserial.h" -#include -#include -#include -/********************** SEARCH INTERFACE ***************************/ -// this is an interface.... so should be -// classified as virtual = 0; - -class SearchInterface -{ -public: - SearchInterface() { return; } - - virtual ~SearchInterface() { return; } -}; - -class P3Interface: public SearchInterface +class P3Interface { public: P3Interface() {return; } @@ -61,16 +40,13 @@ virtual int tick() { return 1; } virtual int status() { return 1; } virtual int SendRsRawItem(RsRawItem *) = 0; -#ifdef TO_BE_REMOVED -virtual RsRawItem *GetRsRawItem() = 0; -#endif }; -/* interface to allow outgoing messages to be sent directly - * through to the pqiperson, rather than being queued +/** + * @brief Interface to allow outgoing messages to be sent directly through to + * the pqiperson, rather than being queued */ - class pqiPublisher { public: @@ -80,6 +56,4 @@ virtual bool sendItem(RsRawItem *item) = 0; }; - #endif // PQI_TOP_HEADER - diff --git a/libretroshare/src/pqi/pqihandler.cc b/libretroshare/src/pqi/pqihandler.cc index 718e877c1..f5494be15 100644 --- a/libretroshare/src/pqi/pqihandler.cc +++ b/libretroshare/src/pqi/pqihandler.cc @@ -25,16 +25,23 @@ #include "pqi/pqihandler.h" -#include "util/rsdebug.h" -#include "util/rsstring.h" -#include "retroshare/rspeers.h" -#include -#include +#include // for NULL +#include // for time, time_t +#include // for sort +#include // for dec +#include // for string, char_traits, operator+, bas... +#include // for pair + +#include "pqi/pqi_base.h" // for PQInterface, RsBwRates +#include "retroshare/rsconfig.h" // for RSTrafficClue +#include "retroshare/rsids.h" // for t_RsGenericIdType +#include "retroshare/rspeers.h" // for RsPeers, rsPeers +#include "serialiser/rsserial.h" // for RsItem, RsRawItem +#include "util/rsdebug.h" // for pqioutput, PQL_DEBUG_BASIC, PQL_ALERT +#include "util/rsstring.h" // for rs_sprintf_append using std::dec; -#include -#include #ifdef WINDOWS_SYS #include #endif diff --git a/libretroshare/src/pqi/pqihandler.h b/libretroshare/src/pqi/pqihandler.h index d2e5ce51f..cf1f19429 100644 --- a/libretroshare/src/pqi/pqihandler.h +++ b/libretroshare/src/pqi/pqihandler.h @@ -26,15 +26,20 @@ #ifndef MRK_PQI_HANDLER_HEADER #define MRK_PQI_HANDLER_HEADER -#include "pqi/pqi.h" -#include "pqi/pqiqos.h" +#include // for uint32_t +#include // for time_t, NULL +#include // for list +#include // for map -#include "util/rsthreads.h" -#include "retroshare/rstypes.h" -#include "retroshare/rsconfig.h" +#include "pqi/pqi.h" // for P3Interface, pqiPublisher +#include "retroshare/rstypes.h" // for RsPeerId +#include "util/rsthreads.h" // for RsStackMutex, RsMutex -#include -#include +class PQInterface; +class RSTrafficClue; +class RsBwRates; +class RsItem; +class RsRawItem; class SearchModule { diff --git a/libretroshare/src/pqi/pqiloopback.cc b/libretroshare/src/pqi/pqiloopback.cc index 4eedb7fda..ba4078ce2 100644 --- a/libretroshare/src/pqi/pqiloopback.cc +++ b/libretroshare/src/pqi/pqiloopback.cc @@ -23,9 +23,12 @@ * */ -#include "pqi/pqi.h" #include "pqi/pqiloopback.h" +#include // for NULL + +class RsItem; + /*** #define LOOPBACK_DEBUG 1 ***/ diff --git a/libretroshare/src/pqi/pqiloopback.h b/libretroshare/src/pqi/pqiloopback.h index ff5b983db..7186dd440 100644 --- a/libretroshare/src/pqi/pqiloopback.h +++ b/libretroshare/src/pqi/pqiloopback.h @@ -26,12 +26,12 @@ #ifndef MRK_PQI_LOOPBACK_HEADER #define MRK_PQI_LOOPBACK_HEADER -// The standard data types and the search interface. -#include "pqi/pqi.h" +#include // for list -#include -#include -#include +#include "pqi/pqi_base.h" // for NetInterface (ptr only), PQInterface +#include "retroshare/rstypes.h" // for RsPeerId + +class RsItem; class pqiloopback: public PQInterface { @@ -47,8 +47,7 @@ virtual RsItem *GetItem(); virtual int tick(); virtual int status(); -virtual int notifyEvent(NetInterface */*ni*/, int /*event*/) { return 0; } /* Not used */ - private: +private: std::list objs; }; diff --git a/libretroshare/src/pqi/pqistreamer.cc b/libretroshare/src/pqi/pqistreamer.cc index 166cc6b1e..9d68a50b2 100644 --- a/libretroshare/src/pqi/pqistreamer.cc +++ b/libretroshare/src/pqi/pqistreamer.cc @@ -24,18 +24,25 @@ */ -#include -#include -#include -#include "util/rsdebug.h" -#include "util/rsstring.h" -#include "util/rsprint.h" -#include "util/rsscopetimer.h" - #include "pqi/pqistreamer.h" -#include "rsserver/p3face.h" -#include "serialiser/rsserial.h" +#include // for free, realloc, exit +#include // for memcpy, memset, memcmp +#include // for NULL, time, time_t +#include // for min +#include // for operator<<, ostream, basic_ostream +#include // for string, allocator, operator<<, oper... +#include // for pair + +#include "pqi/p3notify.h" // for p3Notify +#include "retroshare/rsids.h" // for operator<< +#include "retroshare/rsnotify.h" // for RS_SYS_WARNING +#include "rsserver/p3face.h" // for RsServer +#include "serialiser/rsserial.h" // for RsItem, RsSerialiser, getRsItemSize +#include "util/rsdebug.h" // for pqioutput, PQL_ALERT, PQL_DEBUG_ALL +#include "util/rsmemory.h" // for rs_malloc +#include "util/rsprint.h" // for BinToHex +#include "util/rsstring.h" // for rs_sprintf_append, rs_sprintf static struct RsLog::logInfo pqistreamerzoneInfo = {RsLog::Default, "pqistreamer"}; #define pqistreamerzone &pqistreamerzoneInfo diff --git a/libretroshare/src/pqi/pqistreamer.h b/libretroshare/src/pqi/pqistreamer.h index 52a376062..5cdbab9d7 100644 --- a/libretroshare/src/pqi/pqistreamer.h +++ b/libretroshare/src/pqi/pqistreamer.h @@ -27,18 +27,19 @@ #ifndef MRK_PQI_STREAMER_HEADER #define MRK_PQI_STREAMER_HEADER -// Only dependent on the base stuff. -#include "pqi/pqi_base.h" -#include "util/rsthreads.h" -#include "retroshare/rstypes.h" +#include // for uint32_t +#include // for time_t +#include // for operator<<, basic_ostream, cerr, endl +#include // for list +#include // for map -#include +#include "pqi/pqi_base.h" // for BinInterface (ptr only), PQInterface +#include "retroshare/rsconfig.h" // for RSTrafficClue +#include "retroshare/rstypes.h" // for RsPeerId +#include "util/rsthreads.h" // for RsMutex -// Fully implements the PQInterface. -// and communicates with peer etc via the BinInterface. -// -// The interface does not handle connection, just communication. -// possible bioflags: BIN_FLAGS_NO_CLOSE | BIN_FLAGS_NO_DELETE +class RsItem; +class RsSerialiser; struct PartialPacketRecord { @@ -46,6 +47,12 @@ struct PartialPacketRecord uint32_t size ; }; +/** + * @brief Fully implements the PQInterface and communicates with peer etc via + * the BinInterface. + * The interface does not handle connection, just communication. + * Possible BIN_FLAGS: BIN_FLAGS_NO_CLOSE | BIN_FLAGS_NO_DELETE + */ class pqistreamer: public PQInterface { public: From 45198121f74899bd5ba08103a59a32cb26a30eed Mon Sep 17 00:00:00 2001 From: defnax Date: Thu, 25 Aug 2016 17:09:33 +0200 Subject: [PATCH 147/158] updating replacements icons --- .../src/gui/Circles/CirclesDialog.ui | 1 + .../src/gui/Circles/CreateCircleDialog.cpp | 2 +- retroshare-gui/src/gui/FriendsDialog.cpp | 2 +- retroshare-gui/src/gui/Identity/IdDialog.cpp | 2 +- retroshare-gui/src/gui/Identity/IdDialog.ui | 43 +++- retroshare-gui/src/gui/gxs/GxsGroupDialog.ui | 226 ++++++++++++------ retroshare-gui/src/gui/icons.qrc | 3 + retroshare-gui/src/gui/icons/png/circles.png | Bin 0 -> 6399 bytes .../src/gui/icons/png/network-puplic.png | Bin 0 -> 8482 bytes retroshare-gui/src/gui/icons/png/person.png | Bin 0 -> 4450 bytes retroshare-gui/src/gui/icons/svg/circles.svg | 77 ++++++ .../src/gui/icons/svg/network-puplic.svg | 54 +++++ retroshare-gui/src/gui/icons/svg/person.svg | 57 +++++ 13 files changed, 378 insertions(+), 89 deletions(-) create mode 100644 retroshare-gui/src/gui/icons/png/circles.png create mode 100644 retroshare-gui/src/gui/icons/png/network-puplic.png create mode 100644 retroshare-gui/src/gui/icons/png/person.png create mode 100644 retroshare-gui/src/gui/icons/svg/circles.svg create mode 100644 retroshare-gui/src/gui/icons/svg/network-puplic.svg create mode 100644 retroshare-gui/src/gui/icons/svg/person.svg diff --git a/retroshare-gui/src/gui/Circles/CirclesDialog.ui b/retroshare-gui/src/gui/Circles/CirclesDialog.ui index 762d507f9..da9da0b8b 100644 --- a/retroshare-gui/src/gui/Circles/CirclesDialog.ui +++ b/retroshare-gui/src/gui/Circles/CirclesDialog.ui @@ -256,6 +256,7 @@ + diff --git a/retroshare-gui/src/gui/Circles/CreateCircleDialog.cpp b/retroshare-gui/src/gui/Circles/CreateCircleDialog.cpp index f7dfb91f8..79e85d1cc 100644 --- a/retroshare-gui/src/gui/Circles/CreateCircleDialog.cpp +++ b/retroshare-gui/src/gui/Circles/CreateCircleDialog.cpp @@ -55,7 +55,7 @@ CreateCircleDialog::CreateCircleDialog() mCircleQueue = new TokenQueue(rsGxsCircles->getTokenService(), this); mIdQueue = new TokenQueue(rsIdentity->getTokenService(), this); - ui.headerFrame->setHeaderImage(QPixmap(":/images/circles/circles_64.png")); + ui.headerFrame->setHeaderImage(QPixmap(":/icons/png/circles.png")); // connect up the buttons. connect(ui.addButton, SIGNAL(clicked()), this, SLOT(addMember())); diff --git a/retroshare-gui/src/gui/FriendsDialog.cpp b/retroshare-gui/src/gui/FriendsDialog.cpp index 7f7891514..905f79906 100644 --- a/retroshare-gui/src/gui/FriendsDialog.cpp +++ b/retroshare-gui/src/gui/FriendsDialog.cpp @@ -54,7 +54,7 @@ #define IMAGE_NETWORK2 ":/icons/png/netgraph.png" #define IMAGE_PEERS ":/images/groupchat.png" #define IMAGE_IDENTITY ":/images/identity/identities_32.png" -#define IMAGE_CIRCLES ":/images/circles/circles_32.png" +#define IMAGE_CIRCLES ":/icons/png/circles.png" /****** * #define FRIENDS_DEBUG 1 diff --git a/retroshare-gui/src/gui/Identity/IdDialog.cpp b/retroshare-gui/src/gui/Identity/IdDialog.cpp index 2abb15768..04b7a205f 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDialog.cpp @@ -211,7 +211,7 @@ IdDialog::IdDialog(QWidget *parent) : ui->avLabel_Person->setPixmap(QPixmap(":/icons/png/people.png")); - ui->avlabel_Circles->setPixmap(QPixmap(":/icons/circles_128.png")); + ui->avlabel_Circles->setPixmap(QPixmap(":/icons/png/circles.png")); ui->headerTextLabel_Person->setText(tr("People")); ui->headerTextLabel_Circles->setText(tr("Circles")); diff --git a/retroshare-gui/src/gui/Identity/IdDialog.ui b/retroshare-gui/src/gui/Identity/IdDialog.ui index c133a8b11..eee1cf7b9 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.ui +++ b/retroshare-gui/src/gui/Identity/IdDialog.ui @@ -20,7 +20,16 @@ - + + 0 + + + 0 + + + 0 + + 0 @@ -38,7 +47,16 @@ QFrame::Sunken - + + 2 + + + 2 + + + 2 + + 2 @@ -129,7 +147,16 @@ QFrame::Sunken - + + 1 + + + 1 + + + 1 + + 1 @@ -251,7 +278,7 @@ Reputation - AlignLeft|AlignVCenter + AlignLeading|AlignVCenter @@ -264,8 +291,8 @@ - - :/images/no_avatar_background.png:/images/no_avatar_background.png + + :/icons/png/person.png:/icons/png/person.png Person @@ -620,8 +647,8 @@ p, li { white-space: pre-wrap; } - - :/images/circles/circles_64.png:/images/circles/circles_64.png + + :/icons/png/circles.png:/icons/png/circles.png Circles diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui index 42133262d..42b31221a 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui @@ -7,22 +7,31 @@ 0 0 1237 - 790 + 622 Create New + + 0 + + + 0 + + + 0 + + + 0 + 6 0 - - 0 - @@ -38,7 +47,7 @@ 0 - + @@ -48,7 +57,16 @@ 0 - + + 4 + + + 4 + + + 4 + + 4 @@ -112,7 +130,16 @@ 9 - + + 3 + + + 3 + + + 3 + + 3 @@ -169,29 +196,7 @@ - - - - Description - - - - - - - - - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - + true @@ -234,7 +239,16 @@ - + + 0 + + + 0 + + + 0 + + 0 @@ -289,39 +303,36 @@ Message Distribution - - - 0 - - - - - - 0 - 0 - - - - <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> - - - Public - - - - :/images/network.png:/images/network.png - - - - 24 - 24 - - - - - - - + + + + + + + + 0 + 0 + + + + <html><head/><body><p>Messsages will spread way beyond your friend nodes, as long as people subscribe to the channel/forum/posted you're creating.</p></body></html> + + + Public + + + + :/icons/png/network-puplic.png:/icons/png/network-puplic.png + + + + 24 + 24 + + + + + @@ -336,8 +347,8 @@ Restricted to Circle - - :/images/circles/circles_32.png:/images/circles/circles_32.png + + :/icons/png/circles.png:/icons/png/circles.png @@ -347,14 +358,7 @@ - - - - - - - - + @@ -369,8 +373,8 @@ Only For Your Friends - - :/images/user/friends24.png:/images/user/friends24.png + + :/icons/png/network.png:/icons/png/network.png @@ -380,14 +384,69 @@ - - + + + + + 0 + 0 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 68 + 20 + + + + + + + + + 0 + 0 + + + + + + + Description + + + + + + + + @@ -598,6 +657,16 @@ + + + + QFrame::StyledPanel + + + QFrame::Raised + + + @@ -849,6 +918,7 @@ + diff --git a/retroshare-gui/src/gui/icons.qrc b/retroshare-gui/src/gui/icons.qrc index 24b21616b..142e37671 100644 --- a/retroshare-gui/src/gui/icons.qrc +++ b/retroshare-gui/src/gui/icons.qrc @@ -113,5 +113,8 @@ icons/png/thumbs-neutral.png icons/png/add.png icons/png/netgraph.png + icons/png/network-puplic.png + icons/png/circles.png + icons/png/person.png diff --git a/retroshare-gui/src/gui/icons/png/circles.png b/retroshare-gui/src/gui/icons/png/circles.png new file mode 100644 index 0000000000000000000000000000000000000000..95cbb2d3b1cad553e01e313b6cb7f607cbd64d1d GIT binary patch literal 6399 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

p9n!`>blb!LFBjryc*$8 zbH?GmoWYlv9H$drxq2+_&vhXypX6H||2$&=Lyy}6hGUc8yc*$uXOG2o;}e|60 z=}Si70cTBc(nzE;5B=Y^0E;G_0@3SED9}ZF#l(TF9oOiIi>xGDKXslg3qDwvV7pCL9WVQOkRb|QK z6gxJ@+2bJfRDu;n4La_hnuZt)t{ftM zw6DMQX#jJX@6Q0j&J%DdU+-)rEmpJQHt?RY)YoS>f4`*@b78pAqqqwJkN5ZYehpwO z%XtgH21^x1agsk6`Myp49WY?~Vru3C09q}R6vZiOO~{`NbkM*zn8j18i0FAsBt>xy zCVm|GxnB=-TtH74MziPV#Ha{gRuqTWArJX}9ms)!J!0N>ZYwmt7dCVeN3k49#1Ej5 z0$SfT;CBpTNzP_sekOEXQJjFmg?)AU^hQuGnMMjd%E0d6Wkqp_x8-5qlfj%2Tra~y zUz;w)4*^8RiK>Rknl-Buk^_3| zGKs|k+%@@du;qu`(X1Dj{}%)Q7V7y?tb>3jjeOrDA)Xr|?X!wkfv`B_GNM?)YIA9J zK8QkkLkoSRfr!nN>}6=b6-03bT4yF_7lc~*KsW{ffQ4k54N13wur;i5qJ+X0vmxTon+iVz^9g!7o|@K zsFa$#!HUWUtTF%q6!;DpdfTM{wpdnXlebM=~W=qT*5dLIo zxlsV%RkJ1LyI6F7t(Aq^ld4(5npR)A0?hfglt0*D6qza6_k{bv*Bkcb>K3xlM^`+- zgnzd+&e@G5(38f}te=PTs@EU3SB$>0@+v0z3V_je$2zMZR0|Wg_zQd=+8f3Rias5t zX~yrtnD0ouNQdz^ll6Z^!Q>NmhjOlIW+qWwc^?r!10b3!-aBo~^pMQY`i)&pes>(d zH|wh_FO!mAB=A(HW2+1UA8Uj={Y!m2oQ&(v!&xB z2ycSTjmF^ + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/network-puplic.svg b/retroshare-gui/src/gui/icons/svg/network-puplic.svg new file mode 100644 index 000000000..56b77b907 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/network-puplic.svg @@ -0,0 +1,54 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/person.svg b/retroshare-gui/src/gui/icons/svg/person.svg new file mode 100644 index 000000000..f43c9dc71 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/person.svg @@ -0,0 +1,57 @@ + + + +image/svg+xml \ No newline at end of file From cc8f2c6e394370f24a471508736919df830a2ff7 Mon Sep 17 00:00:00 2001 From: defnax Date: Fri, 26 Aug 2016 02:48:46 +0200 Subject: [PATCH 148/158] changed to one plus button for Create ID/Circle with menu. --- .../src/gui/Circles/CreateCircleDialog.ui | 31 +++++++++ retroshare-gui/src/gui/Identity/IdDialog.cpp | 15 ++++- retroshare-gui/src/gui/Identity/IdDialog.ui | 66 +++++-------------- 3 files changed, 60 insertions(+), 52 deletions(-) diff --git a/retroshare-gui/src/gui/Circles/CreateCircleDialog.ui b/retroshare-gui/src/gui/Circles/CreateCircleDialog.ui index e083a11af..d26158b43 100644 --- a/retroshare-gui/src/gui/Circles/CreateCircleDialog.ui +++ b/retroshare-gui/src/gui/Circles/CreateCircleDialog.ui @@ -373,6 +373,16 @@ Public + + + :/icons/png/network-puplic.png:/icons/png/network-puplic.png + + + + 24 + 24 + + @@ -383,6 +393,16 @@ Private + + + :/icons/png/person.png:/icons/png/person.png + + + + 24 + 24 + + @@ -393,6 +413,16 @@ Only visible to members of: + + + :/icons/png/circles.png:/icons/png/circles.png + + + + 24 + 24 + + @@ -459,6 +489,7 @@ + diff --git a/retroshare-gui/src/gui/Identity/IdDialog.cpp b/retroshare-gui/src/gui/Identity/IdDialog.cpp index 04b7a205f..6818e2f84 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDialog.cpp @@ -194,8 +194,6 @@ IdDialog::IdDialog(QWidget *parent) : //mStateHelper->addClear(IDDIALOG_REPLIST, ui->treeWidget_RepList); /* Connect signals */ - connect(ui->toolButton_NewId, SIGNAL(clicked()), this, SLOT(addIdentity())); - connect(ui->toolButton_NewCircle, SIGNAL(clicked()), this, SLOT(createExternalCircle())); connect(ui->removeIdentity, SIGNAL(triggered()), this, SLOT(removeIdentity())); connect(ui->editIdentity, SIGNAL(triggered()), this, SLOT(editIdentity())); @@ -280,7 +278,18 @@ IdDialog::IdDialog(QWidget *parent) : idTWHAction->setData(RSID_FILTER_BANNED); connect(idTWHAction, SIGNAL(toggled(bool)), this, SLOT(filterToggled(bool))); idTWHMenu->addAction(idTWHAction); - + + QAction *CreateIDAction = new QAction(QIcon(":/icons/png/person.png"),tr("Create new Identity"), this); + connect(CreateIDAction, SIGNAL(triggered()), this, SLOT(addIdentity())); + + QAction *CreateCircleAction = new QAction(QIcon(":/icons/png/circles.png"),tr("Create new circle"), this); + connect(CreateCircleAction, SIGNAL(triggered()), this, SLOT(createExternalCircle())); + + QMenu *menu = new QMenu(); + menu->addAction(CreateIDAction); + menu->addAction(CreateCircleAction); + ui->toolButton_New->setMenu(menu); + /* Add filter actions */ QTreeWidgetItem *headerItem = ui->idTreeWidget->headerItem(); QString headerText = headerItem->text(RSID_COL_NICKNAME); diff --git a/retroshare-gui/src/gui/Identity/IdDialog.ui b/retroshare-gui/src/gui/Identity/IdDialog.ui index eee1cf7b9..bb075b56f 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.ui +++ b/retroshare-gui/src/gui/Identity/IdDialog.ui @@ -163,9 +163,9 @@ - + - + 0 0 @@ -174,46 +174,11 @@ Qt::NoFocus - Create new Identity - - - New ID - - - - :/images/identity/identity_create_32.png:/images/identity/identity_create_32.png - - - - 24 - 24 - - - - true - - - - - - - - 0 - 0 - - - - Qt::NoFocus - - - Create new circle - - - New ID + Create new... - :/icons/circles_new_128.png:/icons/circles_new_128.png + :/icons/png/add.png:/icons/png/add.png @@ -221,6 +186,9 @@ 24 + + QToolButton::InstantPopup + true @@ -772,6 +740,16 @@ p, li { white-space: pre-wrap; } + + LineEditClear + QLineEdit +

gui/common/LineEditClear.h
+ + + RSTreeWidget + QTreeWidget +
gui/common/RSTreeWidget.h
+
StyledElidedLabel QLabel @@ -782,16 +760,6 @@ p, li { white-space: pre-wrap; } QLabel
gui/common/StyledLabel.h
- - RSTreeWidget - QTreeWidget -
gui/common/RSTreeWidget.h
-
- - LineEditClear - QLineEdit -
gui/common/LineEditClear.h
-
idTreeWidget From 04162f90d287468243c6697248111b54c9cdfeed Mon Sep 17 00:00:00 2001 From: Phenom Date: Wed, 17 Aug 2016 23:58:22 +0200 Subject: [PATCH 149/158] Fix Msys2 build when MINGW_PREFIX is not defined. Please look at AppVeyor success before merging. --- retroshare.pri | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/retroshare.pri b/retroshare.pri index 95c784512..fe7d77df2 100644 --- a/retroshare.pri +++ b/retroshare.pri @@ -47,19 +47,19 @@ win32 { } # Check for msys2 - isEmpty(MINGW_PREFIX) { + PREFIX_MSYS2 = $$(MINGW_PREFIX) + isEmpty(PREFIX_MSYS2) { exists(C:/msys32/mingw32/include) { message(MINGW_PREFIX is empty. Set it in your environment variables.) message(Found it here:C:\msys32\mingw32) - MINGW_PREFIX = "C:\msys32\mingw32" + PREFIX_MSYS2 = "C:\msys32\mingw32" } exists(C:/msys64/mingw32/include) { message(MINGW_PREFIX is empty. Set it in your environment variables.) message(Found it here:C:\msys64\mingw32) - MINGW_PREFIX = "C:\msys64\mingw32" + PREFIX_MSYS2 = "C:\msys64\mingw32" } } - PREFIX_MSYS2 = $$(MINGW_PREFIX) !isEmpty(PREFIX_MSYS2) { message(msys2 is installed.) BIN_DIR += "$${PREFIX_MSYS2}/bin" From 57c9bef9937ee7393433e5daacffa61f80ac255c Mon Sep 17 00:00:00 2001 From: defnax Date: Sat, 27 Aug 2016 18:15:13 +0200 Subject: [PATCH 150/158] updated settings icons and some missed one --- retroshare-gui/src/gui/FriendsDialog.cpp | 2 +- .../src/gui/Identity/IdEditDialog.cpp | 4 +- retroshare-gui/src/gui/icons.qrc | 173 ++++++++++-------- .../src/gui/icons/settings/appearance.svg | 59 ++++++ .../src/gui/icons/settings/channels.svg | 87 +++++++++ .../src/gui/icons/settings/chat.svg | 108 +++++++++++ .../src/gui/icons/settings/directories.svg | 60 ++++++ .../src/gui/icons/settings/filesharing.svg | 89 +++++++++ .../src/gui/icons/settings/forums.svg | 60 ++++++ .../src/gui/icons/settings/general.svg | 62 +++++++ .../src/gui/icons/settings/messages.svg | 75 ++++++++ .../src/gui/icons/settings/network.svg | 68 +++++++ .../src/gui/icons/settings/notify.svg | 82 +++++++++ .../src/gui/icons/settings/people.svg | 105 +++++++++++ .../src/gui/icons/settings/permissions.svg | 56 ++++++ .../src/gui/icons/settings/plugins.svg | 57 ++++++ .../src/gui/icons/settings/posted.svg | 78 ++++++++ .../src/gui/icons/settings/profile.svg | 77 ++++++++ .../src/gui/icons/settings/server.svg | 60 ++++++ .../src/gui/icons/settings/sound.svg | 56 ++++++ .../src/gui/icons/settings/webinterface.svg | 96 ++++++++++ retroshare-gui/src/gui/icons/svg/keyring.svg | 7 + .../src/gui/settings/AppearancePage.h | 2 +- retroshare-gui/src/gui/settings/ChannelPage.h | 2 +- retroshare-gui/src/gui/settings/ChatPage.h | 2 +- retroshare-gui/src/gui/settings/CryptoPage.h | 2 +- .../src/gui/settings/DirectoriesPage.h | 2 +- retroshare-gui/src/gui/settings/ForumPage.h | 2 +- retroshare-gui/src/gui/settings/GeneralPage.h | 2 +- retroshare-gui/src/gui/settings/MessagePage.h | 2 +- retroshare-gui/src/gui/settings/NetworkPage.h | 2 +- retroshare-gui/src/gui/settings/NotifyPage.h | 2 +- retroshare-gui/src/gui/settings/PeoplePage.h | 2 +- retroshare-gui/src/gui/settings/PluginsPage.h | 2 +- retroshare-gui/src/gui/settings/PostedPage.h | 2 +- retroshare-gui/src/gui/settings/RelayPage.h | 2 +- retroshare-gui/src/gui/settings/ServerPage.h | 2 +- .../src/gui/settings/ServicePermissionsPage.h | 2 +- retroshare-gui/src/gui/settings/SoundPage.h | 2 +- .../src/gui/settings/TransferPage.h | 2 +- retroshare-gui/src/gui/settings/WebuiPage.h | 2 +- retroshare-gui/src/gui/settings/settings.ui | 6 + 42 files changed, 1466 insertions(+), 99 deletions(-) create mode 100644 retroshare-gui/src/gui/icons/settings/appearance.svg create mode 100644 retroshare-gui/src/gui/icons/settings/channels.svg create mode 100644 retroshare-gui/src/gui/icons/settings/chat.svg create mode 100644 retroshare-gui/src/gui/icons/settings/directories.svg create mode 100644 retroshare-gui/src/gui/icons/settings/filesharing.svg create mode 100644 retroshare-gui/src/gui/icons/settings/forums.svg create mode 100644 retroshare-gui/src/gui/icons/settings/general.svg create mode 100644 retroshare-gui/src/gui/icons/settings/messages.svg create mode 100644 retroshare-gui/src/gui/icons/settings/network.svg create mode 100644 retroshare-gui/src/gui/icons/settings/notify.svg create mode 100644 retroshare-gui/src/gui/icons/settings/people.svg create mode 100644 retroshare-gui/src/gui/icons/settings/permissions.svg create mode 100644 retroshare-gui/src/gui/icons/settings/plugins.svg create mode 100644 retroshare-gui/src/gui/icons/settings/posted.svg create mode 100644 retroshare-gui/src/gui/icons/settings/profile.svg create mode 100644 retroshare-gui/src/gui/icons/settings/server.svg create mode 100644 retroshare-gui/src/gui/icons/settings/sound.svg create mode 100644 retroshare-gui/src/gui/icons/settings/webinterface.svg create mode 100644 retroshare-gui/src/gui/icons/svg/keyring.svg diff --git a/retroshare-gui/src/gui/FriendsDialog.cpp b/retroshare-gui/src/gui/FriendsDialog.cpp index 905f79906..4590ccdc5 100644 --- a/retroshare-gui/src/gui/FriendsDialog.cpp +++ b/retroshare-gui/src/gui/FriendsDialog.cpp @@ -52,7 +52,7 @@ //#define IMAGE_NEWSFEED "" //#define IMAGE_NEWSFEED_NEW ":/images/message-state-new.png" #define IMAGE_NETWORK2 ":/icons/png/netgraph.png" -#define IMAGE_PEERS ":/images/groupchat.png" +#define IMAGE_PEERS ":/icons/png/keyring.png" #define IMAGE_IDENTITY ":/images/identity/identities_32.png" #define IMAGE_CIRCLES ":/icons/png/circles.png" diff --git a/retroshare-gui/src/gui/Identity/IdEditDialog.cpp b/retroshare-gui/src/gui/Identity/IdEditDialog.cpp index 97b10ac4e..f99ebaf03 100644 --- a/retroshare-gui/src/gui/Identity/IdEditDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdEditDialog.cpp @@ -49,7 +49,7 @@ IdEditDialog::IdEditDialog(QWidget *parent) : ui->setupUi(this); - ui->headerFrame->setHeaderImage(QPixmap(":/images/identity/identity_create_64.png")); + ui->headerFrame->setHeaderImage(QPixmap(":/icons/png/person.png")); ui->headerFrame->setHeaderText(tr("Create New Identity")); /* Setup UI helper */ @@ -202,7 +202,7 @@ void IdEditDialog::setAvatar(const QPixmap &avatar) void IdEditDialog::setupExistingId(const RsGxsGroupId &keyId) { setWindowTitle(tr("Edit identity")); - ui->headerFrame->setHeaderImage(QPixmap(":/images/identity/identity_edit_64.png")); + ui->headerFrame->setHeaderImage(QPixmap(":/icons/png/person.png")); ui->headerFrame->setHeaderText(tr("Edit identity")); mIsNew = false; diff --git a/retroshare-gui/src/gui/icons.qrc b/retroshare-gui/src/gui/icons.qrc index 142e37671..c0958e29e 100644 --- a/retroshare-gui/src/gui/icons.qrc +++ b/retroshare-gui/src/gui/icons.qrc @@ -1,80 +1,98 @@ - - icons/add_user_256.png - icons/anonymous_blue_128.png - icons/anonymous_green_128.png - icons/aol.png - icons/avatar_128.png - icons/avatar_grey_128.png - icons/blank_blue_128.png - icons/blank_green_128.png - icons/browsable_blue_128.png - icons/browsable_green_128.png - icons/bullet_blue_128.png - icons/bullet_green_128.png - icons/bullet_grey_128.png - icons/bullet_red_128.png - icons/bullet_yellow_128.png - icons/channels_128.png - icons/channels_red_128.png - icons/chat_128.png - icons/chat_red_128.png - icons/circles_128.png - icons/circles_new_128.png - icons/friends_128.png - icons/global_switch_off_128.png - icons/global_switch_on_128.png - icons/gmail.png - icons/help_128.png - icons/help_64.png - icons/information_128.png - icons/internet_128.png - icons/knews_128.png - icons/knews_red_128.png - icons/konversation_128.png - icons/konversation128.png - icons/konversation_red_128.png - icons/ktorrent_128.png - icons/ktorrent_red_128.png - icons/logo_0_connected_128.png - icons/logo_128.png - icons/logo_1_connected_128.png - icons/logo_2_connected_128.png - icons/mail_128.png - icons/mail_old_128.png - icons/mail_red_128.png - icons/newsfeed128.png - icons/outlook.png - icons/plugins_128.png - icons/posted_128.png - icons/posted_red_128.png - icons/quit_128.png - icons/security_high_128.png - icons/security_low_128.png - icons/security_medium_128.png - icons/star_overlay_128.png - icons/switch00_128.png - icons/switch01_128.png - icons/switch10_128.png - icons/switch11_128.png - icons/system_128.png - icons/tile_checking_48.png - icons/tile_downloaded_48.png - icons/tile_downloading_48.png - icons/tile_inactive_48.png - icons/tor-logo.png - icons/tor-off.png - icons/tor-on.png - icons/tor-starting.png - icons/tor-stopping.png - icons/user-away_64.png - icons/user-away-extended_64.png - icons/user-busy_64.png - icons/user-offline_64.png - icons/user-online_64.png - icons/yahoo.png - icons/yandex.png - icons/yellow_biohazard64.png + + icons/settings/appearance.svg + icons/settings/channels.svg + icons/settings/chat.svg + icons/settings/directories.svg + icons/settings/filesharing.svg + icons/settings/forums.svg + icons/settings/general.svg + icons/settings/messages.svg + icons/settings/network.svg + icons/settings/notify.svg + icons/settings/people.svg + icons/settings/permissions.svg + icons/settings/plugins.svg + icons/settings/posted.svg + icons/settings/profile.svg + icons/settings/server.svg + icons/settings/sound.svg + icons/settings/webinterface.svg + icons/add_user_256.png + icons/anonymous_blue_128.png + icons/anonymous_green_128.png + icons/aol.png + icons/avatar_128.png + icons/avatar_grey_128.png + icons/blank_blue_128.png + icons/blank_green_128.png + icons/browsable_blue_128.png + icons/browsable_green_128.png + icons/bullet_blue_128.png + icons/bullet_green_128.png + icons/bullet_grey_128.png + icons/bullet_red_128.png + icons/bullet_yellow_128.png + icons/channels_128.png + icons/channels_red_128.png + icons/chat_128.png + icons/chat_red_128.png + icons/circles_128.png + icons/circles_new_128.png + icons/friends_128.png + icons/global_switch_off_128.png + icons/global_switch_on_128.png + icons/gmail.png + icons/help_128.png + icons/help_64.png + icons/information_128.png + icons/internet_128.png + icons/knews_128.png + icons/knews_red_128.png + icons/konversation_128.png + icons/konversation128.png + icons/konversation_red_128.png + icons/ktorrent_128.png + icons/ktorrent_red_128.png + icons/logo_0_connected_128.png + icons/logo_128.png + icons/logo_1_connected_128.png + icons/logo_2_connected_128.png + icons/mail_128.png + icons/mail_old_128.png + icons/mail_red_128.png + icons/newsfeed128.png + icons/outlook.png + icons/plugins_128.png + icons/posted_128.png + icons/posted_red_128.png + icons/quit_128.png + icons/security_high_128.png + icons/security_low_128.png + icons/security_medium_128.png + icons/star_overlay_128.png + icons/switch00_128.png + icons/switch01_128.png + icons/switch10_128.png + icons/switch11_128.png + icons/system_128.png + icons/tile_checking_48.png + icons/tile_downloaded_48.png + icons/tile_downloading_48.png + icons/tile_inactive_48.png + icons/tor-logo.png + icons/tor-off.png + icons/tor-on.png + icons/tor-starting.png + icons/tor-stopping.png + icons/user-away_64.png + icons/user-away-extended_64.png + icons/user-busy_64.png + icons/user-offline_64.png + icons/user-online_64.png + icons/yahoo.png + icons/yandex.png + icons/yellow_biohazard64.png icons/png/attach.png icons/png/attach-image.png icons/png/highlight.png @@ -116,5 +134,6 @@ icons/png/network-puplic.png icons/png/circles.png icons/png/person.png - + icons/png/keyring.png + diff --git a/retroshare-gui/src/gui/icons/settings/appearance.svg b/retroshare-gui/src/gui/icons/settings/appearance.svg new file mode 100644 index 000000000..ca56d4d2d --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/appearance.svg @@ -0,0 +1,59 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/channels.svg b/retroshare-gui/src/gui/icons/settings/channels.svg new file mode 100644 index 000000000..75b880846 --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/channels.svg @@ -0,0 +1,87 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/chat.svg b/retroshare-gui/src/gui/icons/settings/chat.svg new file mode 100644 index 000000000..c57b16c05 --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/chat.svg @@ -0,0 +1,108 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/directories.svg b/retroshare-gui/src/gui/icons/settings/directories.svg new file mode 100644 index 000000000..7dad5c30d --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/directories.svg @@ -0,0 +1,60 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/filesharing.svg b/retroshare-gui/src/gui/icons/settings/filesharing.svg new file mode 100644 index 000000000..99fea17dd --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/filesharing.svg @@ -0,0 +1,89 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/forums.svg b/retroshare-gui/src/gui/icons/settings/forums.svg new file mode 100644 index 000000000..c2df1e642 --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/forums.svg @@ -0,0 +1,60 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/general.svg b/retroshare-gui/src/gui/icons/settings/general.svg new file mode 100644 index 000000000..fd4153991 --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/general.svg @@ -0,0 +1,62 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/messages.svg b/retroshare-gui/src/gui/icons/settings/messages.svg new file mode 100644 index 000000000..9b60cc9f8 --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/messages.svg @@ -0,0 +1,75 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/network.svg b/retroshare-gui/src/gui/icons/settings/network.svg new file mode 100644 index 000000000..861b298bd --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/network.svg @@ -0,0 +1,68 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/notify.svg b/retroshare-gui/src/gui/icons/settings/notify.svg new file mode 100644 index 000000000..9edd93369 --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/notify.svg @@ -0,0 +1,82 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/people.svg b/retroshare-gui/src/gui/icons/settings/people.svg new file mode 100644 index 000000000..05ebc1032 --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/people.svg @@ -0,0 +1,105 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/permissions.svg b/retroshare-gui/src/gui/icons/settings/permissions.svg new file mode 100644 index 000000000..5c52870d9 --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/permissions.svg @@ -0,0 +1,56 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/plugins.svg b/retroshare-gui/src/gui/icons/settings/plugins.svg new file mode 100644 index 000000000..93bdd8dbe --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/plugins.svg @@ -0,0 +1,57 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/posted.svg b/retroshare-gui/src/gui/icons/settings/posted.svg new file mode 100644 index 000000000..11083d58c --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/posted.svg @@ -0,0 +1,78 @@ + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/profile.svg b/retroshare-gui/src/gui/icons/settings/profile.svg new file mode 100644 index 000000000..5060830cc --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/profile.svg @@ -0,0 +1,77 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/server.svg b/retroshare-gui/src/gui/icons/settings/server.svg new file mode 100644 index 000000000..b1c0ace27 --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/server.svg @@ -0,0 +1,60 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/sound.svg b/retroshare-gui/src/gui/icons/settings/sound.svg new file mode 100644 index 000000000..ba6fd8c2d --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/sound.svg @@ -0,0 +1,56 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/settings/webinterface.svg b/retroshare-gui/src/gui/icons/settings/webinterface.svg new file mode 100644 index 000000000..45e903455 --- /dev/null +++ b/retroshare-gui/src/gui/icons/settings/webinterface.svg @@ -0,0 +1,96 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/keyring.svg b/retroshare-gui/src/gui/icons/svg/keyring.svg new file mode 100644 index 000000000..3f2568f95 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/keyring.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/retroshare-gui/src/gui/settings/AppearancePage.h b/retroshare-gui/src/gui/settings/AppearancePage.h index 00a248199..ae711eed0 100755 --- a/retroshare-gui/src/gui/settings/AppearancePage.h +++ b/retroshare-gui/src/gui/settings/AppearancePage.h @@ -38,7 +38,7 @@ public: /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/images/looknfeel.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/appearance.svg") ; } virtual QString pageName() const { return tr("Appearance") ; } virtual QString helpText() const { return ""; } diff --git a/retroshare-gui/src/gui/settings/ChannelPage.h b/retroshare-gui/src/gui/settings/ChannelPage.h index 2e603bb36..40e343fc0 100644 --- a/retroshare-gui/src/gui/settings/ChannelPage.h +++ b/retroshare-gui/src/gui/settings/ChannelPage.h @@ -38,7 +38,7 @@ public: /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/images/channels.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/channels.svg") ; } virtual QString pageName() const { return tr("Channels") ; } virtual QString helpText() const { return ""; } diff --git a/retroshare-gui/src/gui/settings/ChatPage.h b/retroshare-gui/src/gui/settings/ChatPage.h index f9a85d72b..f6445d4d5 100644 --- a/retroshare-gui/src/gui/settings/ChatPage.h +++ b/retroshare-gui/src/gui/settings/ChatPage.h @@ -40,7 +40,7 @@ class ChatPage : public ConfigPage /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/images/chat_24.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/chat.svg") ; } virtual QString pageName() const { return tr("Chat") ; } virtual QString helpText() const { return ""; } diff --git a/retroshare-gui/src/gui/settings/CryptoPage.h b/retroshare-gui/src/gui/settings/CryptoPage.h index d970b3c8b..a1bcb42f0 100755 --- a/retroshare-gui/src/gui/settings/CryptoPage.h +++ b/retroshare-gui/src/gui/settings/CryptoPage.h @@ -39,7 +39,7 @@ class CryptoPage : public ConfigPage virtual bool save(QString &errmsg); /** Loads the settings for this page */ - virtual QPixmap iconPixmap() const { return QPixmap(":/images/contact22.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/profile.svg") ; } virtual QString pageName() const { return tr("Node") ; } virtual QString helpText() const { return ""; } diff --git a/retroshare-gui/src/gui/settings/DirectoriesPage.h b/retroshare-gui/src/gui/settings/DirectoriesPage.h index 4115015bb..97eedad6b 100755 --- a/retroshare-gui/src/gui/settings/DirectoriesPage.h +++ b/retroshare-gui/src/gui/settings/DirectoriesPage.h @@ -37,7 +37,7 @@ public: /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/images/folder_doments.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/directories.svg") ; } virtual QString pageName() const { return tr("Directories") ; } virtual QString helpText() const { return ""; } diff --git a/retroshare-gui/src/gui/settings/ForumPage.h b/retroshare-gui/src/gui/settings/ForumPage.h index e4df841ca..6e1082a19 100644 --- a/retroshare-gui/src/gui/settings/ForumPage.h +++ b/retroshare-gui/src/gui/settings/ForumPage.h @@ -38,7 +38,7 @@ public: /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/images/konversation.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/forums.svg") ; } virtual QString pageName() const { return tr("Forum") ; } virtual QString helpText() const { return ""; } diff --git a/retroshare-gui/src/gui/settings/GeneralPage.h b/retroshare-gui/src/gui/settings/GeneralPage.h index 5460923ad..fd7b90a33 100755 --- a/retroshare-gui/src/gui/settings/GeneralPage.h +++ b/retroshare-gui/src/gui/settings/GeneralPage.h @@ -41,7 +41,7 @@ public: /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/icons/system_128.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/general.svg") ; } virtual QString pageName() const { return tr("General") ; } virtual QString helpText() const { return ""; } diff --git a/retroshare-gui/src/gui/settings/MessagePage.h b/retroshare-gui/src/gui/settings/MessagePage.h index e79405ae8..99d3ca5f2 100644 --- a/retroshare-gui/src/gui/settings/MessagePage.h +++ b/retroshare-gui/src/gui/settings/MessagePage.h @@ -42,7 +42,7 @@ public: /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/images/evolution.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/messages.svg") ; } virtual QString pageName() const { return tr("Message") ; } virtual QString helpText() const { return ""; } diff --git a/retroshare-gui/src/gui/settings/NetworkPage.h b/retroshare-gui/src/gui/settings/NetworkPage.h index 781bdc3be..9244e99a0 100755 --- a/retroshare-gui/src/gui/settings/NetworkPage.h +++ b/retroshare-gui/src/gui/settings/NetworkPage.h @@ -36,7 +36,7 @@ public: /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/images/server_24x24.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/network.svg") ; } virtual QString pageName() const { return tr("Network") ; } private: diff --git a/retroshare-gui/src/gui/settings/NotifyPage.h b/retroshare-gui/src/gui/settings/NotifyPage.h index 408bd7cfe..900c8efb6 100755 --- a/retroshare-gui/src/gui/settings/NotifyPage.h +++ b/retroshare-gui/src/gui/settings/NotifyPage.h @@ -81,7 +81,7 @@ public: /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/images/status_unknown.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/notify.svg") ; } virtual QString pageName() const { return tr("Notify") ; } virtual QString helpText() const ; diff --git a/retroshare-gui/src/gui/settings/PeoplePage.h b/retroshare-gui/src/gui/settings/PeoplePage.h index 94a576198..393436f57 100644 --- a/retroshare-gui/src/gui/settings/PeoplePage.h +++ b/retroshare-gui/src/gui/settings/PeoplePage.h @@ -38,7 +38,7 @@ public: /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/icons/friends_128.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/people.svg") ; } virtual QString pageName() const { return tr("People") ; } virtual QString helpText() const { return ""; } diff --git a/retroshare-gui/src/gui/settings/PluginsPage.h b/retroshare-gui/src/gui/settings/PluginsPage.h index 9b9dd8349..08354ca68 100644 --- a/retroshare-gui/src/gui/settings/PluginsPage.h +++ b/retroshare-gui/src/gui/settings/PluginsPage.h @@ -37,7 +37,7 @@ class PluginsPage : public ConfigPage /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/images/extension_32.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/plugins.svg") ; } virtual QString pageName() const { return tr("Plugins") ; } virtual QString helpText() const ; diff --git a/retroshare-gui/src/gui/settings/PostedPage.h b/retroshare-gui/src/gui/settings/PostedPage.h index d04850f5e..73a454c5f 100644 --- a/retroshare-gui/src/gui/settings/PostedPage.h +++ b/retroshare-gui/src/gui/settings/PostedPage.h @@ -41,7 +41,7 @@ public: /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/images/posted_32.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/posted.svg") ; } virtual QString pageName() const { return tr("Posted") ; } virtual QString helpText() const { return ""; } diff --git a/retroshare-gui/src/gui/settings/RelayPage.h b/retroshare-gui/src/gui/settings/RelayPage.h index 82825175f..d88dbd07b 100644 --- a/retroshare-gui/src/gui/settings/RelayPage.h +++ b/retroshare-gui/src/gui/settings/RelayPage.h @@ -40,7 +40,7 @@ class RelayPage: public ConfigPage /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/images/server_24x24.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/server.svg") ; } virtual QString pageName() const { return tr("Relay") ; } virtual QString helpText() const ; diff --git a/retroshare-gui/src/gui/settings/ServerPage.h b/retroshare-gui/src/gui/settings/ServerPage.h index 6d8399974..686c1b3d9 100755 --- a/retroshare-gui/src/gui/settings/ServerPage.h +++ b/retroshare-gui/src/gui/settings/ServerPage.h @@ -45,7 +45,7 @@ public: /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/images/server_24x24.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/png/network.png") ; } virtual QString pageName() const { return tr("Network") ; } virtual QString helpText() const { return ""; } diff --git a/retroshare-gui/src/gui/settings/ServicePermissionsPage.h b/retroshare-gui/src/gui/settings/ServicePermissionsPage.h index 1e4f5c973..abc54c9b0 100644 --- a/retroshare-gui/src/gui/settings/ServicePermissionsPage.h +++ b/retroshare-gui/src/gui/settings/ServicePermissionsPage.h @@ -40,7 +40,7 @@ public: /** Loads the settings for this page */ virtual void load() {} - virtual QPixmap iconPixmap() const { return QPixmap(":/images/admin-24.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/permissions.svg") ; } virtual QString pageName() const { return tr("Permissions") ; } virtual QString helpText() const ; diff --git a/retroshare-gui/src/gui/settings/SoundPage.h b/retroshare-gui/src/gui/settings/SoundPage.h index 8889bd897..831233784 100644 --- a/retroshare-gui/src/gui/settings/SoundPage.h +++ b/retroshare-gui/src/gui/settings/SoundPage.h @@ -42,7 +42,7 @@ public: /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/images/sound.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/sound.svg") ; } virtual QString pageName() const { return tr("Sound") ; } virtual QString helpText() const { return ""; } diff --git a/retroshare-gui/src/gui/settings/TransferPage.h b/retroshare-gui/src/gui/settings/TransferPage.h index 4cb66e13c..3a28f41ac 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.h +++ b/retroshare-gui/src/gui/settings/TransferPage.h @@ -40,7 +40,7 @@ class TransferPage: public ConfigPage /** Loads the settings for this page */ virtual void load() {} - virtual QPixmap iconPixmap() const { return QPixmap(":/images/ktorrent32.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/filesharing.svg") ; } virtual QString pageName() const { return tr("File transfer") ; } virtual QString helpText() const { return ""; } diff --git a/retroshare-gui/src/gui/settings/WebuiPage.h b/retroshare-gui/src/gui/settings/WebuiPage.h index 7da68c21d..3ff6a45a9 100644 --- a/retroshare-gui/src/gui/settings/WebuiPage.h +++ b/retroshare-gui/src/gui/settings/WebuiPage.h @@ -25,7 +25,7 @@ public: /** Loads the settings for this page */ virtual void load(); - virtual QPixmap iconPixmap() const { return QPixmap(":/images/emblem-web.png") ; } + virtual QPixmap iconPixmap() const { return QPixmap(":/icons/settings/webinterface.svg") ; } virtual QString pageName() const { return tr("Webinterface") ; } virtual QString helpText() const; diff --git a/retroshare-gui/src/gui/settings/settings.ui b/retroshare-gui/src/gui/settings/settings.ui index 569738f45..8d774dce2 100755 --- a/retroshare-gui/src/gui/settings/settings.ui +++ b/retroshare-gui/src/gui/settings/settings.ui @@ -120,6 +120,12 @@ Qt::IgnoreAction + + + 24 + 24 + + Qt::ElideRight From 19443dabf992de0c502031c5090808a76570bf72 Mon Sep 17 00:00:00 2001 From: defnax Date: Sat, 27 Aug 2016 20:16:04 +0200 Subject: [PATCH 151/158] added missed icon --- retroshare-gui/src/gui/icons/png/keyring.png | Bin 0 -> 4853 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 retroshare-gui/src/gui/icons/png/keyring.png diff --git a/retroshare-gui/src/gui/icons/png/keyring.png b/retroshare-gui/src/gui/icons/png/keyring.png new file mode 100644 index 0000000000000000000000000000000000000000..d14be9a988a579763a1f7a1d3bf1e4a592139910 GIT binary patch literal 4853 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 btq%BqQ}jUHGA;yt00000NkvXXu0mjfS>kB% literal 0 HcmV?d00001 From a82f3149d301e64c4ef921c205435ae9b36bd309 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 29 Aug 2016 20:51:44 +0200 Subject: [PATCH 152/158] removed (unfinished) GettingStarted tab --- retroshare-gui/src/gui/MainWindow.cpp | 1 + retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/MainWindow.cpp b/retroshare-gui/src/gui/MainWindow.cpp index d23a2e954..4f8cfb37e 100644 --- a/retroshare-gui/src/gui/MainWindow.cpp +++ b/retroshare-gui/src/gui/MainWindow.cpp @@ -404,6 +404,7 @@ void MainWindow::initStackedPage() #endif #endif +#undef GETSTARTED_GUI #ifdef GETSTARTED_GUI MainPage *getStartedPage = NULL; diff --git a/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp b/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp index cb49de349..f995029ee 100755 --- a/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp +++ b/retroshare-gui/src/gui/connect/ConnectFriendWizard.cpp @@ -38,13 +38,13 @@ #include "gui/common/PeerDefs.h" #include "gui/notifyqt.h" #include "gui/common/GroupDefs.h" -#include "gui/GetStartedDialog.h" #include "gui/msgs/MessageComposer.h" #include #include #include "ConnectProgressDialog.h" +#include "gui/GetStartedDialog.h" //#define FRIEND_WIZARD_DEBUG From 3b37fcc4a8d8f8f3fed16fd166468bfe04c642eb Mon Sep 17 00:00:00 2001 From: cyril soler Date: Tue, 30 Aug 2016 14:18:36 +0200 Subject: [PATCH 153/158] updated help text for circles --- retroshare-gui/src/gui/Identity/IdDialog.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/retroshare-gui/src/gui/Identity/IdDialog.cpp b/retroshare-gui/src/gui/Identity/IdDialog.cpp index 6818e2f84..20bef5ccf 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.cpp +++ b/retroshare-gui/src/gui/Identity/IdDialog.cpp @@ -335,12 +335,10 @@ IdDialog::IdDialog(QWidget *parent) : Signed identities are easier to trust but are easily linked to your node's IP address.

\

Anonymous identities allow you to anonymously interact with other users. They cannot be \ spoofed, but noone can prove who really owns a given identity.

\ -

External circles are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be \ +

Circles are groups of identities (anonymous or signed), that are shared at a distance over the network. They can be \ used to restrict the visibility to forums, channels, etc.

\ -

An external circle can be restricted to another circle, thereby limiting its visibility to members of that circle \ - or even self-restricted, meaning that it is only visible to its members.

\ -

A local circle is a group of friend nodes (represented by their PGP Ids), and can also be used to restrict the \ - visibility of forums and channels. They are not shared over the network, and their list of members is only visible to you.

") ; +

An circle can be restricted to another circle, thereby limiting its visibility to members of that circle \ + or even self-restricted, meaning that it is only visible to invited members.

") ; registerHelpButton(ui->helpButton, hlp_str) ; From 7ffe59cb2d1e175af4c1e358c20bb6cef31ecd14 Mon Sep 17 00:00:00 2001 From: thunder2 Date: Sun, 28 Aug 2016 22:28:51 +0200 Subject: [PATCH 154/158] Added build scripts for external libraries with MSYS --- win_build_libs/.gitignore | 6 + win_build_libs/1-prepare.bat | 43 +++ win_build_libs/2-install-msys.bat | 70 ++++ win_build_libs/3-build-libs.bat | 29 ++ win_build_libs/Makefile | 142 +++---- win_build_libs/Tools/winhttpjs.bat | 584 +++++++++++++++++++++++++++++ win_build_libs/_env.bat | 9 + win_build_libs/clean-all.bat | 30 ++ win_build_libs/clean.bat | 36 ++ win_build_libs/update-msys.bat | 16 + 10 files changed, 894 insertions(+), 71 deletions(-) create mode 100644 win_build_libs/.gitignore create mode 100644 win_build_libs/1-prepare.bat create mode 100644 win_build_libs/2-install-msys.bat create mode 100644 win_build_libs/3-build-libs.bat create mode 100644 win_build_libs/Tools/winhttpjs.bat create mode 100644 win_build_libs/_env.bat create mode 100644 win_build_libs/clean-all.bat create mode 100644 win_build_libs/clean.bat create mode 100644 win_build_libs/update-msys.bat diff --git a/win_build_libs/.gitignore b/win_build_libs/.gitignore new file mode 100644 index 000000000..9f502e129 --- /dev/null +++ b/win_build_libs/.gitignore @@ -0,0 +1,6 @@ +/download +/msys +/libs +/tools/7z.dll +/tools/7z.exe +/tools/curl.exe \ No newline at end of file diff --git a/win_build_libs/1-prepare.bat b/win_build_libs/1-prepare.bat new file mode 100644 index 000000000..4c93d54ef --- /dev/null +++ b/win_build_libs/1-prepare.bat @@ -0,0 +1,43 @@ +@setlocal + +@echo off + +:: Initialize environment +call "%~dp0_env.bat" + +set SevenZipUrl=http://7-zip.org/a/7z1602.msi +set SevenZipInstall=7z1602.msi +set CurlUrl=https://bintray.com/artifact/download/vszakats/generic/curl-7.50.1-win32-mingw.7z +set CurlInstall=curl-7.50.1-win32-mingw.7z + +if not exist "%DownloadPath%" mkdir "%DownloadPath%" + +call :remove_dir "%TempPath%" + +echo Download installation files +if not exist "%DownloadPath%\%SevenZipInstall%" call "%ToolsPath%\winhttpjs.bat" %SevenZipUrl% -saveTo "%DownloadPath%\%SevenZipInstall%" +if not exist "%DownloadPath%\%SevenZipInstall%" echo Cannot download 7z& goto :exit + +if not exist "%DownloadPath%\%CurlInstall%" call "%ToolsPath%\winhttpjs.bat" %CurlUrl% -saveTo "%DownloadPath%\%CurlInstall%" +if not exist "%DownloadPath%\%CurlInstall%" echo Cannot download Curl& goto :exit + +echo Unpack 7z +msiexec /a "%DownloadPath%\%SevenZipInstall%" /qb TARGETDIR="%TempPath%" +copy "%TempPath%\Files\7-Zip\7z.dll" "%ToolsPath%" +copy "%TempPath%\Files\7-Zip\7z.exe" "%ToolsPath%" +call :remove_dir "%TempPath%" + +echo Unpack Curl +"%SevenZipExe%" x -o"%TempPath%" "%DownloadPath%\%CurlInstall%" +copy "%TempPath%\curl-7.50.1-win32-mingw\bin\curl.exe" "%ToolsPath%" +call :remove_dir "%TempPath%" + +:exit +endlocal +exit /B 0 + +:remove_dir +if not exist %1 goto :EOF +del /s /f /q %1 >nul +rmdir /s /q %1 +goto :EOF diff --git a/win_build_libs/2-install-msys.bat b/win_build_libs/2-install-msys.bat new file mode 100644 index 000000000..7e17a2dc0 --- /dev/null +++ b/win_build_libs/2-install-msys.bat @@ -0,0 +1,70 @@ +@setlocal + +@echo off + +:: Initialize environment +call "%~dp0_env.bat" + +set MSYSInstall=mingw-get-0.6.2-mingw32-beta-20131004-1-bin.zip +set CMakeInstall=cmake-3.1.0-win32-x86.zip +set CMakeUnpackPath=%MSYSPath%\msys\1.0 + +if not exist "%DownloadPath%" mkdir "%DownloadPath%" + +echo Check existing installation +if not exist "%MSYSPath%\bin\mingw-get.exe" goto proceed +choice /M "Found existing MSYS version. Do you want to proceed?" +if %ERRORLEVEL%==2 goto exit + +:proceed +echo Remove previous MSYS version +call :remove_dir "%MSYSPath%" + +echo Download installation files +if not exist "%DownloadPath%\%MSYSInstall%" "%CurlExe%" -L -k http://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.6.2-beta-20131004-1/%MSYSInstall%/download -o "%DownloadPath%\%MSYSInstall%" +if not exist "%DownloadPath%%\MSYSInstall%" echo Cannot download MSYS& goto :exit + +if not exist "%DownloadPath%\%CMakeInstall%" "%CurlExe%" -L -k http://www.cmake.org/files/v3.1/cmake-3.1.0-win32-x86.zip -o "%DownloadPath%\%CMakeInstall%" +if not exist "%DownloadPath%\%CMakeInstall%" echo Cannot download CMake& goto :exit + +echo Unpack MSYS +"%SevenZipExe%" x -o"%MSYSPath%" "%DownloadPath%\%MSYSInstall%" + +echo Install MSYS +if not exist "%MSYSPath%\var\lib\mingw-get\data\profile.xml" copy "%MSYSPath%\var\lib\mingw-get\data\defaults.xml" "%MSYSPath%\var\lib\mingw-get\data\profile.xml" +pushd "%MSYSPath%\bin" +mingw-get.exe install mingw32-mingw-get +mingw-get.exe install msys-coreutils +mingw-get.exe install msys-base +mingw-get.exe install msys-autoconf +mingw-get.exe install msys-automake +mingw-get.exe install msys-autogen +mingw-get.exe install msys-mktemp +mingw-get.exe install msys-wget +popd + +echo Unpack CMake +"%SevenZipExe%" x -o"%CMakeUnpackPath%" "%DownloadPath%\%CMakeInstall%" + +echo Install CMake +set CMakeVersion= +for /D %%F in (%CMakeUnpackPath%\cmake*) do set CMakeVersion=%%~nxF +if "%CMakeVersion%"=="" echo CMake version not found.& goto :exit +echo Found CMake version %CMakeVersion% + +set FoundProfile= +for /f "tokens=3" %%F in ('find /c /i "%CMakeVersion%" "%MSYSPath%\msys\1.0\etc\profile"') do set FoundProfile=%%F + +if "%FoundProfile%"=="0" ( + echo export PATH="${PATH}:/%CMakeVersion%/bin">>"%MSYSPath%\msys\1.0\etc\profile" +) + +:exit +endlocal +exit /B 0 + +:remove_dir +if not exist %1 goto :EOF +del /s /f /q %1 >nul +rmdir /s /q %1 +goto :EOF diff --git a/win_build_libs/3-build-libs.bat b/win_build_libs/3-build-libs.bat new file mode 100644 index 000000000..3b7a3c92c --- /dev/null +++ b/win_build_libs/3-build-libs.bat @@ -0,0 +1,29 @@ +@setlocal + +@echo off + +:: Initialize environment +call "%~dp0_env.bat" + +set MSYSSH=%MSYSPath%\msys\1.0\bin\sh.exe +set MSYSCurPath=/%CurPath:~0,1%/%CurPath:~3% +set MSYSCurPath=%MSYSCurPath:\=/% + +if not exist "%MSYSSH%" echo Please install MSYS first.&& exit /B 1 + +set GCCPath= +call :FIND_IN_PATH g++.exe GCCPath +if "%GCCPath%"=="" echo Please run %~nx0 in the Qt Command Prompt or add the path to MinGW bin folder to PATH variable.&& exit /B 1 + +"%MSYSSH%" --login -i -c "cd "%MSYSCurPath%" && make -f makefile %*" + +exit /B %ERRORLEVEL% + +:FIND_IN_PATH +SET PathTemp="%Path:;=";"%" +FOR %%P IN (%PathTemp%) DO ( + IF EXIST "%%~P.\%~1" ( + set %2=%%~P + goto :EOF + ) +) diff --git a/win_build_libs/Makefile b/win_build_libs/Makefile index fc619d7bc..e1d1cdae4 100755 --- a/win_build_libs/Makefile +++ b/win_build_libs/Makefile @@ -1,4 +1,3 @@ -CURL=curl.exe ZLIB_VERSION=1.2.3 BZIP2_VERSION=1.0.6 MINIUPNPC_VERSION=2.0 @@ -17,31 +16,32 @@ FFMPEG_VERSION=3.1.2 all: dirs zlib bzip2 miniupnpc openssl speex speexdsp opencv libxml2 libxslt curl sqlcipher libmicrohttpd ffmpeg copylibs download: \ - zlib-$(ZLIB_VERSION).tar.gz \ - bzip2-$(BZIP2_VERSION).tar.gz \ - miniupnpc-$(MINIUPNPC_VERSION).tar.gz \ - openssl-$(OPENSSL_VERSION).tar.gz \ - speex-$(SPEEX_VERSION).tar.gz \ - speexdsp-$(SPEEXDSP_VERSION).tar.gz \ - opencv-$(OPENCV_VERSION).tar.gz \ - libxml2-$(LIBXML2_VERSION).tar.gz \ - libxslt-$(LIBXSLT_VERSION).tar.gz \ - curl-$(CURL_VERSION).tar.gz \ - tcl$(TCL_VERSION)-src.tar.gz \ - sqlcipher-$(SQLCIPHER_VERSION).tar.gz \ - libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz \ - ffmpeg-$(FFMPEG_VERSION).tar.gz + download/zlib-$(ZLIB_VERSION).tar.gz \ + download/bzip2-$(BZIP2_VERSION).tar.gz \ + download/miniupnpc-$(MINIUPNPC_VERSION).tar.gz \ + download/openssl-$(OPENSSL_VERSION).tar.gz \ + download/speex-$(SPEEX_VERSION).tar.gz \ + download/speexdsp-$(SPEEXDSP_VERSION).tar.gz \ + download/opencv-$(OPENCV_VERSION).tar.gz \ + download/libxml2-$(LIBXML2_VERSION).tar.gz \ + download/libxslt-$(LIBXSLT_VERSION).tar.gz \ + download/curl-$(CURL_VERSION).tar.gz \ + download/tcl$(TCL_VERSION)-src.tar.gz \ + download/sqlcipher-$(SQLCIPHER_VERSION).tar.gz \ + download/libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz \ + download/ffmpeg-$(FFMPEG_VERSION).tar.gz dirs: + mkdir -p download mkdir -p libs/include mkdir -p libs/lib mkdir -p libs/bin -zlib-$(ZLIB_VERSION).tar.gz: - $(CURL) -L -k http://sourceforge.net/projects/libpng/files/zlib/$(ZLIB_VERSION)/zlib-$(ZLIB_VERSION).tar.gz/download -o zlib-$(ZLIB_VERSION).tar.gz +download/zlib-$(ZLIB_VERSION).tar.gz: + wget --no-check-certificate http://sourceforge.net/projects/libpng/files/zlib/$(ZLIB_VERSION)/zlib-$(ZLIB_VERSION).tar.gz/download -O download/zlib-$(ZLIB_VERSION).tar.gz -zlib: zlib-$(ZLIB_VERSION).tar.gz - tar xvf zlib-$(ZLIB_VERSION).tar.gz +zlib: download/zlib-$(ZLIB_VERSION).tar.gz + tar xvf download/zlib-$(ZLIB_VERSION).tar.gz cd zlib-$(ZLIB_VERSION) && ./configure #cd zlib-$(ZLIB_VERSION) && make install prefix="`pwd`/../libs" cd zlib-$(ZLIB_VERSION) && make @@ -51,11 +51,11 @@ zlib: zlib-$(ZLIB_VERSION).tar.gz rm -r -f zlib-$(ZLIB_VERSION) touch zlib -bzip2-$(BZIP2_VERSION).tar.gz: - $(CURL) http://bzip.org/$(BZIP2_VERSION)/bzip2-$(BZIP2_VERSION).tar.gz -o bzip2-$(BZIP2_VERSION).tar.gz +download/bzip2-$(BZIP2_VERSION).tar.gz: + wget http://bzip.org/$(BZIP2_VERSION)/bzip2-$(BZIP2_VERSION).tar.gz -O download/bzip2-$(BZIP2_VERSION).tar.gz -bzip2: bzip2-$(BZIP2_VERSION).tar.gz - tar xvf bzip2-$(BZIP2_VERSION).tar.gz +bzip2: download/bzip2-$(BZIP2_VERSION).tar.gz + tar xvf download/bzip2-$(BZIP2_VERSION).tar.gz #cd bzip2-$(BZIP2_VERSION) && make install PREFIX="`pwd`/../libs" cd bzip2-$(BZIP2_VERSION) && make cp bzip2-$(BZIP2_VERSION)/bzlib.h libs/include/ @@ -63,11 +63,11 @@ bzip2: bzip2-$(BZIP2_VERSION).tar.gz rm -r -f bzip2-$(BZIP2_VERSION) touch bzip2 -miniupnpc-$(MINIUPNPC_VERSION).tar.gz: - $(CURL) -L http://miniupnp.free.fr/files/download.php?file=miniupnpc-$(MINIUPNPC_VERSION).tar.gz -o miniupnpc-$(MINIUPNPC_VERSION).tar.gz +download/miniupnpc-$(MINIUPNPC_VERSION).tar.gz: + wget http://miniupnp.free.fr/files/download.php?file=miniupnpc-$(MINIUPNPC_VERSION).tar.gz -O download/miniupnpc-$(MINIUPNPC_VERSION).tar.gz -miniupnpc: miniupnpc-$(MINIUPNPC_VERSION).tar.gz - tar xvf miniupnpc-$(MINIUPNPC_VERSION).tar.gz +miniupnpc: download/miniupnpc-$(MINIUPNPC_VERSION).tar.gz + tar xvf download/miniupnpc-$(MINIUPNPC_VERSION).tar.gz cd miniupnpc-$(MINIUPNPC_VERSION) && CC=gcc && export CC && make -f Makefile.mingw init libminiupnpc.a miniupnpc.dll mkdir -p libs/include/miniupnpc && cp miniupnpc-$(MINIUPNPC_VERSION)/*.h libs/include/miniupnpc/ cp miniupnpc-$(MINIUPNPC_VERSION)/miniupnpc.lib libs/lib/ @@ -75,11 +75,11 @@ miniupnpc: miniupnpc-$(MINIUPNPC_VERSION).tar.gz rm -r -f miniupnpc-$(MINIUPNPC_VERSION) touch miniupnpc -openssl-$(OPENSSL_VERSION).tar.gz: - $(CURL) -k https://www.openssl.org/source/openssl-$(OPENSSL_VERSION).tar.gz -o openssl-$(OPENSSL_VERSION).tar.gz +download/openssl-$(OPENSSL_VERSION).tar.gz: + wget --no-check-certificate https://www.openssl.org/source/openssl-$(OPENSSL_VERSION).tar.gz -O download/openssl-$(OPENSSL_VERSION).tar.gz -openssl: openssl-$(OPENSSL_VERSION).tar.gz - tar xvf openssl-$(OPENSSL_VERSION).tar.gz +openssl: download/openssl-$(OPENSSL_VERSION).tar.gz + tar xvf download/openssl-$(OPENSSL_VERSION).tar.gz #cd openssl-$(OPENSSL_VERSION) && ./config --prefix="`pwd`/../libs" #cd openssl-$(OPENSSL_VERSION) && make install cd openssl-$(OPENSSL_VERSION) && ./config shared @@ -92,11 +92,11 @@ openssl: openssl-$(OPENSSL_VERSION).tar.gz rm -r -f openssl-$(OPENSSL_VERSION) touch openssl -speex-$(SPEEX_VERSION).tar.gz: - $(CURL) http://downloads.xiph.org/releases/speex/speex-$(SPEEX_VERSION).tar.gz -o speex-$(SPEEX_VERSION).tar.gz +download/speex-$(SPEEX_VERSION).tar.gz: + wget http://downloads.xiph.org/releases/speex/speex-$(SPEEX_VERSION).tar.gz -O download/speex-$(SPEEX_VERSION).tar.gz -speex: speex-$(SPEEX_VERSION).tar.gz - tar xvf speex-$(SPEEX_VERSION).tar.gz +speex: download/speex-$(SPEEX_VERSION).tar.gz + tar xvf download/speex-$(SPEEX_VERSION).tar.gz cd speex-$(SPEEX_VERSION) && ./configure #cd speex-$(SPEEX_VERSION) && make install exec_prefix="`pwd`/../libs" cd speex-$(SPEEX_VERSION) && make @@ -105,11 +105,11 @@ speex: speex-$(SPEEX_VERSION).tar.gz rm -r -f speex-$(SPEEX_VERSION) touch speex -speexdsp-$(SPEEXDSP_VERSION).tar.gz: - $(CURL) http://downloads.xiph.org/releases/speex/speexdsp-$(SPEEXDSP_VERSION).tar.gz -o speexdsp-$(SPEEXDSP_VERSION).tar.gz +download/speexdsp-$(SPEEXDSP_VERSION).tar.gz: + wget http://downloads.xiph.org/releases/speex/speexdsp-$(SPEEXDSP_VERSION).tar.gz -O download/speexdsp-$(SPEEXDSP_VERSION).tar.gz -speexdsp: speexdsp-$(SPEEXDSP_VERSION).tar.gz - tar xvf speexdsp-$(SPEEXDSP_VERSION).tar.gz +speexdsp: download/speexdsp-$(SPEEXDSP_VERSION).tar.gz + tar xvf download/speexdsp-$(SPEEXDSP_VERSION).tar.gz cd speexdsp-$(SPEEXDSP_VERSION) && ./configure cd speexdsp-$(SPEEXDSP_VERSION) && make mkdir -p libs/include/speex && cp speexdsp-$(SPEEXDSP_VERSION)/include/speex/*.h libs/include/speex/ @@ -117,11 +117,11 @@ speexdsp: speexdsp-$(SPEEXDSP_VERSION).tar.gz rm -r -f speexdsp-$(SPEEXDSP_VERSION) touch speexdsp -opencv-$(OPENCV_VERSION).tar.gz: - $(CURL) -L -k https://github.com/Itseez/opencv/archive/$(OPENCV_VERSION).tar.gz -o opencv-$(OPENCV_VERSION).tar.gz +download/opencv-$(OPENCV_VERSION).tar.gz: + wget --no-check-certificate https://github.com/Itseez/opencv/archive/$(OPENCV_VERSION).tar.gz -O download/opencv-$(OPENCV_VERSION).tar.gz -opencv: opencv-$(OPENCV_VERSION).tar.gz - tar xvf opencv-$(OPENCV_VERSION).tar.gz +opencv: download/opencv-$(OPENCV_VERSION).tar.gz + tar xvf download/opencv-$(OPENCV_VERSION).tar.gz mkdir -p opencv-$(OPENCV_VERSION)/build #cd opencv-$(OPENCV_VERSION)/build && cmake .. -G"MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX="`pwd`/../../libs" cd opencv-$(OPENCV_VERSION)/build && cmake .. -G"MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_PERF_TESTS=OFF -DBUILD_TESTS=OFF -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX="`pwd`/install" @@ -131,11 +131,11 @@ opencv: opencv-$(OPENCV_VERSION).tar.gz rm -r -f opencv-$(OPENCV_VERSION) touch opencv -libxml2-$(LIBXML2_VERSION).tar.gz: - $(CURL) ftp://xmlsoft.org/libxml2/libxml2-$(LIBXML2_VERSION).tar.gz -o libxml2-$(LIBXML2_VERSION).tar.gz +download/libxml2-$(LIBXML2_VERSION).tar.gz: + wget ftp://xmlsoft.org/libxml2/libxml2-$(LIBXML2_VERSION).tar.gz -O download/libxml2-$(LIBXML2_VERSION).tar.gz -libxml2: libxml2-$(LIBXML2_VERSION).tar.gz - tar xvf libxml2-$(LIBXML2_VERSION).tar.gz +libxml2: download/libxml2-$(LIBXML2_VERSION).tar.gz + tar xvf download/libxml2-$(LIBXML2_VERSION).tar.gz cd libxml2-$(LIBXML2_VERSION) && ./configure --without-iconv -enable-shared=no #cd libxml2-$(LIBXML2_VERSION) && make install exec_prefix="`pwd`/../libs" cd libxml2-$(LIBXML2_VERSION) && make @@ -143,12 +143,12 @@ libxml2: libxml2-$(LIBXML2_VERSION).tar.gz cp libxml2-$(LIBXML2_VERSION)/.libs/libxml2.a libs/lib/ touch libxml2 -libxslt-$(LIBXSLT_VERSION).tar.gz: - $(CURL) ftp://xmlsoft.org/libxml2/libxslt-$(LIBXSLT_VERSION).tar.gz -o libxslt-$(LIBXSLT_VERSION).tar.gz +download/libxslt-$(LIBXSLT_VERSION).tar.gz: + wget ftp://xmlsoft.org/libxml2/libxslt-$(LIBXSLT_VERSION).tar.gz -O download/libxslt-$(LIBXSLT_VERSION).tar.gz -libxslt: libxml2-$(LIBXML2_VERSION).tar.gz libxslt-$(LIBXSLT_VERSION).tar.gz - tar xvf libxml2-$(LIBXML2_VERSION).tar.gz - tar xvf libxslt-$(LIBXSLT_VERSION).tar.gz +libxslt: download/libxml2-$(LIBXML2_VERSION).tar.gz download/libxslt-$(LIBXSLT_VERSION).tar.gz + tar xvf download/libxml2-$(LIBXML2_VERSION).tar.gz + tar xvf download/libxslt-$(LIBXSLT_VERSION).tar.gz tar xvf libxslt-$(LIBXSLT_VERSION)-fix.tar.gz cd libxslt-$(LIBXSLT_VERSION) && ./configure --with-libxml-src=../libxml2-$(LIBXML2_VERSION) -enable-shared=no CFLAGS=-DLIBXML_STATIC cd libxslt-$(LIBXSLT_VERSION) && make @@ -159,11 +159,11 @@ libxslt: libxml2-$(LIBXML2_VERSION).tar.gz libxslt-$(LIBXSLT_VERSION).tar.gz rm -r -f libxslt-$(LIBXSLT_VERSION) touch libxslt -curl-$(CURL_VERSION).tar.gz: - $(CURL) -L -k http://curl.haxx.se/download/curl-$(CURL_VERSION).tar.gz -o curl-$(CURL_VERSION).tar.gz +download/curl-$(CURL_VERSION).tar.gz: + wget --no-check-certificate http://curl.haxx.se/download/curl-$(CURL_VERSION).tar.gz -O download/curl-$(CURL_VERSION).tar.gz -curl: curl-$(CURL_VERSION).tar.gz - tar xvf curl-$(CURL_VERSION).tar.gz +curl: download/curl-$(CURL_VERSION).tar.gz + tar xvf download/curl-$(CURL_VERSION).tar.gz cd curl-$(CURL_VERSION) && ./configure --disable-shared --with-ssl="`pwd`/../libs" #cd curl-$(CURL_VERSION) && make install exec_prefix="`pwd`/../libs" cd curl-$(CURL_VERSION) && make @@ -172,20 +172,20 @@ curl: curl-$(CURL_VERSION).tar.gz rm -r -f curl-$(CURL_VERSION) touch curl -tcl$(TCL_VERSION)-src.tar.gz: - $(CURL) -L http://prdownloads.sourceforge.net/tcl/tcl$(TCL_VERSION)-src.tar.gz -o tcl$(TCL_VERSION)-src.tar.gz +download/tcl$(TCL_VERSION)-src.tar.gz: + wget http://prdownloads.sourceforge.net/tcl/tcl$(TCL_VERSION)-src.tar.gz -O download/tcl$(TCL_VERSION)-src.tar.gz -sqlcipher-$(SQLCIPHER_VERSION).tar.gz: - $(CURL) -L -k https://github.com/sqlcipher/sqlcipher/archive/v$(SQLCIPHER_VERSION).tar.gz -o sqlcipher-$(SQLCIPHER_VERSION).tar.gz +download/sqlcipher-$(SQLCIPHER_VERSION).tar.gz: + wget --no-check-certificate https://github.com/sqlcipher/sqlcipher/archive/v$(SQLCIPHER_VERSION).tar.gz -O download/sqlcipher-$(SQLCIPHER_VERSION).tar.gz -sqlcipher: tcl$(TCL_VERSION)-src.tar.gz sqlcipher-$(SQLCIPHER_VERSION).tar.gz +sqlcipher: download/tcl$(TCL_VERSION)-src.tar.gz download/sqlcipher-$(SQLCIPHER_VERSION).tar.gz # tcl - tar xvf tcl$(TCL_VERSION)-src.tar.gz + tar xvf download/tcl$(TCL_VERSION)-src.tar.gz mkdir -p tcl$(TCL_VERSION)/build cd tcl$(TCL_VERSION)/build && ../win/configure cd tcl$(TCL_VERSION)/build && make #sqlcipher - tar xvf sqlcipher-$(SQLCIPHER_VERSION).tar.gz + tar xvf download/sqlcipher-$(SQLCIPHER_VERSION).tar.gz cd sqlcipher-$(SQLCIPHER_VERSION) && ln -s ../tcl$(TCL_VERSION)/build/tclsh86.exe tclsh mkdir -p tcl$(TCL_VERSION)/lib ln -s `pwd`/tcl$(TCL_VERSION)/library `pwd`/tcl$(TCL_VERSION)/lib/tcl8.6 @@ -197,21 +197,21 @@ sqlcipher: tcl$(TCL_VERSION)-src.tar.gz sqlcipher-$(SQLCIPHER_VERSION).tar.gz rm -r -f tcl$(TCL_VERSION) touch sqlcipher -libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz: - $(CURL) -L -k http://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz -o libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz +download/libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz: + wget --no-check-certificate http://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz -O download/libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz -libmicrohttpd: libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz - tar xvf libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz +libmicrohttpd: download/libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz + tar xvf download/libmicrohttpd-$(LIBMICROHTTPD_VERSION).tar.gz cd libmicrohttpd-$(LIBMICROHTTPD_VERSION) && ./configure --disable-shared --enable-static --prefix="`pwd`/../libs" cd libmicrohttpd-$(LIBMICROHTTPD_VERSION) && make install rm -r -f libmicrohttpd-$(LIBMICROHTTPD_VERSION) touch libmicrohttpd -ffmpeg-$(FFMPEG_VERSION).tar.gz: - $(CURL) -L -k https://ffmpeg.org/releases/ffmpeg-$(FFMPEG_VERSION).tar.gz -o ffmpeg-$(FFMPEG_VERSION).tar.gz +download/ffmpeg-$(FFMPEG_VERSION).tar.gz: + wget --no-check-certificate https://ffmpeg.org/releases/ffmpeg-$(FFMPEG_VERSION).tar.gz -O download/ffmpeg-$(FFMPEG_VERSION).tar.gz -ffmpeg: ffmpeg-$(FFMPEG_VERSION).tar.gz - tar xvf ffmpeg-$(FFMPEG_VERSION).tar.gz +ffmpeg: download/ffmpeg-$(FFMPEG_VERSION).tar.gz + tar xvf download/ffmpeg-$(FFMPEG_VERSION).tar.gz cd ffmpeg-$(FFMPEG_VERSION) && ./configure --disable-shared --enable-static --disable-programs --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-yasm --disable-everything --enable-encoder=mpeg4 --enable-decoder=mpeg4 --prefix="`pwd`/../libs" cd ffmpeg-$(FFMPEG_VERSION) && make install rm -r -f ffmpeg-$(FFMPEG_VERSION) diff --git a/win_build_libs/Tools/winhttpjs.bat b/win_build_libs/Tools/winhttpjs.bat new file mode 100644 index 000000000..0c1847fac --- /dev/null +++ b/win_build_libs/Tools/winhttpjs.bat @@ -0,0 +1,584 @@ +@if (@X) == (@Y) @end /* JScript comment + @echo off + + rem :: the first argument is the script name as it will be used for proper help message + cscript //E:JScript //nologo "%~f0" "%~nx0" %* + + exit /b %errorlevel% + +@if (@X)==(@Y) @end JScript comment */ + +// used resources + +// update 12.10.15 +// osvikvi(https://github.com/osvikvi) has nodited that the -password option is not set , so this is fixed + +//https://msdn.microsoft.com/en-us/library/windows/desktop/aa384058(v=vs.85).aspx +//https://msdn.microsoft.com/en-us/library/windows/desktop/aa384055(v=vs.85).aspx +//https://msdn.microsoft.com/en-us/library/windows/desktop/aa384059(v=vs.85).aspx + +// global variables and constants + + +// ---------------------------------- +// -- asynch requests not included -- +// ---------------------------------- + + +//todo - save responceStream instead of responceBody !! +//todo - set all winthttp options ->//https://msdn.microsoft.com/en-us/library/windows/desktop/aa384108(v=vs.85).aspx +//todo - log all options +//todo - improve help message . eventual verbose option + + +var ARGS = WScript.Arguments; +var scriptName = ARGS.Item(0); + +var url = ""; +var saveTo = ""; + +var user = 0; +var pass = 0; + +var proxy = 0; +var bypass = 0; +var proxy_user = 0; +var proxy_pass = 0; + +var certificate = 0; + +var force = true; + +var body = ""; + +//ActiveX objects +var WinHTTPObj = new ActiveXObject("WinHttp.WinHttpRequest.5.1"); +var FileSystemObj = new ActiveXObject("Scripting.FileSystemObject"); +var AdoDBObj = new ActiveXObject("ADODB.Stream"); + +// HttpRequest SetCredentials flags. +var proxy_settings = 0; + +// +HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0; +HTTPREQUEST_SETCREDENTIALS_FOR_PROXY = 1; + +//timeouts and their default values +var RESOLVE_TIMEOUT = 0; +var CONNECT_TIMEOUT = 90000; +var SEND_TIMEOUT = 90000; +var RECEIVE_TIMEOUT = 90000; + +//HttpRequestMethod +var http_method = 'GET'; + +//header +var header_file = ""; + +//report +var reportfile = ""; + +//test-this: +var use_stream = false; + +//autologon policy +var autologon_policy = 1; //0,1,2 + + +//headers will be stored as multi-dimensional array +var headers = []; + +//user-agent +var ua = ""; + +//escape URL +var escape = false; + +function printHelp() { + WScript.Echo(scriptName + " - sends HTTP request and saves the request body as a file and/or a report of the sent request"); + WScript.Echo(scriptName + " url [-force yes|no] [-user username -password password] [-proxy proxyserver:port] [-bypass bypass_list]"); + WScript.Echo(" [-proxyuser proxy_username -proxypassword proxy_password] [-certificate certificateString]"); + WScript.Echo(" [-method GET|POST|PATCH|DELETE|HEAD|OPTIONS|CONNECT]"); + WScript.Echo(" [-saveTo file] - to print response to console use con"); + + WScript.Echo(" [-sendTimeout int(milliseconds)]"); + WScript.Echo(" [-resolveTimeout int(milliseconds)]"); + WScript.Echo(" [-connectTimeout int(milliseconds)]"); + WScript.Echo(" [-receiveTimeout int(milliseconds)]"); + + WScript.Echo(" [-autologonPolicy 1|2|3]"); + WScript.Echo(" [-proxySettings 1|2|3] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa384059(v=vs.85).aspx)"); + + //header + WScript.Echo(" [-headers-file header_file]"); + //reportfile + WScript.Echo(" [-reportfile reportfile]"); + WScript.Echo(" [-ua user-agent]"); + WScript.Echo(" [-ua-file user-agent-file]"); + + WScript.Echo(" [-escape yes|no]"); + + WScript.Echo(" [-body body-string]"); + WScript.Echo(" [-body-file body-file]"); + + WScript.Echo("-force - decide to not or to overwrite if the local files exists"); + + WScript.Echo("proxyserver:port - the proxy server"); + WScript.Echo("bypass- bypass list"); + WScript.Echo("proxy_user , proxy_password - credentials for proxy server"); + WScript.Echo("user , password - credentials for the server"); + WScript.Echo("certificate - location of SSL certificate"); + WScript.Echo("method - what HTTP method will be used.Default is GET"); + WScript.Echo("saveTo - save the responce as binary file"); + WScript.Echo(" "); + WScript.Echo("Header file should contain key:value pairs.Lines starting with \"#\" will be ignored."); + WScript.Echo("value should NOT be enclosed with quotes"); + WScript.Echo(" "); + WScript.Echo("Examples:"); + + WScript.Echo(scriptName + " http://somelink.com/somefile.zip -saveTo c:\\somefile.zip -certificate \"LOCAL_MACHINE\\Personal\\My Middle-Tier Certificate\""); + WScript.Echo(scriptName + " http://somelink.com/something.html -method POST -certificate \"LOCAL_MACHINE\\Personal\\My Middle-Tier Certificate\" -header c:\\header_file -reportfile c:\\reportfile.txt"); + WScript.Echo(scriptName + "\"http://somelink\" -method POST -header hdrs.txt -reportfile reportfile2.txt -saveTo responsefile2 -ua \"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36\" -body-file some.json"); + +} + +function parseArgs() { + // + if (ARGS.Length < 2) { + WScript.Echo("insufficient arguments"); + printHelp(); + WScript.Quit(43); + } + // !!! + url = ARGS.Item(1); + // !!! + if (ARGS.Length % 2 != 0) { + WScript.Echo("illegal arguments"); + printHelp(); + WScript.Quit(44); + } + + for (var i = 2; i < ARGS.Length - 1; i = i + 2) { + var arg = ARGS.Item(i).toLowerCase(); + var next = ARGS.Item(i + 1); + + + try { + switch (arg) { // the try-catch is set mainly because of the parseInts + case "-force": + if (next == "no") { + force = false; + } + break; + case "-escape": + if (next == "yes") { + escape = true; + } + break; + case "-saveto": + saveTo = next; + break; + case "-user": + case "-u": + user = next; + break; + case "-pass": + case "-password": + case "-p": + pass = next; + break; + case "-proxy": + proxy = next; + break; + case "-bypass": + bypass = next; + break; + case "-proxyuser": + case "-pu": + proxy_user = next; + break; + case "-proxypassword": + case "-pp": + proxy_pass = next; + break; + case "-ua": + ua = next; + break; + case "-ua-file": + ua = readFile(next); + break; + case "-body": + body = next; + break; + case "-usestream": + //WScript.Echo("~~"); + if (next.toLowerCase() === "yes") { + use_stream = true + }; + break; + case "-body-file": + body = readFile(next); + break; + case "-certificate": + certificate = next; + break; + case "-method": + switch (next.toLowerCase()) { + case "post": + http_method = 'POST'; + break; + case "get": + http_method = 'GET'; + break; + case "head": + http_method = 'HEAD'; + break; + case "put": + http_method = 'PUT'; + break; + case "options": + http_method = 'OPTIONS'; + break; + case "connect": + http_method = 'CONNECT'; + break; + case "patch": + http_method = 'PATCH'; + break; + case "delete": + http_method = 'DELETE'; + break; + default: + WScript.Echo("Invalid http method passed " + next); + WScript.Echo("possible values are GET,POST,DELETE,PUT,CONNECT,PATCH,HEAD,OPTIONS"); + WScript.Quit(1326); + break; + } + break; + case "-headers-file": + case "-header": + headers = readPropFile(next); + break; + case "-reportfile": + reportfile = next; + break; + //timeouts + case "-sendtimeout": + SEND_TIMEOUT = parseInt(next); + break; + case "-connecttimeout": + CONNECT_TIMEOUT = parseint(next); + break; + case "-resolvetimeout": + RESOLVE_TIMEOUT = parseInt(next); + break; + case "-receivetimeout": + RECEIVE_TIMEOUT = parseInt(next); + break; + + case "-autologonpolicy": + autologon_policy = parseInt(next); + if (autologon_policy > 2 || autologon_policy < 0) { + WScript.Echo("out of autologon policy range"); + WScript.Quit(87); + }; + break; + case "-proxysettings": + proxy_settings = parseInt(next); + if (proxy_settings > 2 || proxy_settings < 0) { + WScript.Echo("out of proxy settings range"); + WScript.Quit(87); + }; + break; + default: + WScript.Echo("Invalid command line switch: " + arg); + WScript.Quit(1405); + break; + } + } catch (err) { + WScript.Echo(err.message); + WScript.Quit(1348); + } + } +} + +stripTrailingSlash = function(path) { + while (path.substr(path.length - 1, path.length) == '\\') { + path = path.substr(0, path.length - 1); + } + return path; +} + +function existsItem(path) { + return FileSystemObj.FolderExists(path) || FileSystemObj.FileExists(path); +} + +function deleteItem(path) { + if (FileSystemObj.FileExists(path)) { + FileSystemObj.DeleteFile(path); + return true; + } else if (FileSystemObj.FolderExists(path)) { + FileSystemObj.DeleteFolder(stripTrailingSlash(path)); + return true; + } else { + return false; + } +} + +//------------------------------- +//---------------------- +//---------- +//----- +//-- +function request(url) { + + try { + + WinHTTPObj.Open(http_method, url, false); + if (proxy != 0 && bypass != 0) { + WinHTTPObj.SetProxy(proxy_settings, proxy, bypass); + } + + if (proxy != 0) { + WinHTTPObj.SetProxy(proxy_settings, proxy); + } + + if (user != 0 && pass != 0) { + WinHTTPObj.SetCredentials(user, pass, HTTPREQUEST_SETCREDENTIALS_FOR_SERVER); + } + + if (proxy_user != 0 && proxy_pass != 0) { + WinHTTPObj.SetCredentials(proxy_user, proxy_pass, HTTPREQUEST_SETCREDENTIALS_FOR_PROXY); + } + + if (certificate != 0) { + WinHTTPObj.SetClientCertificate(certificate); + } + + //set autologin policy + WinHTTPObj.SetAutoLogonPolicy(autologon_policy); + //set timeouts + WinHTTPObj.SetTimeouts(RESOLVE_TIMEOUT, CONNECT_TIMEOUT, SEND_TIMEOUT, RECEIVE_TIMEOUT); + + if (headers.length !== 0) { + WScript.Echo("Sending with headers:"); + for (var i = 0; i < headers.length; i++) { + WinHTTPObj.SetRequestHeader(headers[i][0], headers[i][1]); + WScript.Echo(headers[i][0] + ":" + headers[i][1]); + } + WScript.Echo(""); + } + + if (ua !== "") { + //user-agent option from: + //WinHttpRequestOption enumeration + // other options can be added like bellow + //https://msdn.microsoft.com/en-us/library/windows/desktop/aa384108(v=vs.85).aspx + WinHTTPObj.Option(0) = ua; + } + if (escape) { + WinHTTPObj.Option(3) = true; + } + if (trim(body) === "") { + WinHTTPObj.Send(); + } else { + WinHTTPObj.Send(body); + } + + var status = WinHTTPObj.Status + } catch (err) { + WScript.Echo(err.message); + WScript.Quit(666); + } + + //////////////////////// + // report // + //////////////////////// + + if (reportfile != "") { + + //var report_string=""; + var n = "\r\n"; + var report_string = "Status:" + n; + report_string = report_string + " " + WinHTTPObj.Status; + report_string = report_string + " " + WinHTTPObj.StatusText + n; + report_string = report_string + " " + n; + report_string = report_string + "Response:" + n; + report_string = report_string + WinHTTPObj.ResponseText + n; + report_string = report_string + " " + n; + report_string = report_string + "Headers:" + n; + report_string = report_string + WinHTTPObj.GetAllResponseHeaders() + n; + + WinHttpRequestOption_UserAgentString = 0; // Name of the user agent + WinHttpRequestOption_URL = 1; // Current URL + WinHttpRequestOption_URLCodePage = 2; // Code page + WinHttpRequestOption_EscapePercentInURL = 3; // Convert percents + // in the URL + // rest of the options can be seen and eventually added using this as reference + // https://msdn.microsoft.com/en-us/library/windows/desktop/aa384108(v=vs.85).aspx + + report_string = report_string + "URL:" + n; + report_string = report_string + WinHTTPObj.Option(WinHttpRequestOption_URL) + n; + + report_string = report_string + "URL Code Page:" + n; + report_string = report_string + WinHTTPObj.Option(WinHttpRequestOption_URLCodePage) + n; + + report_string = report_string + "User Agent:" + n; + report_string = report_string + WinHTTPObj.Option(WinHttpRequestOption_UserAgentString) + n; + + report_string = report_string + "Escapped URL:" + n; + report_string = report_string + WinHTTPObj.Option(WinHttpRequestOption_EscapePercentInURL) + n; + + prepareateFile(force, reportfile); + + WScript.Echo("Writing report to " + reportfile); + + writeFile(reportfile, report_string); + + } + + switch (status) { + case 200: + WScript.Echo("Status: 200 OK"); + break; + default: + WScript.Echo("Status: " + status); + WScript.Echo("Status was not OK. More info -> https://en.wikipedia.org/wiki/List_of_HTTP_status_codes"); + } + + //if as binary + if (saveTo.toLowerCase() === "con") { + WScript.Echo(WinHTTPObj.ResponseText); + } + if (saveTo !== "" && saveTo.toLowerCase() !== "con") { + prepareateFile(force, saveTo); + try { + + if (use_stream) { + writeBinFile(saveTo, WinHTTPObj.ResponseStream); + } else { + writeBinFile(saveTo, WinHTTPObj.ResponseBody); + } + + } catch (err) { + WScript.Echo("Failed to save the file as binary.Attempt to save it as text"); + AdoDBObj.Close(); + prepareateFile(true, saveTo); + writeFile(saveTo, WinHTTPObj.ResponseText); + } + } + WScript.Quit(status); +} + +//-- +//----- +//---------- +//---------------------- +//------------------------------- + +function prepareateFile(force, file) { + if (force && existsItem(file)) { + if (!deleteItem(file)) { + WScript.Echo("Unable to delete " + file); + WScript.Quit(8); + } + } else if (existsItem(file)) { + WScript.Echo("Item " + file + " already exist"); + WScript.Quit(9); + } +} + +function writeBinFile(fileName, data) { + AdoDBObj.Type = 1; + AdoDBObj.Open(); + AdoDBObj.Position = 0; + AdoDBObj.Write(data); + AdoDBObj.SaveToFile(fileName, 2); + AdoDBObj.Close(); +} + +function writeFile(fileName, data) { + AdoDBObj.Type = 2; + AdoDBObj.CharSet = "iso-8859-1"; + AdoDBObj.Open(); + AdoDBObj.Position = 0; + AdoDBObj.WriteText(data); + AdoDBObj.SaveToFile(fileName, 2); + AdoDBObj.Close(); +} + + +function readFile(fileName) { + //check existence + try { + if (!FileSystemObj.FileExists(fileName)) { + WScript.Echo("file " + fileName + " does not exist!"); + WScript.Quit(13); + } + if (FileSystemObj.GetFile(fileName).Size === 0) { + return ""; + } + var fileR = FileSystemObj.OpenTextFile(fileName, 1); + var content = fileR.ReadAll(); + fileR.Close(); + return content; + } catch (err) { + WScript.Echo("Error while reading file: " + fileName); + WScript.Echo(err.message); + WScript.Echo("Will return empty string"); + return ""; + } +} + +function readPropFile(fileName) { + //check existence + resultArray = []; + if (!FileSystemObj.FileExists(fileName)) { + WScript.Echo("(headers)file " + fileName + " does not exist!"); + WScript.Quit(15); + } + if (FileSystemObj.GetFile(fileName).Size === 0) { + return resultArray; + } + var fileR = FileSystemObj.OpenTextFile(fileName, 1); + var line = ""; + var k = ""; + var v = ""; + var lineN = 0; + var index = 0; + try { + WScript.Echo("parsing headers form " + fileName + " property file "); + while (!fileR.AtEndOfStream) { + line = fileR.ReadLine(); + lineN++; + index = line.indexOf(":"); + if (line.indexOf("#") === 0 || trim(line) === "") { + continue; + } + if (index === -1 || index === line.length - 1 || index === 0) { + WScript.Echo("Invalid line " + lineN); + WScript.Quit(93); + } + k = trim(line.substring(0, index)); + v = trim(line.substring(index + 1, line.length)); + resultArray.push([k, v]); + } + fileR.Close(); + return resultArray; + } catch (err) { + WScript.Echo("Error while reading headers file: " + fileName); + WScript.Echo(err.message); + WScript.Echo("Will return empty array"); + return resultArray; + } +} + +function trim(str) { + return str.replace(/^\s+/, '').replace(/\s+$/, ''); +} + +function main() { + parseArgs(); + request(url); +} +main(); diff --git a/win_build_libs/_env.bat b/win_build_libs/_env.bat new file mode 100644 index 000000000..8ca4f15ec --- /dev/null +++ b/win_build_libs/_env.bat @@ -0,0 +1,9 @@ +set CurPath=%~dp0 +set DownloadPath=%CurPath%download +set ToolsPath=%CurPath%tools +set TempPath=%CurPath%tmp +set MSYSPath=%CurPath%msys +set LibsPath=%CurPath%libs + +set CurlExe=%ToolsPath%\curl.exe +set SevenZipExe=%ToolsPath%\7z.exe diff --git a/win_build_libs/clean-all.bat b/win_build_libs/clean-all.bat new file mode 100644 index 000000000..740bf9d3e --- /dev/null +++ b/win_build_libs/clean-all.bat @@ -0,0 +1,30 @@ +@setlocal + +@echo off + +:: Initialize environment +call "%~dp0_env.bat" + +::call :remove_dir "%DownloadPath%" +call :remove_dir "%MSYSPath%" +call :remove_dir "%TempPath%" + +call :remove_file "%ToolsPath%\7z.exe" +call :remove_file "%ToolsPath%\7z.dll" +call :remove_file "%ToolsPath%\curl.exe" + +call "%~dp0clean.bat" + +endlocal +exit /B 0 + +:remove_dir +if not exist %1 goto :EOF +del /s /f /q %1 >nul +rmdir /s /q %1 +goto :EOF + +:remove_file +if not exist %1 goto :EOF +del /q %1 >nul +goto :EOF diff --git a/win_build_libs/clean.bat b/win_build_libs/clean.bat new file mode 100644 index 000000000..171130fc2 --- /dev/null +++ b/win_build_libs/clean.bat @@ -0,0 +1,36 @@ +@setlocal + +@echo off + +:: Initialize environment +call "%~dp0_env.bat" + +call :remove_dir "%LibsPath%" + +call :remove_file "%CurPath%bzip2" +call :remove_file "%CurPath%curl" +call :remove_file "%CurPath%ffmpeg" +call :remove_file "%CurPath%libmicrohttpd" +call :remove_file "%CurPath%libxml2" +call :remove_file "%CurPath%libxslt" +call :remove_file "%CurPath%miniupnpc" +call :remove_file "%CurPath%opencv" +call :remove_file "%CurPath%openssl" +call :remove_file "%CurPath%speex" +call :remove_file "%CurPath%speexdsp" +call :remove_file "%CurPath%sqlcipher" +call :remove_file "%CurPath%zlib" + +endlocal +exit /B 0 + +:remove_dir +if not exist %1 goto :EOF +del /s /f /q %1 >nul +rmdir /s /q %1 +goto :EOF + +:remove_file +if not exist %1 goto :EOF +del /q %1 >nul +goto :EOF diff --git a/win_build_libs/update-msys.bat b/win_build_libs/update-msys.bat new file mode 100644 index 000000000..6ecc30eff --- /dev/null +++ b/win_build_libs/update-msys.bat @@ -0,0 +1,16 @@ +@setlocal + +@echo off + +:: Initialize environment +call "%~dp0_env.bat" + +if not exist "%MSYSPath%\bin\mingw-get.exe" exit /B 0 + +echo Update MSYS +pushd "%MSYSPath%\bin" +mingw-get.exe update +mingw-get.exe upgrade +popd + +exit /B %ERRORLEVEL% From 5944f1fea2d1b46cb01b238e341f8a43bd7c7c52 Mon Sep 17 00:00:00 2001 From: thunder2 Date: Mon, 29 Aug 2016 19:08:14 +0200 Subject: [PATCH 155/158] Moved MSYS build scripts to folder build_scripts --- .../Windows/build_libs}/.gitignore | 0 .../Windows/build_libs}/1-prepare.bat | 0 .../Windows/build_libs}/2-install-msys.bat | 0 .../Windows/build_libs}/3-build-libs.bat | 0 .../Windows/build_libs}/Makefile | 2 +- .../Windows/build_libs}/Tools/winhttpjs.bat | 0 .../Windows/build_libs}/_env.bat | 0 .../Windows/build_libs}/clean-all.bat | 0 .../Windows/build_libs}/clean.bat | 0 .../Windows/build_libs}/libxslt-1.1.28-fix.tar.gz | Bin .../Windows/build_libs}/update-msys.bat | 0 11 files changed, 1 insertion(+), 1 deletion(-) rename {win_build_libs => build_scripts/Windows/build_libs}/.gitignore (100%) rename {win_build_libs => build_scripts/Windows/build_libs}/1-prepare.bat (100%) rename {win_build_libs => build_scripts/Windows/build_libs}/2-install-msys.bat (100%) rename {win_build_libs => build_scripts/Windows/build_libs}/3-build-libs.bat (100%) rename {win_build_libs => build_scripts/Windows/build_libs}/Makefile (99%) rename {win_build_libs => build_scripts/Windows/build_libs}/Tools/winhttpjs.bat (100%) rename {win_build_libs => build_scripts/Windows/build_libs}/_env.bat (100%) rename {win_build_libs => build_scripts/Windows/build_libs}/clean-all.bat (100%) rename {win_build_libs => build_scripts/Windows/build_libs}/clean.bat (100%) rename {win_build_libs => build_scripts/Windows/build_libs}/libxslt-1.1.28-fix.tar.gz (100%) rename {win_build_libs => build_scripts/Windows/build_libs}/update-msys.bat (100%) diff --git a/win_build_libs/.gitignore b/build_scripts/Windows/build_libs/.gitignore similarity index 100% rename from win_build_libs/.gitignore rename to build_scripts/Windows/build_libs/.gitignore diff --git a/win_build_libs/1-prepare.bat b/build_scripts/Windows/build_libs/1-prepare.bat similarity index 100% rename from win_build_libs/1-prepare.bat rename to build_scripts/Windows/build_libs/1-prepare.bat diff --git a/win_build_libs/2-install-msys.bat b/build_scripts/Windows/build_libs/2-install-msys.bat similarity index 100% rename from win_build_libs/2-install-msys.bat rename to build_scripts/Windows/build_libs/2-install-msys.bat diff --git a/win_build_libs/3-build-libs.bat b/build_scripts/Windows/build_libs/3-build-libs.bat similarity index 100% rename from win_build_libs/3-build-libs.bat rename to build_scripts/Windows/build_libs/3-build-libs.bat diff --git a/win_build_libs/Makefile b/build_scripts/Windows/build_libs/Makefile similarity index 99% rename from win_build_libs/Makefile rename to build_scripts/Windows/build_libs/Makefile index e1d1cdae4..c53ada54f 100755 --- a/win_build_libs/Makefile +++ b/build_scripts/Windows/build_libs/Makefile @@ -221,6 +221,6 @@ ffmpeg: download/ffmpeg-$(FFMPEG_VERSION).tar.gz copylibs: read -p "Do you want to copy libs to retroshare? (yes|no)" answer; \ if [ "$$answer" = "yes" ] ; then \ - cp -r libs ../../ ; \ + cp -r libs ../../../../ ; \ fi diff --git a/win_build_libs/Tools/winhttpjs.bat b/build_scripts/Windows/build_libs/Tools/winhttpjs.bat similarity index 100% rename from win_build_libs/Tools/winhttpjs.bat rename to build_scripts/Windows/build_libs/Tools/winhttpjs.bat diff --git a/win_build_libs/_env.bat b/build_scripts/Windows/build_libs/_env.bat similarity index 100% rename from win_build_libs/_env.bat rename to build_scripts/Windows/build_libs/_env.bat diff --git a/win_build_libs/clean-all.bat b/build_scripts/Windows/build_libs/clean-all.bat similarity index 100% rename from win_build_libs/clean-all.bat rename to build_scripts/Windows/build_libs/clean-all.bat diff --git a/win_build_libs/clean.bat b/build_scripts/Windows/build_libs/clean.bat similarity index 100% rename from win_build_libs/clean.bat rename to build_scripts/Windows/build_libs/clean.bat diff --git a/win_build_libs/libxslt-1.1.28-fix.tar.gz b/build_scripts/Windows/build_libs/libxslt-1.1.28-fix.tar.gz similarity index 100% rename from win_build_libs/libxslt-1.1.28-fix.tar.gz rename to build_scripts/Windows/build_libs/libxslt-1.1.28-fix.tar.gz diff --git a/win_build_libs/update-msys.bat b/build_scripts/Windows/build_libs/update-msys.bat similarity index 100% rename from win_build_libs/update-msys.bat rename to build_scripts/Windows/build_libs/update-msys.bat From 5241a7d4c085dcee14a72b62d690a2009ac11cd6 Mon Sep 17 00:00:00 2001 From: defnax Date: Tue, 30 Aug 2016 17:18:27 +0200 Subject: [PATCH 156/158] Added last icon changes for transfers page --- .../src/gui/FileTransfer/TransfersDialog.cpp | 6 +- .../src/gui/FileTransfer/TransfersDialog.ui | 20 ++- retroshare-gui/src/gui/SharedFilesDialog.cpp | 2 +- retroshare-gui/src/gui/SharedFilesDialog.ui | 25 ++- retroshare-gui/src/gui/help/licence.html | 2 + retroshare-gui/src/gui/icons.qrc | 5 + retroshare-gui/src/gui/icons/svg/download.svg | 53 +++++++ retroshare-gui/src/gui/icons/svg/folders.svg | 142 ++++++++++++++++++ retroshare-gui/src/gui/icons/svg/folders1.svg | 56 +++++++ .../src/gui/icons/svg/magnifying-glass.svg | 63 ++++++++ retroshare-gui/src/gui/icons/svg/upload.svg | 53 +++++++ 11 files changed, 416 insertions(+), 11 deletions(-) create mode 100644 retroshare-gui/src/gui/icons/svg/download.svg create mode 100644 retroshare-gui/src/gui/icons/svg/folders.svg create mode 100644 retroshare-gui/src/gui/icons/svg/folders1.svg create mode 100644 retroshare-gui/src/gui/icons/svg/magnifying-glass.svg create mode 100644 retroshare-gui/src/gui/icons/svg/upload.svg diff --git a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp index 3a7f5cf61..b9dee9b28 100644 --- a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp +++ b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp @@ -76,7 +76,7 @@ #define IMAGE_PRIORITYNORMAL ":/images/prioritynormal.png" #define IMAGE_PRIORITYHIGH ":/images/priorityhigh.png" #define IMAGE_PRIORITYAUTO ":/images/priorityauto.png" -#define IMAGE_SEARCH ":/images/filefind.png" +#define IMAGE_SEARCH ":/icons/svg/magnifying-glass.svg" #define IMAGE_EXPAND ":/images/edit_add24.png" #define IMAGE_COLLAPSE ":/images/edit_remove24.png" #define IMAGE_LIBRARY ":/images/library.png" @@ -84,8 +84,8 @@ #define IMAGE_COLLMODIF ":/images/library_edit.png" #define IMAGE_COLLVIEW ":/images/library_view.png" #define IMAGE_COLLOPEN ":/images/library.png" -#define IMAGE_FRIENDSFILES ":/images/fileshare16.png" -#define IMAGE_MYFILES ":images/my_documents_16.png" +#define IMAGE_FRIENDSFILES ":/icons/svg/folders.svg" +#define IMAGE_MYFILES ":icons/svg/folders1.svg" #define IMAGE_RENAMEFILE ":images/filecomments.png" #define IMAGE_STREAMING ":images/streaming.png" diff --git a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.ui b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.ui index d723f23d1..9f7d6bcdd 100644 --- a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.ui +++ b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.ui @@ -120,13 +120,19 @@ 0 + + + 20 + 20 + + false - - :/images/down.png:/images/down.png + + :/icons/svg/download.svg:/icons/svg/download.svg Downloads @@ -215,6 +221,12 @@ 0 + + + 20 + 20 + + Qt::ElideNone @@ -232,8 +244,8 @@ - - :/images/uploads.png:/images/uploads.png + + :/icons/svg/upload.svg:/icons/svg/upload.svg Uploads diff --git a/retroshare-gui/src/gui/SharedFilesDialog.cpp b/retroshare-gui/src/gui/SharedFilesDialog.cpp index c3bf94d5a..c3b710309 100644 --- a/retroshare-gui/src/gui/SharedFilesDialog.cpp +++ b/retroshare-gui/src/gui/SharedFilesDialog.cpp @@ -65,7 +65,7 @@ #define IMAGE_COLLVIEW ":/images/library_view.png" #define IMAGE_COLLOPEN ":/images/library.png" #define IMAGE_EDITSHARE ":/images/edit_16.png" -#define IMAGE_MYFILES ":images/my_documents_22.png" +#define IMAGE_MYFILES ":/icons/svg/folders1.svg" /*define dirTreeView Column */ #define COLUMN_NAME 0 diff --git a/retroshare-gui/src/gui/SharedFilesDialog.ui b/retroshare-gui/src/gui/SharedFilesDialog.ui index 04eb69fc8..25f9337fa 100644 --- a/retroshare-gui/src/gui/SharedFilesDialog.ui +++ b/retroshare-gui/src/gui/SharedFilesDialog.ui @@ -29,7 +29,16 @@ QFrame::Sunken - + + 2 + + + 2 + + + 2 + + 2 @@ -44,7 +53,7 @@ - :/images/fileshare24.png + :/icons/svg/folders.svg true @@ -294,7 +303,16 @@ border-image: url(:/images/closepressed.png) QFrame::Raised - + + 0 + + + 0 + + + 0 + + 0 @@ -346,6 +364,7 @@ border-image: url(:/images/closepressed.png) + diff --git a/retroshare-gui/src/gui/help/licence.html b/retroshare-gui/src/gui/help/licence.html index cf3f6230b..323d90122 100644 --- a/retroshare-gui/src/gui/help/licence.html +++ b/retroshare-gui/src/gui/help/licence.html @@ -50,6 +50,8 @@ href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html
Icons made by Freepik from www.flaticon.com is licensed by CC 3.0 BY
+
Icons made by Eleonor Wang from www.flaticon.com is licensed by CC 3.0 BY
+

GNU GENERAL PUBLIC LICENSE

diff --git a/retroshare-gui/src/gui/icons.qrc b/retroshare-gui/src/gui/icons.qrc index c0958e29e..df040eb60 100644 --- a/retroshare-gui/src/gui/icons.qrc +++ b/retroshare-gui/src/gui/icons.qrc @@ -1,5 +1,10 @@ + icons/svg/download.svg + icons/svg/folders.svg + icons/svg/folders1.svg + icons/svg/magnifying-glass.svg + icons/svg/upload.svg icons/settings/appearance.svg icons/settings/channels.svg icons/settings/chat.svg diff --git a/retroshare-gui/src/gui/icons/svg/download.svg b/retroshare-gui/src/gui/icons/svg/download.svg new file mode 100644 index 000000000..4cd19ee40 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/download.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/retroshare-gui/src/gui/icons/svg/folders.svg b/retroshare-gui/src/gui/icons/svg/folders.svg new file mode 100644 index 000000000..5f4d64010 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/folders.svg @@ -0,0 +1,142 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/folders1.svg b/retroshare-gui/src/gui/icons/svg/folders1.svg new file mode 100644 index 000000000..c9fdc44c6 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/folders1.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/retroshare-gui/src/gui/icons/svg/magnifying-glass.svg b/retroshare-gui/src/gui/icons/svg/magnifying-glass.svg new file mode 100644 index 000000000..0718ffbb5 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/magnifying-glass.svg @@ -0,0 +1,63 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/retroshare-gui/src/gui/icons/svg/upload.svg b/retroshare-gui/src/gui/icons/svg/upload.svg new file mode 100644 index 000000000..6df1fcf99 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/upload.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + From a899c98d88578155ea472872edeb9c77f762b4ee Mon Sep 17 00:00:00 2001 From: defnax Date: Tue, 30 Aug 2016 17:21:01 +0200 Subject: [PATCH 157/158] update version string --- libretroshare/src/retroshare/rsversion.h | 3 +-- libretroshare/src/retroshare/rsversion.in | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/libretroshare/src/retroshare/rsversion.h b/libretroshare/src/retroshare/rsversion.h index 26cf284a6..105be943f 100644 --- a/libretroshare/src/retroshare/rsversion.h +++ b/libretroshare/src/retroshare/rsversion.h @@ -1,8 +1,7 @@ #define RS_MAJOR_VERSION 0 #define RS_MINOR_VERSION 6 -#define RS_BUILD_NUMBER 0 +#define RS_BUILD_NUMBER 1 #define RS_BUILD_NUMBER_ADD "x" // <-- do we need this? - // The revision number should be the 4 first bytes of the git revision hash, which is obtained using: // git log --pretty="%H" | head -1 | cut -c1-8 // diff --git a/libretroshare/src/retroshare/rsversion.in b/libretroshare/src/retroshare/rsversion.in index 96ab52c89..6c4c3a7bc 100644 --- a/libretroshare/src/retroshare/rsversion.in +++ b/libretroshare/src/retroshare/rsversion.in @@ -1,6 +1,6 @@ #define RS_MAJOR_VERSION 0 #define RS_MINOR_VERSION 6 -#define RS_BUILD_NUMBER 0 +#define RS_BUILD_NUMBER 1 #define RS_BUILD_NUMBER_ADD "" // The revision number should be the 4 first bytes of the git revision hash, which is obtained using: From 53e269838cb03cdff141358c04e72113c0784593 Mon Sep 17 00:00:00 2001 From: cyril soler Date: Wed, 31 Aug 2016 13:24:02 +0200 Subject: [PATCH 158/158] updated ubuntu changelog and version number --- build_scripts/Debian+Ubuntu/changelog | 11 ++++++++++- build_scripts/Debian+Ubuntu/makeSourcePackage.sh | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/build_scripts/Debian+Ubuntu/changelog b/build_scripts/Debian+Ubuntu/changelog index 03878cf56..6230d6c4b 100644 --- a/build_scripts/Debian+Ubuntu/changelog +++ b/build_scripts/Debian+Ubuntu/changelog @@ -1,4 +1,13 @@ -retroshare06 (0.6.0-1.XXXXXX~YYYYYY) YYYYYY; urgency=low +retroshare06 (0.6.1-1.XXXXXX~YYYYYY) YYYYYY; urgency=low + + Release of version 0.6.1. + * See detailed logs: https://github.com/RetroShare/RetroShare/blob/master/build_scripts/Debian%2BUbuntu/changelog + * Release blog post: https://retroshareteam.wordpress.com + * Website: https://github.com/Retroshare/Retroshare/releases + + -- Cyril Soler Wed, 31 Aug 2016 12:00:00 +0100 + +retroshare06 (0.6.0-1.20160818.b9ac4f87) xenial; urgency=low 9780f1f Phenom Mon, 15 Aug 2016 12:00:44 +0200 Add AutoHide to RSImageBlockWidget 368a429 csoler Wed, 17 Aug 2016 09:40:16 +0200 fixed read_125Size and write_125Size according to RFC4880 diff --git a/build_scripts/Debian+Ubuntu/makeSourcePackage.sh b/build_scripts/Debian+Ubuntu/makeSourcePackage.sh index a85b648ac..71b4dd070 100755 --- a/build_scripts/Debian+Ubuntu/makeSourcePackage.sh +++ b/build_scripts/Debian+Ubuntu/makeSourcePackage.sh @@ -1,7 +1,7 @@ #!/bin/sh ###################### PARAMETERS #################### -version="0.6.0" +version="0.6.1" gitpath="https://github.com/RetroShare/RetroShare.git" workdir=retroshare06-${version} #bubba3="Y" # comment out to compile for bubba3 @@ -47,7 +47,7 @@ while [ ${#} -gt 0 ]; do done if test "${dist}" = "" ; then - dist="precise trusty vivid wily xenial" + dist="precise trusty vivid wily xenial wheezy squeeze jessie stretch" fi echo Attempting to get revision number...